Blockdaemon Blog

FAQ about the Shapella fork enabling withdrawals for Ethereum stakers

Feb 7, 2023
By:
Friedrich
Zwanzger
&
We want to provide anybody staking $ETH all the details of what the highly anticipated withdrawal feature will look like.

The Shapella fork is coming to Ethereum Mainnet in March 2023!


We want to provide anybody staking $ETH all the details of what the highly anticipated withdrawal feature will look like.

Want to hear more about how Blockdaemon can help you with your Blockchain journey? Contact us today to chat more about our blockchain solutions, or read on to get a closer look at what’s new.

There are no actions required by Blockdaemon customers before the Shapella hard fork on Ethereum Mainnet to enable the receipt of their accumulated staking rewards!
The following FAQs are for informational purposes only and do not require any extra steps from the customer.

  • What is the name of this hard fork that enables withdrawals for Ethereum stakers?
  • When will it actually happen?
  • Do withdrawals mean I can get my accumulated protocol rewards or that I can exit my Ethereum validator?
  • I read that right after Shapella, 1 million $ETH automatically becomes liquid?
  • Is the percentage of staked $ETH going up or down once withdrawals are enabled?
  • How will I receive my accumulated staking rewards?
  • What about auto-compounding of rewards?
  • What is the unbonding time for my staked $ETH?
  • Is there going to be an exit/activation queue following the Shapella fork?
  • How can the withdrawal data be monitored on-chain?
  • Do I need to update my withdrawal credentials before being able to receive my accumulated rewards or exit my validator?
  • Will demand for liquid staking go down once withdrawals are enabled?
  • Who can I contact if I have any questions?
  • How does Blockdaemon enable withdrawals?
  • How can I test the new withdrawal functionalities on testnet?
  • What changes with regards to pre-signed exit messages?
  • What is the best practice, if the amount of $ETH to stake fluctuates a lot?
  • How can I track the length of validator activation & exit queues?

What is the name of this hard fork that enables withdrawals for Ethereum stakers?

  • Naming: usually referred to as the “Shapella” hard fork/upgrade (full EIP-list of changes)
  • Shanghai is specifically the name of the Execution Layer update (former Devcon cities)
  • Capella is specifically the name of the Consensus Layer update (star names alphabetically)
  • Sometimes called “Shapella” for a blended name, but it all means the same fork
  • Lively discussion on future naming conventions: RFC: Post-Merge Network Upgrade Naming Schemes  

When will it actually happen?

Does withdrawals mean I can get my accumulated protocol rewards or that I can exit my Ethereum validator?

Both! The naming of this significant change (specified in EIP-4895) is a bit misleading in terms of what activity is meant and if action is required from the user:

  • Partial withdrawals = accumulated protocol rewards are pushed to withdrawal address regularly, with no action required by the user
  • Full withdrawals = after exiting a validator completely, the collateral is pushed to withdrawal address, with the user initiating the voluntary exit or the protocol excluding the validator due to slashing or continued penalties reducing the effective balance to < 16 ETH

I read that right after Shapella, 1 million $ETH automatically becomes liquid?

The ~1 million $ETH is correct, as is the fact that a reward sweep through the full set of ~500k validators takes about 4-5 days.

But the fact a lot of people overlook and that makes it hard to pin down exactly is the following: of the current ~500k validators, about ~300k are still having the old withdrawal credentials (0x00 BLS), and these get skipped in the sweep. Therefore the availability of additional $ETH liquidity (not meaning all is sold, quite a lot could be restaked!) depends on the speed that validators update their credentials to 0x01 normal addresses.


The maximum technical throughput of this credential update operation is similar to the withdrawal sweep, so it would take about 3 days for ~300k validators, but likely much longer as the owner’s of the validators will not all be ready/aware/able to update the credentials right around the Shapella fork.

Is the percentage of staked $ETH going up or down once withdrawals are enabled?

  • We don’t want to speculate and it is anyone’s guess whether the % of staked $Eth will go up or down once Shapella activates.
  • This report gives a good summary on how the accumulated protocol rewards will be distributed (= partial withdrawals) and how the exit of validators (= full withdrawals) will work and suggests: “There is likely to be a surge in the number of pending validator entries, exits, withdrawals, and withdrawal credential changes shortly following Shapella as users and business re-evaluate their staking operations and recoup gains.” We have seen recommendations for traders to bet on volatility around the fork rather than $ETH price upward or downward movement, which could potentially be seen as a similar signal.

