Skip to main content

SSV Validator

POST /v1/user/ssv/operator/register

Request verification for SSV operator registration.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)

Response Body

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

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format

POST /v1/user/ssv/operator/deregister

Deregister an SSV operator.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)

Response Body

NameTypeDescription
successbooleanOperation success status

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_NOT_REGISTEREDOperator is not registered

POST /v1/user/ssv/operator/verify

Verify SSV operator signature and complete registration.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)
signatureYESstringSignature of the message to sign (hex format)
autoImportNObooleanWhether to automatically import validators (default: false)
syncNObooleanWhether to return validator list in response (default: false)

Response Body

NameTypeDescription
validatorsstring[]List of validator public keys (only returned when sync=true)

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_INVALID_SIGNATUREInvalid signature format or verification failed

POST /v1/user/ssv/operator/verifyByTx

Verify SSV operator registration using an on-chain transaction hash.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/ssv/operator/verifyByTx?ownerAddress=0x1234567890123456789012345678901234567890&txHash=0xabc...&autoImport=1&sync=1"

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)
txHashYESstringTransaction hash (hex)
autoImportNObooleanWhether to automatically import validators (default: false)
syncNObooleanWhether to return validator list in response (default: false)

Response Body

NameTypeDescription
validatorsstring[]List of validator public keys (only returned when sync=true)

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_NOT_REGISTEREDOperator is not registered
SSV_OPERATOR_INVALID_TXTransaction hash is invalid
SSV_OPERATOR_TX_NOT_FOUNDTransaction not found

GET /v1/user/ssv/operators

List all SSV operators for the current user.

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

Request

No parameters required.

Response Body

NameTypeDescription
ssvOperatorsobject[]List of SSV operator objects
└ ownerIdintegerUnique owner ID
└ userIdintegerUser ID associated with the operator
└ ownerAddressstringOperator owner address (hex format)

POST /v1/user/ssv/operator/validator/register

Register validators with an SSV operator. If no publicKeys are provided, it will refresh the validator list from the SSV network.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)
publicKeysNOstringComma-separated validator public keys (hex, max 100). If not provided, refreshes from SSV network

Response Body

NameTypeDescription
validatorsstring[]List of successfully added validator public keys

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_NOT_REGISTEREDOperator is not registered
SSV_VALIDATORS_REQUIREDAt least one validator public key is required
SSV_VALIDATORS_INVALIDInvalid validator public key format
VALIDATORS_MAXMaximum 100 validators allowed per request

POST /v1/user/ssv/operator/validator/deregister

Deregister validators from an SSV operator. If no publicKeys are provided, it will remove all validators for the operator.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)
publicKeysNOstringComma-separated validator public keys (hex, max 100). If not provided, removes all for operator

Response Body

NameTypeDescription
removedstring[]List of successfully removed validator public keys

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_NOT_REGISTEREDOperator is not registered
SSV_VALIDATORS_REQUIREDAt least one validator public key is required
SSV_VALIDATORS_INVALIDInvalid validator public key format
VALIDATORS_MAXMaximum 100 validators allowed per request

GET /v1/user/ssv/operator/validators

List validators for a specific SSV operator.

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

Request

ParameterRequiredTypeDescription
ownerAddressYESstringSSV operator owner address (hex format)

Response Body

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

Error Codes

CodeDescription
SSV_OPERATOR_INVALID_ADDRESSInvalid operator address format
SSV_OPERATOR_NOT_REGISTEREDOperator is not registered

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

Update OFAC flag for SSV validators.

curl -H "Authorization: Bearer {{access_token}}" -X POST "$ETHGAS_API_URL/v1/user/ssv/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
ofacNObooleanOFAC compliance flag (default: false)

Response Body

NameTypeDescription
successbooleanOperation success status

Error Codes

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