Scroll will undergo Euclid hard-fork in March/April 2025 which will change the underlying representation of the state. This will deprecate the existing Scroll l2geth databases and it will not be possible to migrate them to the new state representation.

Node runners are advised to upgrade to the new l2geth version by either seeding them with the Scroll-provided database snapshot or syncing them from scratch.

Scroll Sepolia Upgrade Time 1741680000 (Tue Mar 11 2025 08am UTC)
Scroll Mainnet Upgrade Time TBD
Minimum Required L2Geth Version Scroll Sepolia: scroll-v5.8.23
Scroll mainnet: TBD
Disk requirements for the new state (Archive) 2 TB (Snapshot size: 1.32TB)

Upgrade process for existing ZkTrie nodes

Existing nodes can be upgraded in-place without any changes to the database or command-line flags. These nodes will work just fine prior to the Euclid fork and provide all the functionality they normally provide. After the fork boundary, they will be allowed to stay connected to the network, follow the chain and take part in the P2P gossip network. But they will stop verifying state roots that come with block headers and they won’t be able to provide state proofs for any of the Euclid blocks.

Spinning up new nodes (MPT nodes)

New nodes that use the new state representation can be spun up with the additional --scroll-mpt command line argument or by using the genesis files provided here. Similarly, these nodes won’t be able to verify the state or provide state proofs for pre-Euclid blocks. But they will be able to take part in the P2P network at full capacity.

For use-cases that require uninterrupted access to state proofs, it is required to run both types of instances (zktrie/mpt) and route requests to the appropriate instance.