Ethereum Withdrawals: A Comprehensive FAQ

February 22, 2023

As one of the most widely used and innovative blockchain platforms, Ethereum has revolutionized the way we think about decentralized applications and smart contracts. With its flexible and programmable blockchain architecture, Ethereum has allowed developers to create complex and secure applications that can run autonomously without any centralized control.

Since Ethereum transitioned to Proof-of-Stake on September 15th, 2022, staked ETH and the active validator count have steadily increased on the network. This continued growth is a positive sign for network health, long-term growth, and a successful merge in the eyes of operators:

Source: https://beaconscan.com/stat/validator

Soon, withdrawal functionality on Ethereum will be enabled, rounding out Ethereum’s Proof-of-Stake architecture.

Interested in learning more about Ethereum withdrawals? Read our FAQ below:

When are withdrawals going to be enabled on Ethereum?

Enabling withdrawals on Ethereum is slated for March with the Shanghai and Capella upgrades.

What are the Shanghai & Capella upgrades?

There are two upgrades making withdrawals possible on Ethereum named Shanghai and Capella. Shanghai is the execution layer (EL) upgrade, and Capella is consensus layer (CL) upgrade.

The key upgrades related directly to withdrawals do not actually grant validators any new functionality, they simply “turn on” withdrawals.

In order to be eligible for withdrawals, validators must have so-called Eth1 withdrawal credentials (i.e., 0x01). For those that have BLS withdrawal credentials (ie., 0x00), the Capella upgrade will grant the functionality to update to Eth1 credentials (for more see here).

What types of withdrawals will be enabled on Ethereum?

Withdrawals come in two types: full withdrawals and partial withdrawals.

It should be noted that withdrawals pertain only to stake and consensus layer rewards. Execution layer rewards are automatically sent to the validator’s feeRecipient address.

What are partial withdrawals?

Partial withdrawals are automatic and occur when a validator has a balance greater than 32 Ether (ETH). When a validator has more than 32 ETH, the amount over 32 will be sent to the validator’s withdrawal address.

Validators cannot choose a specified amount to withdraw, nor can they elect a frequency of these withdrawals. Similarly, a validator cannot prevent the sweep from occurring.

What are full withdrawals?

Full withdrawals involve a validator exiting the active validator set. Once the validator has exited the set, their stake and accrued rewards become withdrawable – the stake and accrued rewards will be sent to the validator’s withdrawal address.

To be clear, validators cannot choose to withdraw a specified amount of their staked balance. A validator’s balance greater than 32 will automatically be swept to its specified withdrawal address. Should a validator want to gain access to any of its initial 32 staked ETH, a full exit and withdrawal is required.

This option – exiting the active set – is currently open to validators. The only difference between the current state of Ethereum and post-Shanghai/Capella is that, post upgrade, the stake and accrued rewards will actually be sent to the validator’s withdrawal address.

How are withdrawals processed from a technical perspective?

Ethereum cycles through each validator by index, checking to see whether:

  • The validator has requested to exit the active validator set (full withdrawal) and has reached the “withdrawable” state; or
  • The validator has a balance over 32 ETH

In both cases the validator’s withdrawal is processed. That is, the withdrawal gets added to the current block. Once the block has been processed, the amount of ETH is sent to the validator’s withdrawal address. This assumes that validators have so-called ETH1 withdrawal credentials. If validators have BLS withdrawals credentials they will need to be upgraded before their withdrawals are processed (for more see here).

What is the difference between a validator withdrawing, versus exiting the active set?

Validator withdrawals are processed automatically – when a validator has more than 32 ETH, the amount over 32 will be sent to the validator’s withdrawal address. As long as a validator remains in the active set, they will continue to accrue rewards, and the rewards will automatically be sent to their specified withdrawal address.

When a validator exits the active set, they receive back their original stake, along with any rewards accrued. Once the validator has successfully exited the active set, they will no longer earn rewards.

How long will it take to process a withdrawal?

From a timing perspective, there is a maximum of sixteen withdrawals that can be included in a block. Both partial and full withdrawals are treated equally. Each validator is checked as outlined above and their withdrawal is added to the current block.

