Obol API (v1.0.0-local)
Download OpenAPI specification:Download
This API is for creating and managing Distributed Validators. This API works in tandem with Obol's Distributed Validator Launchpad, a dapp designed to allow people to authenticate their counterparties and agree to the terms of a Distributed Validator Cluster. This API will be made more easy for code-only interaction in the coming quarters with the release of the Obol-SDK.
Read more about Obol and how to use the launchpad on our docs site.
For enquiries:
Retrieve a Distributed Validator Cluster proposal
This endpoint allows a charon client or launchpad interface to retrieve the terms of a proposed DKG. Once all operators listed in the DKG have submitted signed approvals to the terms, this object will be ready for a cluster of operators to use as part of a DKG ceremony. If the objects in the operators array are not fully populated, these operators need to use the PUT request to upload their charon client's public key and a signature from their address to indicate their acceptance of the terms.
path Parameters
| configHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}Accept a proposed Distributed Validator Cluster
This endpoint is used by the operators present in the operators array of a cluster definition. 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.
Authorizations:
path Parameters
| configHash required  | string  The   | 
header Parameters
| authorization required  | string  EIP712 operator hash as bearer token  | 
Request Body schema: application/jsonrequired
| address required  | string  Ethereum address of Operator.  | 
| enr required  | string   | 
| fork_version required  | string  Enum: "mainnet" "0x00000000" "goerli" "0x00001020" "gnosis" "0x00000064" "sepolia" "0x90000069" "holesky" "0x01017000"    | 
| version required  | string   | 
| enr_signature required  | string   | 
| config_signature required  | string   | 
Responses
Request samples
- Payload
 
{- "address": "0x000000000000000000000000000000000000dead",
 - "enr": "enr://5fb90badb37c5821b6d95526a41a9504680b4e7c8b763a1b1d49d4955c848621",
 - "fork_version": "0x00001020",
 - "version": "v1.8.0",
 - "enr_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
}Response samples
- 200
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}Retrieve a list of cluster definitions which the address belongs to.
This endpoint allows a charon client or launchpad interface to fetch a specific number of cluster definitions which the address is part of for each page.
path Parameters
| address required  | string  The operator address  | 
query Parameters
| page required  | number   | 
| limit required  | number   | 
Responses
Response samples
- 200
 
{- "cluster_definitions": [
- {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
} 
], - "total_count": 2,
 - "total_pages": 3
 
}Propose a new Distributed Validator Cluster
This endpoint allows the caller to propose a distributed key generation ceremony. The caller must specify the configuration of a Distributed Validator Cluster; such as the participating operators and the validator exit details. Operators invited to participate in this cluster must submit a public key (in ENR form) to serve as their node's identity, along with EIP712 signatures indicating their acceptance of the terms of this cluster.
Authorizations:
header Parameters
| authorization required  | string  EIP712 cluster definition hash as bearer token  | 
Request Body schema: application/jsonrequired
| name required  | string   | 
required  | Array of objects (OperatorDto)   operator data.  | 
required  | Array of objects (CreatorDto)   creator data.  | 
| uuid required  | string   | 
| version required  | string   | 
| num_validators required  | number  >= 1    | 
| threshold required  | number  >= 1    | 
| dkg_algorithm required  | string  Enum: "frost" "keycast" "default"    | 
| fork_version required  | string  Enum: "mainnet" "0x00000000" "goerli" "0x00001020" "gnosis" "0x00000064" "sepolia" "0x90000069" "holesky" "0x01017000"    | 
| timestamp required  | string   | 
required  | Array of objects (ClusterDefValidator)   validator withdrawal configuration.  | 
| deposit_amounts required  | Array of strings  partial deposits.  | 
| config_hash required  | string   | 
Responses
Request samples
- Payload
 
