The Shanghai Upgrade, also called the Shapella Upgrade, is a hard fork of the Ethereum network implemented on April 12, 2023, at 22:27 UTC. It completed Ethereum's transition from proof-of-work (PoW) to proof-of-stake (PoS), mainly by enabling validators to withdraw staked ETH from the Beacon Chain for the first time. The name "Shapella" combines "Shanghai," referring to changes at Ethereum's execution layer, and "Capella," referring to changes at the consensus layer.
The Ethereum network launched in 2015 using a PoW consensus mechanism similar to Bitcoin's but with one key difference: the ability to execute smart contracts. As the platform attracted more developers and users, transaction throughput became a persistent challenge. Ethereum's co-founder, Vitalik Buterin, described this as part of a broader "blockchain trilemma," the idea that improving scalability often sacrifices security or decentralization. Ethereum's solution was to replace PoW entirely with PoS, a shift that unfolded over several years and multiple network upgrades.
In December 2020, Ethereum launched the Beacon Chain, a separate PoS blockchain running in parallel to the existing PoW mainnet. The Beacon Chain served as a testing ground for the new consensus mechanism and required participants to stake a minimum of 32 ETH to register as validators. These validators were responsible for storing data, processing transactions, and proposing new blocks. In exchange, they earned staking rewards at an annual rate of approximately 5%.
However, staked ETH and all accumulated rewards were locked in the Beacon Chain deposit contract with no way to withdraw them. This was a deliberate decision by Ethereum core developers to ensure the PoS system worked correctly before adding the complexity of withdrawals. When the Merge occurred in September 2022, combining the PoW mainnet with the Beacon Chain, ETH remained locked. By the Shanghai Upgrade, roughly 18 million ETH, about 15% of the total circulating supply, had been staked and was inaccessible to its owners.
The Shanghai Upgrade included five Ethereum Improvement Proposals (EIPs). The centerpiece was EIP-4895, which enabled staking withdrawals, while the other four targeted significant reductions in gas costs for developers. Together, these changes addressed the most pressing user demand and ongoing efficiency issues within the Ethereum Virtual Machine (EVM).
EIP-4895, titled "Beacon chain push withdrawals as operations," introduced a system-level mechanism allowing validators to transfer ETH balances from the Beacon Chain to the execution layer. Instead of requiring validators to send a transaction to trigger a withdrawal, the system "pushes" withdrawals automatically, so no gas fees are needed. A rate limit on withdrawals per block prevents sudden large-scale liquidity events from destabilizing the network.
After the upgrade, validators had two withdrawal options. A partial withdrawal lets a validator collect rewards accumulated above the base 32 ETH stake while remaining active on the Beacon Chain and continuing block validation. A full withdrawal involves exiting the validator role entirely. To do this, the validator submits a voluntary exit message using their keys, placing their account in an exit queue. The exit time depends on how many other validators are leaving simultaneously. Once complete, the account status changes to "withdrawable," and the full balance, including the original 32 ETH and all rewards, is sent to the designated withdrawal address.
The four remaining EIPs bundled with the Shanghai Upgrade addressed gas inefficiencies across several parts of the EVM.
EIP-3651 made the COINBASE address, the software address through which validators receive block rewards and transaction fees, "warm" at the start of transaction execution. Previously, the address was treated as "cold," meaning accessing it carried a disproportionately high gas cost, particularly in the context of Maximal Extractable Value (MEV) payments. The change reduced gas costs for builders and validators carrying out these operations.
EIP-3855 introduced a new opcode called PUSH0, which allows smart contracts to push a constant value of zero onto the stack at a cost of just 2 gas. Before this change, contracts relied on workarounds that increased code size and gas usage unnecessarily. Analysis showed that roughly 11.5% of all PUSH instructions on the mainnet were pushing a zero value, making the change broadly applicable.
EIP-3860 extended an existing limit on "initcode," the special code used to deploy new smart contracts, setting a new maximum size of 49,152 bytes and adding a small gas cost per byte. The change improved fairness in gas calculation and simplified how EVM engines handle contract deployment.
EIP-6049 was a deprecation notice for the SELFDESTRUCT opcode, alerting developers against building new contracts that depend on it, ahead of its eventual full removal in a later upgrade.
Before activation, there was significant debate about how releasing locked ETH might affect the market. Some analysts predicted a sharp sell-off as early stakers, many of whom had staked ETH at much lower prices, sought to realize profits. Others expected new participants, especially institutions that had avoided staking due to indefinite lockup risk, to enter the market. In the months after the upgrade, staked ETH deposits increased by more than 4.4 million ETH, pushing the total past 22.5 million. This suggested that removing withdrawal restrictions boosted confidence in staking rather than causing widespread exits.
The upgrade also had direct implications for liquid staking platforms such as Lido and Rocket Pool. These services allow users to stake ETH without meeting the 32 ETH minimum by pooling funds, issuing a liquid token in return that can be used in decentralized finance (DeFi) applications. Liquid staking accounted for a substantial share of the staking market before the upgrade. By enabling direct withdrawals from the Beacon Chain, the Shanghai Upgrade reduced one of the core value propositions of these services, namely the ability to access staked value before an official withdrawal mechanism existed. The longer-term competitive dynamics between solo staking, pooled staking services, and liquid staking protocols continued to evolve following the upgrade.