With an average block time of around 12.1 seconds and about 500,000 validators, it will take about 4 ½ days to cycle through all of the validators. It should be noted that this is a conservative estimate and assumes that all validators have the required Eth1 withdrawal credentials. The greater the proportion of validators with older BLS credentials, the shorter the withdrawal cycle will be, i.e., if 50% of validators have BLS credentials the cycle will take closer to 2 days. Once the block has been processed, the amount of ETH is sent to the validator’s withdrawal address.

How long will it take to process a validator exiting the active set?

As mentioned above, it will take a maximum of about 4 ½ days for a validator to have its withdrawal processed, regardless of whether it is a full or partial withdrawal.

It is important not to confuse this timeline with the time required to fully exit the active validator set – a prerequisite for a full withdrawal.

After a validator requests to exit the active validator set, they must wait between five and six epochs (~35 minutes). If there are other validators who requested and are waiting to exit, the validator will join the queue. Currently, a maximum of seven validators can exit per epoch, or 1,575 validators per day. Once the validator has gone through the queue, i.e., they have exited the active set, they must wait an additional period of 256 epochs (~27 hours). After this, the validator is said to be “withdrawable”. Currently, this means that an already exited validator has its ETH locked “in limbo”. Post Shanghai/Capella – the exited and withdrawable ETH will be picked up in the withdrawal sweep and sent to the validator’s withdrawal address.

Assuming there is no queue and the validator’s withdrawal is picked up immediately in the sweep, the process from initial exit request to the ETH being sent to the validator’s withdrawal address will take a minimum of about a day. However, the process is expected to take longer as there could be an exit queue and it is very unlikely that a validator is the first to be picked up in the withdrawal sweep.

What are some examples of timing for validators requesting to exit?

The table below shows the number of days a validator will need to wait from initial exit request up to being fully withdrawn (based on the current number of validators). Both the average time and worst case (i.e. being the last validator in the exit queue) are provided to show the range of time, in days, a validator can expect to wait. The numbers presented are cumulative in that they include the time required from the previous step, i.e., the time to achieve “withdrawable status” includes the time to exit the validator set.

It is important to note that the number of validators entering the active set would impact the wait time, but not significantly. For this reason, the scenarios below exclude this additional consideration.

(1) Cumulative – includes step “Exit Validator Set”

(2) Cumulative – includes steps: “Receive ‘Withdrawable Status’” and “Exit Validator Set”

How does enabling withdrawals change Ethereum?

The Shanghai upgrade is almost certainly beneficial for the network – the inability to withdraw stake and accrued rewards have kept many would-be stakers on the sidelines. In line with other prominent proof of stake networks, Ethereum’s percentage of tokens staked is anticipated to increase from roughly 14% today to 50% or higher, over time. . Withdrawals are not just a benefit for stakers desiring liquidity; the potential to triple the security of Ethereum is a win for the whole ecosystem.

Staking Ethereum with Figment

If you are interested in staking Ethereum, Figment offers a host of services aimed at delivering safe and reliable staking rewards for your assets. Figment is the world’s leading provider of blockchain infrastructure. Our 200+ institutional clients rely on Figment to provide best in class staking services including seamless and easy integrations, complete staking coverage, detailed rewards reporting, insights, and MEV-Boost activation on ETH.

When it comes to Staking Ethereum, Figment offers:

  • Point-and-click staking: Experience the best point-and-click staking interface for ETH. Stake, unstake and claim rewards on Figment prime.
  • The ability to collect more rewards: Figment clients benefit from our engineering and protocol expertise to maximize the chances of earning more rewards with MEV-Boost.
  • Comprehensive rewards reporting: Access detailed and comprehensive rewards statements in various formats.

Figment’s Protocol team has extensive Ethereum knowledge intended to help dive into the specifics such as governance and staking information. Contact us to learn more about Ethereum staking.

SHARE POST

Meet with us

Bring the Complete Staking Solution to Your Organization

Figment respects your privacy. By submitting this form, you are acknowledging that you have read and agree to our Privacy Policy, which details how we collect and use your information.