{- "name": "My Obol Cluster",
 - "operators": [
- {
- "address": "0x000000000000000000000000000000000000dead",
 - "enr": "enr://5fb90badb37c5821b6d95526a41a9504680b4e7c8b763a1b1d49d4955c848621",
 - "fork_version": "0x00001020",
 - "version": "v1.8.0",
 - "enr_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
} 
], - "creator": [
- {
- "address": "0x000000000000000000000000000000000000dead",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
} 
], - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "version": "v1.8.0",
 - "num_validators": 5,
 - "threshold": 3,
 - "dkg_algorithm": "default",
 - "fork_version": "0x00001020",
 - "timestamp": "2022-07-19T18:19:58+02:00",
 - "validators": [
- {
- "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead"
 
} 
], - "deposit_amounts": [
- "string"
 
], - "config_hash": "0x29b0223beea5f4f74391f445d15afd4294040374f6924b98cbf8713f8d962d7c"
 
}Response samples
- 201
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}Retrieve a Distributed Validator Cluster proposal
This endpoint allows a charon client or launchpad interface to retrieve the terms of a proposed DKG. Once all operators listed in the DKG have submitted signed approvals to the terms, this object will be ready for a cluster of operators to use as part of a DKG ceremony. If the objects in the operators array are not fully populated, these operators need to use the PUT request to upload their charon client's public key and a signature from their address to indicate their acceptance of the terms.
path Parameters
| configHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}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.
Authorizations:
path Parameters
| configHash required  | string  The   | 
header Parameters
| authorization required  | string  EIP712 operator hash as bearer token  | 
Request Body schema: application/jsonrequired
| address required  | string  Ethereum address of Operator.  | 
| enr required  | string   | 
| fork_version required  | string  Enum: "mainnet" "0x00000000" "goerli" "0x00001020" "gnosis" "0x00000064" "sepolia" "0x90000069" "holesky" "0x01017000"    | 
| version required  | string   | 
| enr_signature required  | string   | 
| config_signature required  | string   | 
Responses
Request samples
- Payload
 
{- "address": "0x000000000000000000000000000000000000dead",
 - "enr": "enr://5fb90badb37c5821b6d95526a41a9504680b4e7c8b763a1b1d49d4955c848621",
 - "fork_version": "0x00001020",
 - "version": "v1.8.0",
 - "enr_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
}Response samples
- 200
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}Retrieve a list of cluster definitions which the address belongs to.
This endpoint allows a charon client or launchpad interface to fetch a specific number of cluster definitions which the address is part of for each page.
path Parameters
| address required  | string  The operator address  | 
query Parameters
| page required  | number   | 
| limit required  | number   | 
Responses
Response samples
- 200
 
{- "cluster_definitions": [
- {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
} 
], - "total_count": 2,
 - "total_pages": 3
 
}Propose a new Distributed Validator Cluster
This endpoint allows the caller to propose a distributed key generation ceremony.The caller must have accepted the latest version of Obol's terms and conditions. The caller must specify the configuration of a Distributed Validator Cluster; such as the participating operators and the validator exit details. Operators invited to participate in this cluster must submit a public key (in ENR form) to serve as their node's identity, along with EIP712 signatures indicating their acceptance of the terms of this cluster.
Authorizations:
header Parameters
| authorization required  | string  EIP712 cluster definition hash as bearer token  | 
Request Body schema: application/jsonrequired
| name required  | string   | 
required  | Array of objects (OperatorDto)   operator data.  | 
required  | Array of objects (CreatorDto)   creator data.  | 
| uuid required  | string   | 
| version required  | string   | 
| num_validators required  | number  >= 1    | 
| threshold required  | number  >= 1    | 
| dkg_algorithm required  | string  Enum: "frost" "keycast" "default"    | 
| fork_version required  | string  Enum: "mainnet" "0x00000000" "goerli" "0x00001020" "gnosis" "0x00000064" "sepolia" "0x90000069" "holesky" "0x01017000"    | 
| timestamp required  | string   | 
required  | Array of objects (ClusterDefValidator)   validator withdrawal configuration.  | 
| deposit_amounts required  | Array of strings  partial deposits.  | 
| config_hash required  | string   | 
Responses
Request samples
- Payload
 
{- "name": "My Obol Cluster",
 - "operators": [
- {
- "address": "0x000000000000000000000000000000000000dead",
 - "enr": "enr://5fb90badb37c5821b6d95526a41a9504680b4e7c8b763a1b1d49d4955c848621",
 - "fork_version": "0x00001020",
 - "version": "v1.8.0",
 - "enr_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
} 
], - "creator": [
- {
- "address": "0x000000000000000000000000000000000000dead",
 - "config_signature": "0x1199fc4440aa7929905ec171ed1dad82a9f6a89891193b2b4cf45937a8cf9ece4972e02bc7e23d8b8b2e550b6430693ac6bc8c82a0509f65d0abb34d7ae0a8a81c"
 
} 
], - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "version": "v1.8.0",
 - "num_validators": 5,
 - "threshold": 3,
 - "dkg_algorithm": "default",
 - "fork_version": "0x00001020",
 - "timestamp": "2022-07-19T18:19:58+02:00",
 - "validators": [
- {
- "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead"
 
} 
], - "deposit_amounts": [
- "string"
 
], - "config_hash": "0x29b0223beea5f4f74391f445d15afd4294040374f6924b98cbf8713f8d962d7c"
 
}Response samples
- 201
 
{- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}Retrieve a Distributed Validator Cluster Lock Object
This endpoint is used to retrieve a cluster lock object.
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Retrieve a Distributed Validator Cluster Lock Object
This endpoint is used to retrieve a cluster lock object.
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Retrieve a list of Distributed Validator Cluster Lock Objects
This endpoint is used to search for Cluster Lock Objects that match a substring of their lock_hash.
path Parameters
| network required  | string   Examples: 
 The network to retrieve clusters on  | 
query Parameters
| partialLockHash required  | string  A substring of the   | 
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Retrieve a list of Distributed Validator Cluster Lock Objects
This endpoint is used to search for Cluster Lock Objects that match a substring of their lock_hash.
path Parameters
| network required  | string   Examples: 
 The network to retrieve clusters on  | 
query Parameters
| partialLockHash required  | string  A substring of the   | 
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Retrieve a Distributed Validator Cluster Lock Object
This endpoint is used to retrieve a cluster lock object by the hash of the configuration used to create it.
path Parameters
| configHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Retrieve a Distributed Validator Cluster Lock Object
This endpoint is used to retrieve a cluster lock object by the hash of the configuration used to create it.
path Parameters
| configHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Retrieve a list of Distributed Validator Clusters for which this address is an operator
This endpoint fetches a number of Distributed Validator Clusters for which the address provided is a node operator.
path Parameters
| address required  | string  The operator address.  | 
query Parameters
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Retrieve a list of Distributed Validator Clusters for which this address is an operator
This endpoint fetches a number of Distributed Validator Clusters for which the address provided is a node operator.
path Parameters
| address required  | string  The operator address.  | 
query Parameters
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Retrieve a list of Distributed Validator Clusters for a given network
This endpoint fetches a number of cluster lock objects for a given network.
path Parameters
| network required  | string   Examples: 
 The network to retrieve clusters on  | 
query Parameters
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
| details required  | string  Default:  "false"  The flag to populate cluster definition information.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Retrieve a list of Distributed Validator Clusters for a given network
This endpoint fetches a number of cluster lock objects for a given network.
path Parameters
| network required  | string   Examples: 
 The network to retrieve clusters on  | 
query Parameters
| page required  | integer  Default:  0  The page number to retrieve.  | 
| limit required  | integer  Default:  100  The number of cluster lock objects to return.  | 
| details required  | string  Default:  "false"  The flag to populate cluster definition information.  | 
Responses
Response samples
- 200
 