Is there going to be an exit/activation queue following the Shapella fork?

It is important to note that nobody really knows.

The overall sentiment seems to be that over the course of a few months, there is actually going to be an inflow of Eth, rising the percentage of stake in the network above the current ~14%. But in the short term after the fork, there is a lot of reshuffling to be expected:

  • Institutional stakers that were previously prevented from staking their Eth due to the lock-in might want to onboard asap, and we actually have clients prepared to do that.
  • Others might want to switch their staking setup to different providers, harvesting tax losses or utilizing liquid staking protocols, leading to both exits and new activations.
  • And there are probably also some stakers that want to quit staking due to liquidity needs etc. The most impactful might be the large crypto institutions that went bankrupt in 2022 and might be forced to liquidate all their crypto holdings, like FTX/Almeda, Voyager, BlockFi, Celsius, etc. Add to that the recent SEC enforcement shutting down Kraken’s staking program for their US retail customers. While the effected percentage of their Eth stake is unknown, their total volume is said to be up to ~8-12% of all staked Eth (when combining with staked.us).

All in all, particularly the last point makes it somewhat likely that an exit queue might be forming for some time after the Shapella fork. If 20% of all validators would want to exit (and have their credentials updated in time!) the exit queue could amass up to 60 days.

The good news to keep in mind: all validators will continue to receive rewards during their time in the exit queue.

It is also important to know that while the capacity of the activation and exit queue is the same, these are separate queues. So depending on the amount to be (re)staked, there could also be an activation queue forming, but exits and activations will not slow each other down.

We teamed up with our partners from Metrika to allow you to monitor the length of both activation and exit queues for Goerli testnet as well as Ethereum Mainnet on this microsite. Please help to spread the word of this community resource!

How will I receive my accumulated staking rewards?

Executive summary:

Due to some variable components, there is no exact time interval to receive one’s accumulated protocol rewards on Ethereum. But it is likely safe to say that these rewards should be arriving within a few days after the Shapella fork at the withdrawal address on the execution layer.

(After the Merge, the additional tx fee & MEV rewards from the Execution Layer were already liquid on the feeRecipient, which might be configured to the same or a different address.)

Details:

  • Each block can contain a maximum of 16 operations per withdrawal sweep, be it the distribution of accumulated protocol rewards (partial withdrawals) or the unbonding of the full 32 Eth staked collateral (full withdrawal). The validator responsible to produce the blocks continues the scan of validator index numbers where the previous one left off, and thereby fills up these spaces until either the maximum of 16 withdrawals per block or the maximum scan range (16,384 validator indexes) has been reached. At currently 500k validators this would lead to a maximum processing time of ~100 hours = 4-5 days for the full set.
  • Please note: in order to receive any protocol rewards or the collateral, the withdrawal address needs to be set in the 0x01 normal execution layer address format. If it was specified as BLS 0x00 withdrawal credential upon setup of the validator initially, it first needs to be updated, which can only happen at a maximum capacity of 16 addresses per block. Blockdaemon customers do not need to worry about this step, as they were set up in a new way and are good to go! But as of Feb 2023 over 300k validators still need to go through this process, and would be skipped in the round-robin procedure in the meantime.
  • It is expected that after the initial rewards distribution, protocol rewards will arrive at least 6 times per month on the withdrawal address balance, depending on the limited withdrawal operation capacity and the number of updated 0x01 credentials before distribution is automatically triggered.

What about auto-compounding of rewards?

With the accumulated protocol rewards becoming liquid on Ethereum, stakers are obviously free to use them any way they like. To most, it will likely make sense to double down on their staking conviction by restaking their rewards. This could increase their rewards and grow them over time via the compounding effect.

Unfortunately, the Ethereum protocol does not offer auto-compounding natively, as some other PoS protocols do. And with the minimum requirement of 32 $ETH per validator, there is even another hurdle to overcome. One solution can be liquid staking, as it practically eliminates the minimum amount to stake. And even better, most liquid staking protocols like Lido, RocketPool or StakeWise have auto-compounding baked into their system. Blockdaemon also offers liquid staking for our institutional customers with world-class partners, such as B2C2, Bit Digital, and Amdax. And we are also developing a semi-automatic compounding feature for our classic staking offering via our Ethereum Staking Integration API.

