ETH withdrawals and Shanghai upgrade: all you need to know
The long-awaited Shanghai/Capella (Shapella) upgrade went live on April 12. Ethereum stakers are finally able to withdraw their ETH - though for some it can take months. Read how ETH withdrawals work and how “Shapella” can affect the crypto market.
TL;DR
- At 22:00 UTC on April 12, Ethereum activated two upgrades: Capella for the consensus layer and Shanghai for the execution layer. Together they are often called “Shapella”.
- Shapella finally enabled withdrawals of staked ETH, which stakers have been waiting for since December 2020. Most of them are now in the red, having staked when ETH traded at a higher price.
- One has to stake 32 ETH to create a validator node, but there are cheaper alternatives, especially liquid staking on Lido Finance and Coinbase. The current APR is around 4.7%.
- Staking APR stems from the fact that validators share their rewards with users who delegate ETH to them. The actual math of validator rewards is complex.
- So far less than 5% of the validators applied for full withdrawals. The vast majority of processed requests are reward withdrawals.
- It takes 4-5 days for a reward withdrawal and around 2 weeks for a full one, but everything depends on the length of the exit queue.
- Coinbase activated withdrawal requests 24 hours after the upgrade, Binance decided to do it on April 19, and Lido Finance took a pause until May for code audits.
- As a result, ETH withdrawals will be gradual. The ability to unstake ETH might attract new users to staking platforms.
- Post-Shanghai, ETH price rose to $2,100, but users should stay patient to see the real impact over the coming months.
ETH staking & Beacon Chain: the transition to Ethereum 2.0
On December 1, 2020, Ethereum began its transition from Proof-of-Work to Proof-of-Stake. Instead of miners, who competed for ETH rewards by solving cryptographic puzzles, there are now validators, who stake ETH and received block rewards for validating transactions.
Two important things happened on that day: the Beacon Chain went live, and ETH staking began.
Beacon Chain
Beacon Chain is Ethereum’s new consensus layer, which manages the validator registry. From the huge pool of validators, the chain randomly selects sets (“committees”) of 128 that propose a block, vote on it, and confirm all the transactions in that block.
Every epoch has 32 slots, each with its own committee. A leader is chosen from those 128 members, and only the leader has the power to submit a block proposal. The rest simply vote on it - this is called attestation.
For a while, the Beacon Chain ran separately from the execution layer, the Ethereum mainnet, where smart contracts run. Actual user transactions were still confirmed using Proof-of-Work mining. Finally, on September 15, 2022, the Merge happened: the Beacon Chain became the consensus chain for the execution layer.. Ethereum became a true Proof-of-Stake blockchain and energy use fell by 99.95%.
ETH staking
In order to become a validator on the Beacon Chain, a node operator needs to stake 32 ETH. As a security measure, a validator runs the risk of slashing: if they break the rules of the protocol, they can lose part or all of their stake.
When staking first went live, 32 ETH was worth around $19,000. By November 2021, the minimum stake was worht $128,000.
The big catch was that, once staked, ETH would remain locked until the transition to Ethereum 2.0 was complete. There was no way to unstake it and no set date for unstaking. Stakers had to prepare to wait for years.
Not being able to unstake must have been tough for those who staked ETH when it traded at $3,000-$4,000 in 2022, only to see it go down to $1,000. In fact, according to Dune Analytics, 65% of stakes were worth less in April 2023 than when they were first deposited.
Alternatives to solo staking: SaaS, pools, and liquid ETH staking
Staking-as-a-Service
32 ETH is beyond most users’ budget, and being a node operator is also technically complex. For users who had the money but didn’t want to deal with the technical side, crypto platforms began to offer staking as a service (SaaS). All you have to do is deposit 32 ETH and generate special signing keys, and the provider does the rest. Staking-as-a-Service is available on Allnodes, Bloxstaking, and Kiln, among others.
Pools
If you don’t have 32 ETH, you can join a staking pool and deposit as little as 0.01 ETH. Once a pool accumulates 32 ETH in new deposits, it launches a new node. Some pools are trustlessly managed via smart contracts, while others are centralized and managed off-chain. Popular providers include Binance, StakeFish, and Ethermine Staking. Usually, the provider retains around 10% of the rewards as fee.
Liquid staking
An even more attractive alternative to is liquid ETH staking. In addition to the rewards, you receive special liquid tokens that can be re-used in other DeFi products, like a a yield-bearing protocol or a liquidity pool on a DEX.
Unlike regular ETH staking, liquid staking allows you to redeem the tokens for ETH at any time. Moreover, it is decentralized and trustless. We have a detailed article on liquid crypto staking here.
Ethereum staking in numbers
As of April 17, 2023, there were more than 579,000 validators and 18,500,000 ETH staked, equivalent to 15% of the total ETH supply.
The biggest staking entity on Ethereum by far is Lido Finance, with 31% of all ETH staked as of April 12. It’s followed by Coinbase, Kraken (which doesn’t offer staking to its users anymore), and Binance.
Liquid staking accounts for 33% of all staked ETH, while 27% is staked through centralized exchanges like Binance. 15.5% is deposited in regular staking pools (those without a liquid token).
ETH staking rewards
Ethereum’s reward model is a little more complex than those used by most Proof-of-Stake chains, where a set number of tokens are distributed among the validators in each block.
1) Base reward formula
First of all, Ethereum uses the concept of base reward (B) per validator – that is, how much one can earn under optimal conditions after one round of voting. The formula looks like this:
base_reward = effective_balance * base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))) ,
where base_reward_factor is 64 and base_rewards_per_epoch is 4. So it can be simplified as
base_reward = effective_balance * 64 / (4 * sqrt(sum(active_balance))) = effective_balance*16/sqrt(sum(active_balance)).
The bigger the validator’s staked balance (effective_balance), the higher the optimal reward, so those with huge stakes have an advantage. But at the same time, the base reward is inversely proportional to the square root of the total staked balance of all the active validators. That is, the more ETH is staked in the system, the lower the reward per validator.
An active validator is one that has more than 32 ETH staked, has completed the initial queue for activation, and hasn’t been kicked out of the validator set for some violation, or queued their balance for unstaking. Almost all of the 569,000 validators are active.
Example: the total staked balance of the active validators is around 18 million ETH, and the average balance is 34 ETH. Using the formula, we get
Base reward = (34* 16)/18,000,000=544/18,000,000=0.0000302 ETH
2) Optimal reward
Under optimal conditions, the block proposer gets 1/8 of the base reward per valid submitted vote (attestation). So if all the 127 voters on the committee vote properly, the reward can be substantial. A voting validator can receive 7/8 of the base reward.
3) Conditions and weights
Actual rewards in each round depend on many factors:
- if the validator was on the committee
- if the validator submitted their vote on time
- if the block proposer submitted the block on time
- if validators misbehaved (a block proposer actually gets a bonus for reporting bad behavior))
- if someone got slashed
Each of these factors has its own weight. Moreover, there are penalties for failing to vote.
When you stake ETH in a liquid or regular staking pool, you delegate ETH to validators and receive a share of their earnings.
It’s not necessary to completely understand exactly how rewards are calculated. But, you should know that Ethereum’s staking reward system isn’t nearly as simple as dividing a constant block reward evenly among all the voters. Every block is different.
4) Staking APR
As we’ve just seen, the average returns on staking go down as the total staked ETH balance grows. When Ethereum staking first launched in December 2020, the APR reached 20%. By August 2021, it went down to 6%, and as of April 2022, it is around 4.7% if you stake with Lido Finance. For example, if you deposit $1,000 in ETH, you can expect to earn $47 in a year, as long as the APR remains the same.
This is a low return compared to DeFi farms and other options. Consider, however, that you can use Lido’s liquid stETH tokens as collateral to borrow funds on Aave, deposit them in liquidity pools on Curve, or other ways to generate additional rewards.
Staking on Aptos vs. Ethereum
It’s interesting to compare Ethereum with Aptos, one of the fastest Proof-of-Stake blockchains. At launch, Aptos staking was also available only to node operators, and the minimum stake was 1 million APT. That’s much more than on Ethereum: between $5 million and $19 million, depending on the APT price (October 2022-February 2023).
On the other hand, Aptos validators can withdraw their stakes easily. As of April 2022, there were 104 validators in the network.
In December 2022, Aptos passed the improvement proposal AIP-6, which introduced delegated staking on testnet. Now, any user can delegate their APT to a chosen validator and receive a share of the rewards. What took more than five years on Ethereum took just just 6 months on Aptos, as it was a fully production-ready PoS blockchain to begin with.
Liquidswap by Pontem has already integrated delegated APT staking on testnet. As of the time of writing, you need at least 10.001 APT to create a stake. Unlocking and withdrawing a stake takes just a few hours. Note, however, that these parameters can be different on mainnet.
Read all about how to natively stake APT on Liquidswap here.
Shanghai and Capella upgrade
What does each of the upgrades do?
On April 12, Ethereum went through two upgrades:
- Capella – a hard fork of the Beacon Chain that finally unlocked withdrawals for staked ETH.
- Shanghai – a hard fork of the execution layer that enabled stake withdrawals from the Beacon Chain to the EVM. This is known as EIP-4895 (Ethereum Improvement Proposal no.4895). In addition, Capella reduces gas fees for certain transactions, adds a new PUSH0 opcode to EVM, and deprecates the SELFDESTRUCT EVM opcode.
In a lot of crypto media, you’ll read that Shanghai enables withdrawals, but actually Capella is just as important. As the two upgrades took place together, they are often called “Shapella.”
Shapella first went live on Ethereum’s two main testnets: Sepolia and Goerli. On top of that, Ethereum launched a brand-new testnet called Zhejiang specifically to test ETH withdrawals.
ETH withdrawal rules
There are two types of withdrawals: full and partial. Full means the whole stake is withdrawn, and this is only possible by deactivating a validator. Partial means anything beyond 32 ETH, with the validator remaining active. It’s not possible to withdraw a custom amount.
1) Full withdrawals
To make a full withdrawal, an operator needs to deactivate their validator note manually and wait to exit the Beacon Chain. The number of exits per day is limited and depends on the number of active validators in the network.
As of April 17, around 26,400 validators were waiting for a full withdrawal. At this rate, the exit queue should take around 2 weeks, as calculated by Kiln.fi.
However, even after they are through the exit queue, the ETH balance isn’t automatically unlocked. It depends on a special field in their deposit settings, called withdrawal credentials. Those with 0x01 can access withdrawals at once, while those with 0x00 will need to do a special migration procedure first. As of April 17, 83.1% of all validators upgraded to a 0x01 address.
The final part is waiting for the actual unstaking. Block proposers constantly check all validator accounts to see if any have exited, and unstake their ETH. This is called sweeping. 16 full withdrawal requests can be processed in each 12-second block. Once submitted, a withdrawal request can’t be canceled.
What if a validator exits, withdraws their stake, then decides to join the validator set again? In this case, they will have to activate the node again first. If a user simply sends 32 ETH to their node balance, it will be automatically withdrawn when the address is next swept.
2) Partial withdrawals & reward withdrawals
With a partial withdrawal, an operator can unlock the balance in excess of 32 ETH. It will go to the address that the user had previously entered in the settings. The validator remains active and participates in voting on the Beacon Chain.
For those with 0x01 withdrawal credentials, the excess balance is withdrawn regularly and automatically after the upgrade.
Reward harvesting is the most common type of partial withdrawals. ETH staking rewards are added to the main stake, so they will take several days to process to be withdrawn to the wallet before you can spend them. As block proposers keep sweeping accounts for withdrawable funds, the waiting time will depend on how many validators with balances in excess of 32 ETH are found.
So far, around $80 million worth of ETH are withdrawn every day. This results in more than a week’s waiting period for partial withdrawals.
Interestingly, stakers don’t need to pay any gas fees for withdrawals. This operation is considered a wallet balance increase and not a transaction.
When can you unstake from Lido, Binance and Coinbase?
Coinbase was the first among the major providers to activate ETH withdrawals - on April 13, 24 hours after the upgrade. However, remember that it can take weeks to process the requests, as Ethereum block proposals sweep all the accounts together. Coinbase can’t speed up the queue in any way.
As for Lido, withdrawals from the protocol should be activated in May, once the code audit is completed. Lido does promise faster withdrawals thanks to the presence of a specompleted. Lido does promise faster withdrawals thanks to the presence of a special buffer - but only if there is no exit queue (which is full at the moment).
Lido also announced special withdrawal NFTs. When a user submits a request to unstake ETH, they will be issued a special NFT as proof. To claim the ETH, the user will have to burn the NFT,but it will also be possible to send it to another address or even list it on a marketplace.
Meanwhile, Binance said it would enable unstaking requests on April 19.
What happened after Shanghai
Between April 12 and 17, the total staked balance dropped by 651,000 ETH ($1.35 billion). Daily ETH deposits don’t compensate for the much larger withdrawals: as per Nansen, the net outflow reached 81k ETH on April 16 alone.
According to TokenUnlocks, daily reward withdrawals have gone down quickly after Shanghai as validators received what they had accumulated in the past two and a half years.
Note on the chart that principal withdrawals (in yellow) are tiny in comparison. Pending withdrawals (including rewards) stood at $1.83 billion on April 17, while the system managed to process around $108 million a day. It seems that those who want to get their whole stake back will indeed have to wait for a long time.
The biggest stakers by the amount of ETH submitted for withdrawal as of April 17 were:
- Kraken (46.1%), which stopped offering staking services in February 2023 (and even had to pay a $30 million fine) when the SEC accused it of selling unregistered securities. The exchange set its validators for deactivation and full withdrawal;
- Binance (22.3%);
- Coinbase, which enabled ETH withdrawals on April 13, 24 hours after the upgrade.
- Lido Finance, which accounted for 63% of all withdrawn ETH in the first couple of days and 25% in the first week.
What’s next for ETH and the crypto market?
Many predicted that the price of ETH would fall after the upgrade, but it went up instead. On April 14, it reached $2,100 for the first time since May 2022, on very high trading volume. However, this could be partly due to the good macroeconomic results for March: CPI (inflation) and producers price index (PPI).
We should be careful when drawing conclusions, as high volatility is common after important events. Here are a few considerations:
- There will be no avalanche of withdrawals. First, the number of validators that want to exit fully isn’t as great as some thought: fewer than 27,000 out of 571,000 as of April 17.
- Second, withdrawals will be distributed across several weeks and even months. For example, Binance announced it would enable withdrawals on April 19, and Lido Finance introduced a two-week waiting period. Once these two weeks are over, there might be a large inflow of withdrawal requests from Binance and Lido liquid stakers, but this won’t the total daily amount the network can process - only increase the waiting time.
- The possibility to unstake ETH might attract new users, and this could partially offset the withdrawals.
- Unstaked ETH may flow to exchanges, but gradually, so selling pressure can be mitigated by buyers. In the mid-term, Shanghai probably won’t have a serious impact on the ETH price.
- In a nutshell: don’t panic or make long-term conclusions based on what happens immediately after Shanghai. Like everything in crypto, ETH withdrawals and liquid staking are narratives, and it’s common for narratives to cause temporary volatility around an event.
Will ETH liquid staking remain popular?
Liquid staking protocols like Lido Finance got a huge boost after the news of the Shanghai upgrade came out in January. Lido’s staking TVL surged 80% from $6.2 bn to $11.2 billion, and the price of LDO itself rose by 150% since the start of 2023.
The idea is that ETH withdrawals will make liquid staking even more attractive. Before, you could deposit LSDs (liquid staking derivatives) in DeFi protocols and earn extra rewards, but you couldn’t redeem the ETH. Now you’ll be able to get the best of both worlds. This can draw in a lot of ETH holders who were reluctant to commit to staking previously.
Lido Finance itself is already preparing for the post-Shanghai era, specifically for an inflow of would-be validators. Lido currently has over 150,000 validators in its network, mostly operated by institutional partners like Chorus One. However, it doesn’t accept new ones, and even when there is a slot, the review process is complicated.
To make it easier for validators to join, Lido will introduce a Staking Router - a modular structure that will split validators into several sets. One set will include professional operators, another for validators from the community, another for DAOs, and so on.
Check out native delegated APT staking on Liquidswap as an easier, low-cost alternative to ETH staking. It’s on testnet for now, so you can practice without committing any real funds before the mainnet release. Pontem has many more features in the pipeline for Liquidswap and Pontem Wallet, so follow us on Telegram, Twitter, and Discord for the latest updates!
About Pontem
Pontem Network is a product studio building foundational dApps for Aptos. Our products include Pontem Wallet; Liquidswap, the first DEX (AMM) for Aptos; browser code editor Move Playground; the Move IntelliJ IDE plugin for developers; and the Solidity to Move translator ByteBabel -- the first implementation of the Ethereum Virtual Machine for Aptos.