{- "cluster_locks": [
- {
- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
} 
], - "total_count": 2,
 - "total_pages": 4
 
}Push Distributed Validator Cluster Lock Data
This endpoint saves cluster lock objects that describe the created Distributed Validator Cluster.
Request Body schema: application/jsonrequired
required  | object  Cluster definition data that was used in dkg to generate cluster lock.  | 
required  | Array of objects (DistributedValidatorDto)   distributed validator keys and deposit data.  | 
| signature_aggregate required  | string   | 
| lock_hash required  | string   | 
| node_signatures required  | Array of strings   | 
Responses
Request samples
- Payload
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- {
- "distributed_public_key": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "public_shares": [
- "string"
 
], - "deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
}, - "builder_registration": {
- "message": {
- "fee_recipient": "0x86B8145c98e5BD25BA722645b15eD65f024a87EC",
 - "gas_limit": 30000000,
 - "timestamp": 1616508000,
 - "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6"
 
}, - "signature": "0x851e4f196b7e7bda6429b94cceb92d480f53fa9753e1d6c830ff2706acb8cd866d81d5533db7dcfac1dc9d00a16e5e4801d33f36bdf1c2a2003e1c586466109e7851c79179b2c46d69c53c4a59e361d2727186a7e72bbd11debad1f2fae6f97d"
 
}, - "partial_deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
} 
} 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "0xe6e531be7bbf6cee37d80ab489ade6491469e10743d3c1496a3e66fe989eb4c100c260eaee4ef1aa08fdb79ea05bb8c12970dec1a296abe627ac25a2515373b301"
 
] 
}Response samples
- 201
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Push Distributed Validator Cluster Lock Data
This endpoint saves cluster lock objects that describe the created Distributed Validator Cluster.
Request Body schema: application/jsonrequired
required  | object  Cluster definition data that was used in dkg to generate cluster lock.  | 
required  | Array of objects (DistributedValidatorDto)   distributed validator keys and deposit data.  | 
| signature_aggregate required  | string   | 
| lock_hash required  | string   | 
| node_signatures required  | Array of strings   | 
Responses
Request samples
- Payload
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- {
- "distributed_public_key": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "public_shares": [
- "string"
 
], - "deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
}, - "builder_registration": {
- "message": {
- "fee_recipient": "0x86B8145c98e5BD25BA722645b15eD65f024a87EC",
 - "gas_limit": 30000000,
 - "timestamp": 1616508000,
 - "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6"
 
}, - "signature": "0x851e4f196b7e7bda6429b94cceb92d480f53fa9753e1d6c830ff2706acb8cd866d81d5533db7dcfac1dc9d00a16e5e4801d33f36bdf1c2a2003e1c586466109e7851c79179b2c46d69c53c4a59e361d2727186a7e72bbd11debad1f2fae6f97d"
 
}, - "partial_deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
} 
} 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "0xe6e531be7bbf6cee37d80ab489ade6491469e10743d3c1496a3e66fe989eb4c100c260eaee4ef1aa08fdb79ea05bb8c12970dec1a296abe627ac25a2515373b301"
 
] 
}Response samples
- 201
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- { }
 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "string"
 
] 
}Verify Distributed Validator Cluster Lock Data
This endpoint verifies cluster lock data including BLS public keys and signatures created during the DKG phase.
Request Body schema: application/jsonrequired
required  | object  Cluster definition data that was used in dkg to generate cluster lock.  | 
required  | Array of objects (DistributedValidatorDto)   distributed validator keys and deposit data.  | 
| signature_aggregate required  | string   | 
| lock_hash required  | string   | 
| node_signatures required  | Array of strings   | 
Responses
Request samples
- Payload
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- {
- "distributed_public_key": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "public_shares": [
- "string"
 
], - "deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
}, - "builder_registration": {
- "message": {
- "fee_recipient": "0x86B8145c98e5BD25BA722645b15eD65f024a87EC",
 - "gas_limit": 30000000,
 - "timestamp": 1616508000,
 - "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6"
 
}, - "signature": "0x851e4f196b7e7bda6429b94cceb92d480f53fa9753e1d6c830ff2706acb8cd866d81d5533db7dcfac1dc9d00a16e5e4801d33f36bdf1c2a2003e1c586466109e7851c79179b2c46d69c53c4a59e361d2727186a7e72bbd11debad1f2fae6f97d"
 
}, - "partial_deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
} 
} 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "0xe6e531be7bbf6cee37d80ab489ade6491469e10743d3c1496a3e66fe989eb4c100c260eaee4ef1aa08fdb79ea05bb8c12970dec1a296abe627ac25a2515373b301"
 
] 
}Verify Distributed Validator Cluster Lock Data
This endpoint verifies cluster lock data including BLS public keys and signatures created during the DKG phase.
Request Body schema: application/jsonrequired
required  | object  Cluster definition data that was used in dkg to generate cluster lock.  | 
required  | Array of objects (DistributedValidatorDto)   distributed validator keys and deposit data.  | 
| signature_aggregate required  | string   | 
| lock_hash required  | string   | 
| node_signatures required  | Array of strings   | 
Responses
Request samples
- Payload
 
