Skip to main content

Obol Validator

POST /v1/user/obol/operator/register

Request verification for Obol operator registration.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/register?operatorAddress=0x1234567890123456789012345678901234567890"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)

Response Body

NameTypeDescription
availablebooleanWhether the operator address is available for registration
messageToSignstringMessage to sign for verification

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format

POST /v1/user/obol/operator/deregister

Deregister an Obol operator.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/deregister?operatorAddress=0x1234567890123456789012345678901234567890"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)

Response Body

NameTypeDescription
successbooleanOperation success status

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format

POST /v1/user/obol/operator/verify

Verify Obol operator signature and complete registration.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/verify?operatorAddress=0x1234567890123456789012345678901234567890&signature=0x1234567890abcdef&autoImport=1"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)
signatureYESstringSignature of the message to sign (hex format)
autoImportNObooleanWhether to automatically import cluster definitions (default: false)

Response Body

NameTypeDescription
operatorobjectRegistered operator object
└ operatorIdintegerUnique operator ID
└ userIdintegerUser ID associated with the operator
└ addressstringOperator address (hex format)
└ ofacbooleanOFAC compliance status
└ accountIdintegerAssociated account ID
└ collateralPerSlotstringCollateral per slot amount
└ validatorKeystringValidator key (if any)
└ clusterIdintegerCluster ID (if any)

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format
OBOL_OPERATOR_INVALID_SIGNATUREInvalid signature format or verification failed

POST /v1/user/obol/operator/refresh

Refresh Obol operator cluster definitions.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/refresh?operatorAddress=0x1234567890123456789012345678901234567890"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)

Response Body

NameTypeDescription
clustersobjectMap of cluster definitions
└ [clusterKey]objectCluster definition object
└└ clusterIdintegerUnique cluster ID
└└ configstringCluster configuration (hex format)
└└ operatorsstring[]List of operator addresses
└└ distributedValidatorKeysstring[]List of distributed validator keys

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format

GET /v1/user/obol/operators

List all Obol operators for the current user.

curl -H "Authorization: Bearer {{access_token}}" -X GET "$ETHGAS_API_URL/v1/user/obol/operators"

Request

No parameters required.

Response Body

NameTypeDescription
operatorsobject[]List of operator objects
└ operatorIdintegerUnique operator ID
└ userIdintegerUser ID associated with the operator
└ addressstringOperator address (hex format)
└ ofacbooleanOFAC compliance status
└ accountIdintegerAssociated account ID
└ collateralPerSlotstringCollateral per slot amount
└ validatorKeystringValidator key (if any)
└ clusterIdintegerCluster ID (if any)

GET /v1/user/obol/operator/validators

List validators for a specific Obol operator.

curl -H "Authorization: Bearer {{access_token}}" -X GET "$ETHGAS_API_URL/v1/user/obol/operator/validators?operatorAddress=0x1234567890123456789012345678901234567890"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)

Response Body

NameTypeDescription
validatorsstring[]List of validator public keys (hex format)

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format

POST /v1/user/obol/operator/validator/register

Register validators with an Obol operator.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/validator/register?operatorAddress=0x1234567890123456789012345678901234567890&publicKeys=0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890,0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)
publicKeysYESstringComma-separated validator public keys (hex, max 100)

Response Body

NameTypeDescription
addedstring[]List of successfully added validator public keys

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format
OBOL_VALIDATORS_REQUIREDAt least one validator public key is required
OBOL_VALIDATORS_INVALIDInvalid validator public key format
VALIDATORS_MAXMaximum 100 validators allowed per request

POST /v1/user/obol/operator/validator/deregister

Deregister validators from an Obol operator.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/validator/deregister?operatorAddress=0x1234567890123456789012345678901234567890&publicKeys=0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"

Request

ParameterRequiredTypeDescription
operatorAddressYESstringObol operator address (hex format)
publicKeysYESstringComma-separated validator public keys (hex, max 100)

Response Body

NameTypeDescription
removedstring[]List of successfully removed validator public keys

Error Codes

CodeDescription
OBOL_OPERATOR_INVALID_ADDRESSInvalid operator address format
OBOL_VALIDATORS_REQUIREDAt least one validator public key is required
OBOL_VALIDATORS_INVALIDInvalid validator public key format
VALIDATORS_MAXMaximum 100 validators allowed per request

POST /v1/user/obol/operator/validator/update/ofac

Update OFAC flag for Obol validators.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/obol/operator/validator/update/ofac?publicKeys=0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890&ofac=true"

Request

ParameterRequiredTypeDescription
publicKeysNOstringComma-separated validator public keys (hex, max 100). If not provided, updates all for user
ofacYESbooleanOFAC compliance flag

Response Body

NameTypeDescription
successbooleanOperation success status

Error Codes

CodeDescription
INVALID_PUBLIC_KEYInvalid validator public key format
VALIDATORS_MAXMaximum 100 validators allowed per request