What is the unbonding time for my staked $ETH?

Executive summary:

Due to some variable components, there is no exact unbonding/exit time on Ethereum. But it is likely safe to say that generally a voluntary exit of Ethereum validators should be finished within about a week.

Detailed explanation of the withdrawal process on Ethereum after the Shapella hard fork expected to active in March 2023:

There are three main components making up the total duration to unbond/exit one’s $ETH stake:

  1. There can be potentially an exit queue, which similarly to the activation queue at the beginning of a validator life cycle builds up in times of high demand. While in the exit queue, the validator is still active and receives rewards/penalties. The throughput is dynamically dependent on the number of active validators of the network (number of active validators divided by ~65k), currently >50k ETH per day at 500k validators. Minimum throughput can drop to 28,800 ETH per day, maximum throughput will likely reach 57,600 ETH per day before Shapella activates.
  2. For voluntary exits of Eth validators, there is a fixed protocol delay of ~27 hours (256 epochs), where the validator is not in an active state anymore.
    This is to finish up any potentially scheduled validator duties and prevent malicious behavior like staking/existing in quick succession.
    Forced exits due to past slashings will have a longer delay of ~36 days.
  3. Each block can contain a maximum of 16 operations per withdrawal sweep, be it the distribution of accumulated protocol rewards (partial withdrawals) or the unbonding of the full 32 Eth staked collateral (full withdrawal). The validator responsible to produce the blocks continues the scan of validator index numbers where the previous one left off, and thereby fills up these spaces until either the maximum of 16 withdrawals per block or the maximum scan range (16,384 validator indexes) has been reached. At currently 500k validators this would lead to a maximum processing time of ~100 hours = 4-5 days for the full set.
  4. Please note: in order to receive any protocol rewards or the collateral, the withdrawal address needs to be set in the 0x01 normal execution layer address format. If it was specified as BLS 0x00 withdrawal credential upon setup of the validator initially, it first needs to be updated, which can only happen at a maximum capacity of 16 addresses per block. Blockdaemon customers do not need to worry about this step, as they were set up in the new way and are good to go! But as of Feb 2023 over 300k validators still need to go through this process, and would be skipped in the round robin procedure in the meantime.

Due to these various variable components, there is no exact unbonding time on Ethereum. It is likely safe to say that generally a voluntary exit of Eth validators should be finished within a week.

https://www.galaxy.com/research/insights/100-days-after-the-merge/

https://docs.blockdaemon.com/docs/eth-validator-statuses

How can the withdrawal data be monitored on-chain?

All withdrawals are not transactions, so there will be no gas costs associated with withdrawals and on the executions layer the balance of the withdrawal address changes without an explicit sender.


So in order to track both regular protocols rewards and potentially also any exited collateral arrive on the WithdrawalAddress, transaction-based tooling will not work.
Withdrawals will be identifiable as a new type of object in an Ethereum block and will possess its own dedicated data field in the block header with the following information:

  1. a monotonically increasing index, starting from 0, as a uint64 value that increments by 1 per withdrawal to uniquely identify each withdrawal
  2. the validator_index of the validator, as a uint64 value, on the consensus layer the withdrawal corresponds to
  3. a recipient for the withdrawn ether address as a 20-byte value
  4. a nonzero amount of ether given in wei as a uint256 value.

The major block explorers like Etherscan.com and Beaconcha.in will show these values per block in a separate list.


Blockdaemon customers will be able to track the status of their exiting validators via our Ethereum staking dashboard inside the Blockdaemon App soon after the fork (however at different granularity that does not follow all sub-steps of the exit process).

Do I need to update my withdrawal credentials before being able to receive my accumulated rewards or exit my validator?

In order to receive any protocol rewards or the collateral, the withdrawal address needs to be set in the 0x01 normal execution layer address format. If it was specified as BLS 0x00 withdrawal credential upon setup of the validator initially, it first needs to be updated, which can only happen at a maximum capacity of 16 addresses per block after the fork is activated.

Blockdaemon customers do not need to worry about this step, as they were set up in the new way and are good to go!

Will demand for liquid staking go down once withdrawals are enabled?

Interestingly, liquid staking solutions might actually gain market share post-Shapella.

