Consolidations
Returns the EIP-7251 requests carried by the block at the specified slot: validator consolidations and switches to compounding withdrawal credentials.
Both kinds arrive through the same execution-layer contract with the same fields, including a source and a target public key. The consensus layer distinguishes them by whether those keys are equal:
consolidation— the keys differ. The source validator exits and its balance moves to the target, which must already have compounding (0x02) withdrawal credentials.compounding_switch— the keys are identical. Nothing exits and no balance moves; the request only changes that validator’s withdrawal credentials from0x01to0x02.
The type field reports which kind an entry is, so you do not have to compare public keys yourself. Use type_filter to narrow the response to one kind.
Results are anchored to the slot whose block body carried the request. For a consolidation the resulting balance transfer settles later, when the pending consolidation queue drains to it; that settlement slot is reported in stage_history.consensus_layer_processed and is not used for filtering. A compounding switch is applied at inclusion, so both slots are the same.
Consolidations settle at the epoch transition and are reported at the last slot of the epoch, also when that slot was missed or its block was orphaned. For such a slot, stage_history.consensus_layer_processed.block_root is null.
Rejected requests are included. A request rejected at inclusion reached a block but changed no state, so stage_history.consensus_layer_processed is null and, for consolidations, a reject_reason is set.
Because of that delay a past slot’s response is not immutable straight away: a queued consolidation keeps its inclusion slot but gains amount and stage_history.consensus_layer_processed, and flips to completed, long after the slot itself finalized. Cache a slot’s response indefinitely only once no entry in it is queued; entries that are completed or rejected are terminal.
Data is available from the Pectra fork (epoch 364032, first slot 11649024, 7 May 2025) onwards. On mainnet the earliest request observed is in slot 11649029. Slots before Pectra, and slots that carried no such request, return 200 with an empty data array.
The validator filter is optional; if omitted, results include every request in the slot. A validator matches when it is either the source or the target of the request.
You can combine this endpoint with:
- Track consolidations for your own validators across all slots: /api/v2/ethereum/validators/queues/consolidations
- Track compounding switches for your own validators: /api/v2/ethereum/validators/queues/compounding-switches
- Compare the fee in
request.feeagainst every other request submitted in the same execution layer block: /api/v2/ethereum/queues/request-fees
Authorizations
Authorization header with value: Bearer YOUR_TOKEN. Refer to the API Keys section to create your API key.
Body
validator and type_filter are optional in this request body
Cursor value for pagination. See our pagination guide for more details.
Filter results by request type. Pass one or more types as an array to include requests of any of the selected types; omit the field, or pass null or an empty array, to return both consolidations and compounding switches. Accepted values: consolidation, compounding_switch.
The kind of EIP-7251 request. Both kinds are submitted to the same execution-layer contract (0x0000BBdDc7CE488642fb579F8B00f3a590007251) using the same request structure; the consensus layer tells them apart by whether the source and target public keys are equal.
consolidation: source and target are different validators. The source validator exits and its balance is transferred to the target, which must already have compounding (0x02) withdrawal credentials.compounding_switch: source and target are the same validator. Nothing exits and no balance moves between validators; the validator's withdrawal credentials change from0x01to0x02, raising its effective balance ceiling from 32 ETH to 2048 ETH.
consolidation, compounding_switch 