{- "cluster_definition": {
- "name": "My Obol Cluster",
 - "uuid": "0194FDC2-FA2F-FCC0-41D3-FF12045B73C8",
 - "creator": { },
 - "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",
 - "validators": [
- { }
 
], - "deposit_amounts": [
- "8000000000",
 - "16000000000",
 - "8000000000"
 
], - "definition_hash": "0xb656f5a4a5537b5817d6bcf735d043f17f5aff568b1a7ec9102a9f687bd4510c",
 - "fee_recipient_address": "0x000000000000000000000000000000000000dead",
 - "withdrawal_address": "0x000000000000000000000000000000000000dead",
 - "operators": [
- { }
 
] 
}, - "distributed_validators": [
- {
- "distributed_public_key": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "public_shares": [
- "string"
 
], - "deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
}, - "builder_registration": {
- "message": {
- "fee_recipient": "0x86B8145c98e5BD25BA722645b15eD65f024a87EC",
 - "gas_limit": 30000000,
 - "timestamp": 1616508000,
 - "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6"
 
}, - "signature": "0x851e4f196b7e7bda6429b94cceb92d480f53fa9753e1d6c830ff2706acb8cd866d81d5533db7dcfac1dc9d00a16e5e4801d33f36bdf1c2a2003e1c586466109e7851c79179b2c46d69c53c4a59e361d2727186a7e72bbd11debad1f2fae6f97d"
 
}, - "partial_deposit_data": {
- "pubkey": "0xb51336c31c4f0cc365d6c7b5d8ff1b4b7d4cf7c70163f9fd51a2badc854f5e29823fa11e3d7749d207807867149508d6",
 - "withdrawal_credentials": "0x01000000000000000000000086b8145c98e5bd25ba722645b15ed65f024a87ec",
 - "amount": "32000000000",
 - "deposit_data_root": "5e58a5d8f1e53479343cb6188f061f6b1a46c521c53eef0580b04f485ad62bad",
 - "signature": "0x88fe84889608a8b2424bddae2047d2ee4b42f72c4d8201d69e732d7c3bfa1bcb00f930979770b7d00071673fde8f205108dabe8d83ec49aa6de1b7869966b555be80a159e6ad11e273c4e0234038cfa525923044d6a89a4924fdc178f333568b"
 
} 
} 
], - "signature_aggregate": "0x85650c30ec29a3703934bf50a28da102975deda77e758579ea3dfe4136abf752",
 - "lock_hash": "0xd2880980169ee4a0000f23feb8fad9a6c70f38312956fe67aa89e118f5b0e048",
 - "node_signatures": [
- "0xe6e531be7bbf6cee37d80ab489ade6491469e10743d3c1496a3e66fe989eb4c100c260eaee4ef1aa08fdb79ea05bb8c12970dec1a296abe627ac25a2515373b301"
 
] 
}Retrieve the Validator states for a cluster
This endpoint is used to retrieve the states of all validators in a DV Cluster
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "index": "12345",
 - "status": "active_ongoing",
 - "balance": "32",
 - "0x000000000000000000000000000000": {
- "index": "0",
 - "status": "active_ongoing",
 - "balance": "32"
 
} 
}Retrieve the Validator states for a cluster
This endpoint is used to retrieve the states of all validators in a DV Cluster
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "index": "12345",
 - "status": "active_ongoing",
 - "balance": "32",
 - "0x000000000000000000000000000000": {
- "index": "0",
 - "status": "active_ongoing",
 - "balance": "32"
 
} 
}Retrieve Distributed Validator threshold aggregated signed exit msg
This endpoint is used to retrieve validator exit message
Authorizations:
path Parameters
| validatorPubkey required  | string  The   | 
| shareIdx required  | any  Represents the cluster operatorIndex+1.  | 
| lockHash required  | any  The cluster lockHash.  | 
Responses
Response samples
- 200
 
{ }Retrieve Distributed Validator threshold aggregated signed exit msg
This endpoint is used to retrieve validator exit message
Authorizations:
path Parameters
| validatorPubkey required  | string  The   | 
| shareIdx required  | any  Represents the cluster operatorIndex+1.  | 
| lockHash required  | any  The cluster lockHash.  | 
Responses
Response samples
- 200
 
{ }Push Distributed Validator partial signed exit message
This endpoint saves partial signed exit messages.
path Parameters
| lockHash required  | string  The   | 
Request Body schema: application/jsonrequired
required  | Array of objects (ExitBlobDto)    | 
| share_idx required  | number   | 
| signature required  | string   | 
Responses
Request samples
- Payload
 
{- "partial_exits": [
- {
- "public_key": "0x8b69c67720c909423d7edc5d3a7554e1d1e50f6d7d5f8d18548d68daf424e536afba8b31fbd15df1970ba4af4a7d944c",
 - "signed_exit_message": {
- "message": {
- "epoch": "162304",
 - "validator_index": "42"
 
}, - "signature": ""
 
} 
} 
], - "share_idx": 42,
 - "signature": ""
 
}Push Distributed Validator partial signed exit message
This endpoint saves partial signed exit messages.
path Parameters
| lockHash required  | string  The   | 
Request Body schema: application/jsonrequired
required  | Array of objects (ExitBlobDto)    | 
| share_idx required  | number   | 
| signature required  | string   | 
Responses
Request samples
- Payload
 
