Get an ObolValidatorManager (OVM) in one call
Changed onProvenance (CreateObolValidatorManager from the network OVM factory), state (one Multicall3 read), role holders (RolesUpdated candidates, rolesOf at the same block), the 0xSplits v2 params of its recipients (verified against splitHash) and the validators whose credentials point at it. Every chain read is made at blockNumber. Amounts are wei decimal strings; addresses checksummed. Validators come from the goteth registry snapshot in ClickHouse (daily), the beacon registry past it and the pending deposit queue, with current status from the head state. Roles, splits and validators are only read for a verified Obol OVM (provenance obol); for any other contract they are null and only provenance and state are returned. Sections that could not be read are null and explained in notes. An address without code is 200 with provenance notObol. Complete answers, and answers for notObol addresses, are cached for one slot; answers with a section that could not be read are not cached.
Request
- Base URLhttps://api.obol.tech
- Authnone declared
Path parameters
The network of the OVM
The OVM address
Response
The OVM
Example response
{
"address": "0x8019384Ddf091154D6cfFA8E7f09542B39E2273f",
"network": "hoodi",
"blockNumber": 3854924,
"provenance": {
"status": "obol",
"factoryAddress": "0x5754C8665B7e7BF15E83fCdF6d9636684B782b12",
"creationTxHash": "0x176d60d40d1825d817941d59811a25c94b98c55a1c7763dccc9635ad6601c0a7",
"creationBlock": 3807521,
"reason": "CreateObolValidatorManager event found"
},
"principalThreshold": "16000000000000000000",
"amountOfPrincipalStake": "64000000000000000000",
"fundsPendingWithdrawal": "0",
"balance": "1250000000000000000",
"version": "v1.0.0",
"pullBalances": {
"principalRecipient": "0",
"rewardRecipient": "0"
},
"roles": [
{
"address": "0x8a3bE1b1F4e2b6C5bC0dC5Bf1d1e6A1a8D1d5E2F",
"roles": "33",
"roleNames": [
"WITHDRAWAL",
"DEPOSIT"
],
"grantedAtBlock": 3807530,
"grantedAtTimestamp": 1760000000
}
],
"splits": [
{
"address": "0x1c5F4E4e2f1D5ab6E1bB0A9c7A4B4D5e6F7a8B9C",
"kind": "reward",
"splitHash": "0x9f5a0c0d4c5ea9f4b1c0b1a7a1e2c3d4e5f60718293a4b5c6d7e8f9012345678",
"recipients": [
"0x1111111111111111111111111111111111111111"
],
"allocations": [
"1000000"
],
"totalAllocation": "1000000",
"source": "SplitCreated"
}
],
"validators": [
{
"pubkey": "0xabababababababababababababababababababababababababababababababababababababababababababababababab",
"index": 123456,
"status": "active",
"beaconStatus": "active_ongoing",
"balance": "32001234567000000000",
"effectiveBalance": "32000000000000000000",
"withdrawalCredentials": "0x0200000000000000000000008019384ddf091154d6cffa8e7f09542b39e2273f",
"lockHash": "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd",
"clusterName": "My Obol Cluster"
}
],
"notes": [
"principalOnBeaconChain is null: processed deposits are not indexed"
]
}Changes
- info
added the media type
application/jsonfor the response with the status - info
added the media type
application/jsonfor the response with the status - info
added the media type
application/jsonfor the response with the status - info
added the media type
application/jsonfor the response with the status
- info
- info
endpoint added
- info