v1

latestOpenAPI 3.1.02026-07-24223580832.9 KB
Ethereum

Generate validator consolidation intent

Generates a signed intent message to consolidate validator balances by transferring funds from a source validator to a target validator. This operation enables balance consolidation and can also upgrade withdrawal credentials from Type 1 (0x01) to Type 2 (0x02).

Consolidation Types:

  • Type 1 to Type 2: Upgrades a validator from regular withdrawals (0x01) to compounding (0x02)
  • Type 1 to Type 2: Consolidates funds from a Type 1 validator to an existing Type 2 validator
  • Type 2 to Type 2: Consolidates funds between two Type 2 (compounding) validators

Key Notes:

  • Upgrading from Type 1 to Type 2 is permanent and irreversible.
  • After Type 2 upgrade:
    • Max effective balance (MaxEB) increases to 2048 ETH.
    • Partial withdrawals become available for balances above 32 ETH.
  • Processing may take several days to complete across consensus and execution layers.
  • Consolidation transfers the entire balance from source to target validator.

Prerequisites:

  • Source validator must be active or eligible.
  • Target validator must be active and valid.
  • Source validator must not already use Type 2 withdrawal credentials (for Type 1 to Type 2 upgrades).
  • No conflicting pending operations (e.g., exits, withdrawals).

Costs & Timing:

  • Consolidation requires on-chain transaction; gas fees apply and execution may take hours or days.
post/v1/ethereum/{network}/consolidation-intents

Request body

source_validatorstring hex required

Public Key of an asymmetric key-pair.

target_validatorstring hex required

Public Key of an asymmetric key-pair.

Example request

{
  "source_validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
  "target_validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c"
}

Response

Intent created successfully

customer_idstring required

Unique identifier for a customer

protocol'ethereum' required

Ethereum protocol

network'mainnet' | 'hoodi' required

Ethereum network

Example response

{
  "customer_id": "SatoshiNakamoto-xUYJbPw9hw",
  "ethereum": {
    "source_validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
    "target_validator": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c",
    "contract_address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
    "unsigned_data": "0x91eb7c6836583b3f019eeffd4d0663a996d75f61f93567bd38fa36a78e2f57eb9ba338cbb338a55ccf94171cc9895c400000032000000000"
  }
}