---
title: "Generate validator consolidation intent"
method: POST
path: "/v1/ethereum/{network}/consolidation-intents"
tags: ["Ethereum"]
---

# Generate validator consolidation intent

`POST /v1/ethereum/{network}/consolidation-intents`

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.

## Request body

- NewConsolidationIntentEthereum — Required data for Ethereum consolidation intent
  - `source_validator` string, hex, required — Public Key of an asymmetric key-pair.
  - `target_validator` string, hex, required — Public Key of an asymmetric key-pair.

## Response `200`

Intent created successfully

- EthereumConsolidationIntentResponse — Result of a new consolidation intent request.
  - `customer_id` string, required — Unique identifier for a customer
  - `protocol` 'ethereum', required — Ethereum protocol
  - `network` 'mainnet' | 'hoodi', required — Ethereum network
  - `ethereum` ConsolidationIntentEthereum — Ethereum Consolidation intent response
    - `source_validator` string, hex, required — Public Key of an asymmetric key-pair.
    - `target_validator` string, hex, required — Public Key of an asymmetric key-pair.
    - `contract_address` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
    - `unsigned_data` string, base64, required — Generated Ethereum unsigned transaction data

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized
- `500` — Internal server error
- `503` — Insufficient validators available to process Stake Intent request

---

[API](https://skmtc.dev/blockdaemon/apis/staking-api.md) · [All operations](https://skmtc.dev/blockdaemon/apis/staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blockdaemon/staking-api/revisions/f94e296a08a3/schema)
