The Ethereum blockchain completed its monumental transition to Proof-of-Stake (PoS) with The Merge. The next pivotal moment for the ecosystem was the Shanghai upgrade, which introduced a critical new functionality: the ability for validators to withdraw their staked ETH. This guide provides a comprehensive overview of everything you need to know about ETH withdrawals post-Shanghai.
Understanding the Shanghai and Capella Upgrades
The Shanghai upgrade, often referred to alongside the Capella upgrade as "Shapella," represents a set of protocol changes that enable the withdrawal of staked ETH for the first time. This is a landmark development following Ethereum's shift to a Proof-of-Stake consensus mechanism.
Shanghai specifically pertains to the execution layer hard fork, while Capella is the concurrent upgrade to the consensus layer (the Beacon Chain). The most notable change introduced is EIP-4895, which allows stakers to unstake their funds. Additional EIPs included in the upgrade focus on various network improvements, but enabling withdrawals is the central feature for validators.
The Impact of Enabling ETH Withdrawals
The ability to withdraw staked ETH is transformative for the network's health and security. Prior to Shanghai, staked ETH and its rewards were permanently locked, which deterred participation from a segment of potential validators concerned about liquidity. By unlocking this capital, Ethereum becomes a more attractive and dynamic staking environment, potentially increasing the number of validators and further decentralizing and securing the network.
The Two Types of ETH Withdrawals
The Shanghai/Capella upgrade facilitates two distinct withdrawal processes for validators.
Partial Withdrawals (Rewards Sweeping)
A partial withdrawal occurs automatically for active validators whose total balance exceeds the maximum effective balance of 32 ETH. The system automatically sweeps any excess balance (e.g., staking rewards) to the validator's designated withdrawal address. This process is "partial" because the initial 32 ETH stake remains locked and actively validating.
Full Withdrawals (Exiting the Active Set)
A full withdrawal involves a validator exiting the active validator set entirely. Once the exit process is complete and the validator becomes withdrawable, their entire balance—the initial 32 ETH stake plus all accrued rewards—is sent to their withdrawal address. This is a deliberate action that stops the validator's participation and rewards.
How the Withdrawal Process Works
The Ethereum network processes withdrawals systematically. For each block, the protocol sequentially checks validators for one of two conditions:
- The validator has exited the active set and is in a "withdrawable" state.
- The validator's balance is greater than 32 ETH.
If either condition is met, a withdrawal operation for that validator is included in the block. A maximum of 16 withdrawals can be processed per block. After the block is finalized, the ETH is transferred to the validator's withdrawal address.
👉 Explore more strategies for managing your validator
Key Timelines and Considerations
Understanding the timeframes involved is crucial for planning withdrawals.
- Withdrawal Processing Time: The network cycles through all validators to check for eligible withdrawals. With hundreds of thousands of validators, this cycle takes approximately 4.5 days. This means once a validator becomes eligible (either by having excess balance or by exiting), the funds should reach their address within this cycle.
- Validator Exit Time: The timeline for a full withdrawal is longer. After a validator requests to exit, it must wait in an exit queue if one exists. The queue allows a maximum of 1,575 validators to exit per day. After exiting the queue, there is an additional waiting period of approximately 27 hours before the validator's status changes to "withdrawable." Only then does the 4.5-day withdrawal cycle begin.
Preparing Your Validator for Withdrawal
A critical prerequisite for any withdrawal is ensuring your validator has been set up with an Ethereum execution address (0x01 withdrawal credentials). If you initially used a BLS withdrawal address, you must migrate to an execution address before any funds can be withdrawn.
You can verify your validator's readiness using the official Ethereum Launchpad withdrawal page. By entering your validator index or address, the tool will clearly indicate if your credentials are correctly configured for withdrawals.
Frequently Asked Questions
How do I know if my withdrawal credentials need to be updated?
Visit the Ethereum Launchpad withdrawal page and enter your validator index. If the tool states your credentials are not yet set for withdrawals, you need to generate a BLS to execution change message using tools like the staking-deposit-cli.
Can I withdraw just a portion of my initial 32 ETH stake?
No. The only way to access your initial 32 ETH stake is to perform a full withdrawal and exit the active validator set. Partial withdrawals only automate the process of sending your earned rewards that exceed the 32 ETH balance.
Are there gas fees for processing withdrawals?
No. A key feature of EIP-4895 is that withdrawal operations are processed by the consensus layer and do not incur gas fees on the execution layer, making the process cost-free for validators.
What happens if I don't update my BLS withdrawal credentials?
If your validator still has BLS withdrawal credentials, it will be skipped during the withdrawal sweep. Your funds will remain locked and will not be accessible until you successfully complete the credential change process.
How often are reward payments (partial withdrawals) processed?
The network automatically processes eligible partial withdrawals for all validators on a continuous, rolling basis. There is no need to manually initiate a partial withdrawal.