latestOpenAPI 3.0.02026-08-138371125.7 KB

707a88e0b355

Cluster Definition

Accept a proposed Distributed Validator Cluster

This endpoint is used by the operators present in the operators array of a cluster definition. The operator must have accepted the latest version of Obol's terms and conditions. These operators must submit a public key (in ENR form) to serve as their identity during the DKG, along with EIP712 signatures indicating their acceptance of the terms of this DKG.

put/v1/definition/{configHash}

Path parameters

configHashstring required

The config_hash calculated for a cluster definition.

Headers

authorizationstring required

EIP712 operator hash as bearer token

Request body

addressstring required

Ethereum address of Operator.

enrstring required
fork_version'mainnet' | '0x00000000' | 'goerli' | '0x00001020' | 'gnosis' | '0x00000064' | 'sepolia' | '0x90000069' | 'hoodi' | '0x10000910' required
versionstring required
enr_signaturestring required
config_signaturestring required

Example request

{
  "address": "0x000000000000000000000000000000000000dead",
  "enr": "enr://5fb90badb37c5821b6d95526a41a9504680b4e7c8b763a1b1d49d4955c848621",
  "fork_version": "0x00001020",
  "version": "v1.8.0",
  "enr_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c",
  "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
}

Response

The cluster object

namestring required
uuidstring required
creatorCreator required
versionstring required
num_validatorsnumber required
thresholdnumber required
dkg_algorithmstring required
fork_versionstring required
config_hashstring required

config_hash is a 32 bytes SSZ hash of cluster config.

timestampstring required
validatorsValidator[] required
deposit_amountsstring[] required

Partial depoists.

definition_hashstring required

definition_hash is a 32 bytes SSZ hash of cluster config.

fee_recipient_addressstring required

Ethereum address to receive transaction fees.

withdrawal_addressstring required

Ethereum address to receive staked ether.

operatorsOperator[] required
consensus_protocolstring required
target_gas_limitnumber required
compoundingboolean required

Example response

{
  "name": "My Obol Cluster",
  "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
  "version": "v1.8.0",
  "num_validators": 5,
  "threshold": 3,
  "dkg_algorithm": "default",
  "fork_version": "0x00001020",
  "config_hash": "0x2204ba6c238ed2d6a8ff951d4513db993c8d6f8860468391342649bf735a87d7",
  "timestamp": "2022-07-19T18:19:58+02:00",
  "deposit_amounts": [
    "8000000000",
    "16000000000",
    "8000000000"
  ],
  "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
  "fee_recipient_address": "0x000000000000000000000000000000000000dead",
  "withdrawal_address": "0x000000000000000000000000000000000000dead",
  "consensus_protocol": "qbft",
  "target_gas_limit": 36000000,
  "compounding": true
}