{- "partial_exits": [
- {
- "public_key": "0x8b69c67720c909423d7edc5d3a7554e1d1e50f6d7d5f8d18548d68daf424e536afba8b31fbd15df1970ba4af4a7d944c",
 - "signed_exit_message": {
- "message": {
- "epoch": "162304",
 - "validator_index": "42"
 
}, - "signature": ""
 
} 
} 
], - "share_idx": 42,
 - "signature": ""
 
}Retrieve a Distributed Validator Cluster Effectiveness Object
This endpoint is used to retrieve the effectiveness of a cluster by pubkey
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "oneDay": 0,
 - "sevenDay": 0,
 - "thirtyDay": 0,
 - "all": 0
 
}Retrieve a Distributed Validator Cluster Effectiveness Object
This endpoint is used to retrieve the effectiveness of a cluster by pubkey
path Parameters
| lockHash required  | string  The   | 
Responses
Response samples
- 200
 
{- "oneDay": 0,
 - "sevenDay": 0,
 - "thirtyDay": 0,
 - "all": 0
 
}Saves user's approval latest terms and conditions
Saves user's signature to latest Obol's terms and conditions hash and it's version
Authorizations:
header Parameters
| authorization required  | string  EIP712 terms and conditions hash as bearer token  | 
Request Body schema: application/jsonrequired
| address required  | string   | 
| version required  | number   | 
| terms_and_conditions_hash required  | string   | 
Responses
Request samples
- Payload
 
{- "address": "v1.0.0",
 - "version": 1,
 - "terms_and_conditions_hash": ""
 
}Saves user's approval latest terms and conditions
Saves user's signature to latest Obol's terms and conditions hash and it's version
Authorizations:
header Parameters
| authorization required  | string  EIP712 terms and conditions hash as bearer token  | 
Request Body schema: application/jsonrequired
| address required  | string   | 
| version required  | number   | 
| terms_and_conditions_hash required  | string   | 
Responses
Request samples
- Payload
 
{- "address": "v1.0.0",
 - "version": 1,
 - "terms_and_conditions_hash": ""
 
}Retrieve Base techne credential metadata
This endpoint is used to retrieve Base techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Base techne credential metadata
This endpoint is used to retrieve Base techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Bronze techne credential metadata
This endpoint is used to retrieve Bronze techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Bronze techne credential metadata
This endpoint is used to retrieve Bronze techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Silver techne credential metadata
This endpoint is used to retrieve Silver techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Silver techne credential metadata
This endpoint is used to retrieve Silver techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Gold techne credential metadata
This endpoint is used to retrieve Gold techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve Gold techne credential metadata
This endpoint is used to retrieve Gold techne credential metadata
Authorizations:
path Parameters
| index required  | number  The techne index.  | 
Responses
Response samples
- 200
 
{- "description": "Obol Techne Bronze Credential",
 - "name": "Obol Techne - Bronze"
 
}Retrieve the historical contribtions of an address
This endpoint is used to retrieve the contributions given to Obol Public Goods by an address.
path Parameters
| address required  | string  The address to check the contributions for.  | 
query Parameters
| date required  | string <date-time>    | 
Responses
Response samples
- 200
 
{- "address": "string",
 - "contributions": 0,
 - "date": "2019-08-24T14:15:22Z"
 
}Retrieve the contribtions of an address
This endpoint is used to retrieve the contributions given to Obol Public Goods by an address.
path Parameters
| address required  | string  The address to check the contributions for.  | 
Responses
Response samples
- 200
 
{- "address": "string",
 - "contributions": 0,
 - "start_date": "2019-08-24T14:15:22Z",
 - "daily_avg": 0,
 - "last_gain": 0
 
}Retrieve obol techne credentials of an address
This endpoint is used to retrieve obol techne credentials an address owns
path Parameters
| address required  | string  The address to check the techne credentials for.  | 
Responses
Response samples
- 200
 
{- "base": [
- "string"
 
], - "bronze": [
- "string"
 
], - "silver": [
- "string"
 
], - "gold": [
- "string"
 
] 
}