PIP-23: Proposal to activate Ethereum Shanghai features


Marcello Ardizzone (@marcell033), Sandeep Sreenath (@ssandeep)

Type: Core

Table of Contents:

  • Abstract
  • Motivation
  • Specification
  • Backward Compatibility
  • Reference Implementation
  • Copyright


This proposal specifies the activation of Shanghai features (introduced by Ethereum - L1) on Polygon PoS network (L2). This will enable a set of functionalities which are live on Ethereum Mainnet since Beacon Chain Epoch 194048 (timestamp 1681338455, UTC datetime 4/12/2023 10:27:35 PM, fork hash 0xdce96c2d).


As bor is a fork of geth, the practice of merging upstream changes gives Polygon the opportunity to enable new features defined in the L1.
With the Shanghai PIP, we plan to upgrade our network with a subset of EIPs included in Ethereum.


The Shanghai PIP will enable the following upgrades:

Compared to Ethereum Shanghai upgrade, the following EIP will not be included in Polygon specs:

The aforementioned EIP has been specifically excluded because Polygon PoS has no concept of beacon chain. Whilst Ethereum validators are now enabled to withdraw ETHs, in Polygon PoS chain the validators staking is done on Ethereum L1 directly, and its operations are synced with bor chain by using heimdall layer.

Backwards Compatibility

This PIP will not be backward compatible with the current implementation of bor and will therefore require a hard fork.

Reference Implementation

The following PRs implements the changes from upstream go-ethereum v1.11.6, including the mentioned Shanghai related EIPs.

New changes to the code will be made once the block heights for the hard forks (on testnet and mainnet) are defined.


All copyrights and related rights in this work are waived under CC0 1.0 Universal.

1 Like