Ethereum

Generate a validator full exit intent message

Changed on

Generates an exit message that a user can sign as part of an exit transaction and submit to the official Ethereum withdrawal smart contract. The response includes the withdrawal contract address for the specified network in the request path.

To successfully submit an exit withdrawal intent, the validator must meet the following conditions:

  • The withdrawal credentials prefix must be either '0x01' or '0x02' and contain the withdrawal address.
  • The validator must be in an active state and have been active for at least 256 epochs.
  • The validator's balance must be greater than '0' Gwei.
  • There must be no pending partial withdrawals with a total sum exceeding '0' Gwei.

Important: A successful transaction to the withdrawal smart contract does not guarantee that the validator will exit on the Consensus Layer (CL), as validator state changes may affect the process. Standard gas fees will apply regardless of the CL outcome.

post/v1/ethereum/{network}/withdrawal-intents/exit

Request

  • Base URL
    https://svc.blockdaemon.com/boss
  • URL
    https://svc.blockdaemon.com/boss/v1/ethereum/{network}/withdrawal-intents/exit
  • Auth
    API key in header X-API-KEY

Request body

withdrawal_addressstring hex required

Hex-encoded Ethereum account or smart contract address.

validatorstring hex required

Public Key of an asymmetric key-pair.

Example request

{
  "withdrawal_address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
  "validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c"
}

Response

Created

withdraw_intent_idstring uuid required

Unique idenifier for a withdrawal intent.

customer_idstring required

Unique identifier for a customer

protocol'ethereum' required

Ethereum protocol

network'mainnet' | 'hoodi' required

Ethereum network

Example response

{
  "withdraw_intent_id": "4ba06e89-8c29-483e-ac36-318de5aa7364",
  "customer_id": "SatoshiNakamoto-xUYJbPw9hw",
  "ethereum": {
    "validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
    "amount": "32000000000",
    "withdrawal_address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
    "withdrawal_credentials": "0x0092c20062cee70389f1cb4fa566a2be5e2319ff43965db26dbaa3ce90b9df99",
    "unsigned_data": "0x91eb7c6836583b3f019eeffd4d0663a996d75f61f93567bd38fa36a78e2f57eb9ba338cbb338a55ccf94171cc9895c400000032000000000",
    "contract_address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
    "estimated_gas": 1001
  }
}

Changes

    • breaking

      the response's property type changed from string to integer, and format from no format to int32 for status

    • breaking

      the response's property type changed from string to integer, and format from no format to int32 for status

    • breaking

      the response's property type changed from string to integer, and format from no format to int32 for status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status