Staking withdrawals | ethereum.org (2024)

Staking withdrawals refer to transfers of ETH from a validator account on Ethereum's consensus layer (the Beacon Chain), to the execution layer where it can be transacted with.

Reward payments of excess balance over 32 ETH will automatically and regularly be sent to a withdrawal address linked to each validator, once provided by the user. Users can also exit staking entirely, unlocking their full validator balance.

Staking rewards

Reward payments are automatically processed for active validator accounts with a maxed out effective balance of 32 ETH.

Any balance above 32 ETH earned through rewards does not actually contribute to principal, or increase the weight of this validator on the network, and is thus automatically withdrawn as a reward payment every few days. Aside from providing a withdrawal address one time, these rewards do not require any action from the validator operator. This is all initiated on the consensus layer, thus no gas (transaction fee) is required at any step.

How did we get here?

Over the past few years Ethereum has undergone several network upgrades transitioning to a network secured by ETH itself, instead of energy-intensive mining as it once was. Participating in consensus on Ethereum is now known as "staking", as participants have voluntarily locked up ETH, placing it "at stake" for the ability to participate in the network. Users who follow the rules will be rewarded, while attempts to cheat can be penalized.

Since the launch of the staking deposit contract in November 2020, some brave Ethereum pioneers have voluntarily locked funds up to activate "validators", special accounts that have the right to formally attest to and propose blocks, following network rules.

Before the Shanghai/Capella upgrade, you couldn't use or access your staked ETH. But now, you can opt-in to automatically receive your rewards into a chosen account, and you can also withdraw your staked ETH whenever you want.

How do I prepare?

Current stakers

  • Some users may have provided a withdrawal address when initially setting up their staking deposit—these users have nothing more they need to do
  • The majority of stakers did not provide a withdrawal address on initial deposit, and will need to update their withdrawal credentials. The Staking Launchpad(opens in a new tab) has instructions on how to do this

You can enter your validator index number here to see if you still need to update your credentials (this can be found in your client logs):

Important notices

Providing a withdrawal address is a required step for any validator account before it will be eligible to have ETH withdrawn from its balance.

Staking withdrawals | ethereum.org (1)

Each validator account can only be assigned a single withdrawal address, one time. Once an address is chosen and submitted to the consensus layer, this cannot be undone or changed again. Double-check ownership and accuracy of the address provided before submitting.

There is no threat to your funds in the meantime for not providing this, assuming your mnemonic/seed phrase has remained safe offline, and has not been compromised in any way. Failure to add withdrawal credentials will simply leave the ETH locked in the validator account as it has been until a withdrawal address is provided.

Exiting staking entirely

Providing a withdrawal address is required before any funds can be transferred out of a validator account balance.

Users looking to exit staking entirely and withdraw their full balance back must also sign and broadcast a "voluntary exit" message with validator keys which will start the process of exiting from staking. This is done with your validator client and submitted to your consensus node, and does not require gas.

The process of a validator exiting from staking takes variable amounts of time, depending on how many others are exiting at the same time. Once complete, this account will no longer be responsible for performing validator network duties, is no longer eligible for rewards, and no longer has their ETH "at stake". At this time the account will be marked as fully “withdrawable”.

Once an account is flagged as "withdrawable", and withdrawal credentials have been provided, there is nothing more a user needs to do aside from wait. Accounts are automatically and continuously swept by block proposers for eligible exited funds, and your account balance will be transferred in full (also known as a "full withdrawal") during the next sweep.

When are staking withdrawals enabled?

Staking withdrawals are live! Withdrawal functionality was enabled as part of the Shanghai/Capella upgrade which occurred on April 12, 2023.

The Shanghai/Capella upgrade enabled previously staked ETH to be reclaimed into regular Ethereum accounts. This closed the loop on staking liquidity, and brought Ethereum one step closer on its journey towards building a sustainable, scalable, secure decentralized ecosystem.

  • More on Ethereum history
  • More on the Ethereum roadmap

How do withdrawal payments work?

Whether a given validator is eligible for a withdrawal or not is determined by the state of the validator account itself. No user input is needed at any given time to determine whether an account should have a withdrawal initiated or not—the entire process is done automatically by the consensus layer on a continuous loop.

More of a visual learner?

Check out this explanation of Ethereum staking withdrawals by Finematics:

Validator "sweeping"

When a validator is scheduled to propose the next block, it is required to build a withdrawal queue, of up to 16 eligible withdrawals. This is done by originally starting with validator index 0, determining if there is an eligible withdrawal for this account per the rules of the protocol, and adding it to the queue if there is. The validator set to propose the following block will pick up where the last one left off, progressing in order indefinitely.

Staking withdrawals | ethereum.org (2)

Think about an analogue clock. The hand on the clock points to the hour, progresses in one direction, doesn’t skip any hours, and eventually wraps around to the beginning again after the last number is reached.