This can be explained by the fact that the main benefit lies in the receipt token issued by liquid staking protocols. These can be used to either leverage the staking position or utilized in other DeFi use cases, e.g. as collateral for lending. The instant staking/unstaking capability is also highly attractive, as it eliminates and waiting times for users and further improves capital efficiencies.

So abolishing the lock-in via the enablement of withdrawals does not seem to be taking much away in terms of the value proposition of liquid staking. And since liquid staking solutions were not available in the early days of Ethereum staking, some of the currently locked stake might actually be withdrawn to be restaked in either retail protocols like Lido, RocketPool or StakeWise, or the liquid staking product Portara for institutions. Blockdaemon has already rolled out Ethereum institutional liquid staking with world-class partners, such as B2C2, Bit Digital, and Amdax.  

Who can I contact if I have any questions?

Speak to your Technical Account Manager (TAM) (formerly known as Relationship Managers) for more details or any other question.
If you are not a Blockdaemon customer yet, please contact us: https://blockdaemon.com/get-in-touch/

How does Blockdaemon enable withdrawals?

Partial withdrawals, i.e. pushing the accumulated protocol rewards to the configured withdrawal address, are happening automatically by the protocol, see details above.

For full withdrawals, i.e. completely exiting a validator to reclaim the 32 Eth collateral, there are various options:

  • Via staking API: No matter how you originally staked with Blockdaemon, you can access our two new exit endpoints programmatically - see details here. This is best for self-serve flexibility.
  • Via Blockdaemon assistance: You can let your technical account manager (TAM) know which validator specifically you want to exit (validator index or pubkey), or just specify the quantity. We will then internally start the exit process for you. This is best to unstake larger quantities of validators.
  • Via Blockdaemon app: We will add an unstake option in your app workspace soon, in order to allow you to exit your validators with the click of a button. This is best for individuals and to exit testnet validators.

How can I test the new withdrawal functionalities on testnet?

We support the full validator lifecycle on Ethereum with our staking tooling, also on Goerli testnet:

  • Launch validators via the Blockdaemon app, or our staking integration API
  • Monitor your rewards via our Eth staking dashboard, or our staking reporting API
  • Exit your validators via our two new exit endpoint in the API, or via the Blockdaemon app (coming soon).

We can also provide you with the necessary 32 $GoerliEth testnet tokens, just get in touch with your technical account manager (TAM).

What changes with regards to pre-signed exit messages?

Some customers require a way to exit their validators at any time without any interaction with Blockdaemon for compliance reasons. We now provide a dedicated API endpoint to enable these business continuity use cases via pre-signed exit messages.


Please note: We advise caution, as you need to keep these messages very safe!

They cannot be used to steal your funds or get you slashed, but particularly in times of long exit and activation queues the process of restaking is cumbersome and the loss of potential staking rewards could be used to blackmail you. Once you have generated the message, we cannot be held liable if the validator exits unintentionally. Plus the messages need to be rotated (newly created and replaced) after every hard fork in order to stay valid.

What is the best practice, if the amount of $ETH to stake fluctuates a lot?

An Ethereum validator cannot be re-used once the exit process has been initiated.

And potentially long exit and activation queues make the unstake/stake processes cumbersome and lead to some loss of potential rewards. In the B2B2C business model, you could try to match the inflows with outflows via a defined buffer over some time. This could potentially cause regulatory concerns and might lead to lower APRs due to the unused buffer capital.

Blockdaemon offers two solutions in this regard:

  • You can use a dynamic validator plan via our staking integration API: This setup allows you to quickly scale up new validators while keeping node costs at bay. If you exit validators, the underlying Ethereum nodes will keep running so that no sync time is needed when adding new validators.
  • You can leverage our institutional liquid staking solution Portara: This will optimize your capital efficiency and unbonding time. Plus you’ll get staking receipt tokens, which you could via our partner B2C2 at any time.

How can I track the length of validator activation & exit queues?

We teamed up with our partners from Metrika to allow you to monitor the length of both activation and exit queues for Goerli testnet as well as Ethereum Mainnet on this microsite.


It also contains links to other great resources, like the metrics to monitor the Network Upgrade as well as the Withdrawals Overview dashboard.
Please help to spread the word of these community resources!

Share

Get Started with Blockdaemon Today!

Contact us to learn how we can help you power your blockchain business.
Unparalleled Security & Compliance
Seamless Integration & Scalability
Dedicated Customer Support