An Ethereum validator is operated with a hot BLS signing key, but the stake behind it is ultimately owned by a different object: the withdrawal credential. EIP-7002 draws a hard line between the two. It adds a path that lets the holder of an execution-layer withdrawal credential request a validator exit or partial withdrawal without first asking the operator for the active key. The change matters most precisely in the arrangements where that distinction used to be invisible.
The split predates the proposal. A validator already had two keys: an active key, kept hot because it signs continuously, and a withdrawal credential, which can stay cold and which owns the staked ETH and its rewards. Before EIP-7002, only the active key could start an exit. For a solo staker holding both, that made no practical difference. For an owner who handed the active key to a provider while keeping the withdrawal credential, it meant the operator’s cooperation became a requirement to leave.
What the request actually contains
The execution-layer call is small: a 48-byte validator public key followed by a uint64 amount. The public key identifies which validator the request concerns, which matters because several validators can share one withdrawal credential. The amount is a separate message field, not the gas value that pays for the transaction.
Authorization comes from the caller, not from the message. The system contract reads the EVM CALLER operation, exposed in Solidity as msg.sender, and requires it to match the 0x01 withdrawal credential recorded in beacon state. Paying gas and submitting someone else’s public key grants no authority over that validator; the address that calls the contract is what the protocol checks.
A request is not an exit, and an exit is not ETH
The safest way to read the mechanism is as a chain of checkpoints. A transaction is submitted. A qualifying call with a sufficient request fee is admitted to a queue. A bounded set of queued messages is dequeued into a block. Consensus then applies its own validation and state-transition rules. Only afterward is there a withdrawal to check separately. Each step answers a narrower question than the next.
The specification makes the gap explicit: consensus processing of a request “can fail validations (e.g. validator is already exited) without the block failing.” A green transaction receipt therefore proves execution success, not that the validator transitioned or that any ETH arrived. Those are different events connected by the protocol, not a single event.
Sixteen and two are different limits
The specification sets a maximum of 16 withdrawal requests dequeued into a block and a target of two. The maximum bounds how much request-processing load passes to consensus in one block. The target feeds a dynamic fee that rises as excess demand accumulates, making sustained abuse increasingly expensive. Neither number promises that 16 validators exited, that two exit each block, or how long any single request will wait.
Two costs, and overpayment is not refunded
Submitting a request costs ordinary transaction gas plus a withdrawal request fee determined by contract state. That state can change between composing a transaction and its inclusion, so a fee quoted earlier is not necessarily the fee that applies. The specification is blunt about overpayment: “Overpaid fees are not returned to the caller.” A contract can read the current fee and refuse to proceed above a chosen limit in the same call, but that is a property of specific contract logic, not a promise from the interface.
For a contract-controlled credential, the practical questions shift to permissions: which signers, modules, recovery paths, or upgrade controls can authorize the call. For a pooled or custodial claim, the question is who actually controls the underlying credential, since holding a staking receipt token is not the same as holding validator exit authority. EIP-7002 establishes a protocol control path. It does not settle a product’s redemption terms, its custody relationships, or a customer’s insurance.
Source: BTC-Pulse.