Now instead of 1 through 12, imagine the clock has 0 through N (the total number of validator accounts that have ever been registered on the consensus layer, over 500,000 as of Jan 2023).

The hand on the clock points to the next validator that needs to be checked for eligible withdrawals. It starts at 0, and progresses all the way around without skipping any accounts. When the last validator is reached, the cycle continues back at the beginning.

Checking an account for withdrawals

While a proposer is sweeping through validators for possible withdrawals, each validator being checked is evaluated against a short series of questions to determine if a withdrawal should be triggered, and if so, how much ETH should be withdrawn.

  1. Has a withdrawal address been provided? If no withdrawal address has been provided, the account is skipped and no withdrawal initiated.
  2. Is the validator exited and withdrawable? If the validator has fully exited, and we have reached the epoch where their account is considered to be "withdrawable", then a full withdrawal will be processed. This will transfer the entire remaining balance to the withdrawal address.
  3. Is the effective balance maxed out at 32? If the account has withdrawal credentials, is not fully exited, and has rewards above 32 waiting, a partial withdrawal will be processed which transfers only the rewards above 32 to the user's withdrawal address.

There are only two actions that are taken by validator operators during the course of a validator's life cycle that influence this flow directly:

  • Provide withdrawal credentials to enable any form of withdrawal
  • Exit from the network, which will trigger a full withdrawal

Gas free

This approach to staking withdrawals avoids requiring stakers to manually submit a transaction requesting a particular amount of ETH to be withdrawn. This means there is no gas (transaction fee) required, and withdrawals also do not compete for existing execution layer block space.

How frequently will I get my staking rewards?

A maximum of 16 withdrawals can be processed in a single block. At that rate, 115,200 validator withdrawals can be processed per day (assuming no missed slots). As noted above, validators without eligible withdrawals will be skipped, decreasing the time to finish the sweep.

Expanding this calculation, we can estimate the time it will take to process a given number of withdrawals:

Number of withdrawalsTime to complete
400,0003.5 days
500,0004.3 days
600,0005.2 days
700,0006.1 days
800,0007.0 days

As you see this slows down as more validators are on the network. An increase in missed slots could slow this down proportionally, but this will generally represent the slower side of possible outcomes.

Frequently asked questions

Further reading

Was this page helpful?

I am an expert in Ethereum's staking mechanism, particularly in the area of staking withdrawals and the process surrounding them. My expertise in this domain is substantiated by a comprehensive understanding of the technicalities involved, the underlying mechanisms of Ethereum's consensus layer, and the practical implications for validators and users.

To delve into the concepts outlined in the article regarding Ethereum staking withdrawals, let's break down the key components:

Ethereum Staking and Validator Accounts:

Ethereum transitioned from energy-intensive mining to a staking system where participants lock up ETH, termed "staking", to secure the network. Participants, known as validators, are rewarded for following the network's rules.

Staking Rewards and Withdrawals:

  • Validator Rewards: Validators receive rewards for actively participating in the network, with the maximum effective balance capped at 32 ETH.
  • Excess Rewards: Rewards earned beyond the 32 ETH limit do not contribute to the validator's principal and are automatically withdrawn every few days.
  • Withdrawal Addresses: Validators can provide a withdrawal address to receive these rewards.
  • Exiting Staking: Validators can opt to exit staking entirely, unlocking their full validator balance.

Process of Staking Withdrawals:

  • Withdrawal Address: A required step for transferring funds out of a validator account.
  • Voluntary Exit: Validators looking to exit staking entirely need to initiate a "voluntary exit" message with validator keys, triggering the withdrawal process.
  • Timeframe for Withdrawals: Once flagged as "withdrawable" and withdrawal credentials are provided, the account balance will be automatically transferred in full during the next sweep.

Implementation and Gas-Free Approach:

  • Automated Process: Withdrawals are initiated automatically by the consensus layer, eliminating the need for user input except for providing withdrawal credentials.
  • No Gas Fees: The withdrawal process does not require gas or transaction fees, ensuring a cost-free experience for users.

Validator Sweeping and Withdrawal Queues:

  • Validator "Sweeping": Validators proposing blocks build withdrawal queues for eligible withdrawals, progressing through all validators in a cyclical manner.
  • Withdrawal Determination: Validators are checked for withdrawal eligibility based on criteria such as providing a withdrawal address, being exited and withdrawable, and having rewards exceeding 32 ETH.

Frequency of Staking Rewards and Withdrawals:

  • Withdrawal Rate: A maximum of 16 withdrawals can be processed in a single block, with estimates provided for the time required to process varying numbers of withdrawals.

This comprehensive understanding encompasses the technicalities, processes, and implications associated with Ethereum staking withdrawals, ensuring a seamless comprehension of the mechanics involved in this critical aspect of Ethereum's staking ecosystem.

Staking withdrawals | ethereum.org (2024)
Top Articles
Latest Posts
Article information

Author: Errol Quitzon

Last Updated:

Views: 5786

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.