Hey Celo Community,
It’s official: as of today, July 22, 2026, Celo Mainnet is running op-reth.
The transition from op-geth to op-reth is complete on both networks. Celo Sepolia made the switch on June 24, Mainnet followed today, and the network is running on the new execution client. Thank you to every node operator, RPC provider, and infrastructure partner who migrated ahead of the switch and helped make this a smooth one.
If You Haven’t Migrated Yet
Most operators are already on op-reth, but if your node is still running op-geth, now is the time to move. op-geth will not not be supported going forward, and nodes still running op-geth at activation will not be able to follow the canonical chain in the future.
The Celo-compatible op-reth release is out and the docs are updated. Start with the End of Support for op-geth notice, which has the release and full instructions. The short version:
- Follow Run a node with Docker to get op-reth running.
- Your old op-geth datadir will not carry over. op-reth uses a different on-disk format, so start it with an empty
DATADIR_PATHand bootstrap from a published snapshot (OP_RETH__SNAPSHOT=true, required on mainnet). No L1 data migration needed. - Running an archive node or need L2 historical data? See Running an archive node.
- The Configuration reference covers the
OP_RETH_\_\*variables, and the latest images live in celo-l2-node-docker-compose. - Check snapshots.celo.org for available snapshots and more information regarding snapshots.
- Prefer to build the image yourself? Build from the celo/reth-v1.0.1 release.
op-node itself remains fully supported, but we recommend adding or updating these flags on your op-node(s) when pairing it with op-reth:
\--l2.enginekind=reth
\--syncmode=execution-layer
Bootstrapping from a snapshot is quick, usually 1 to 3 hours depending on your config, so if you still need to migrate you can be caught up the same day.
RPC Providers and Infrastructure Partners
For most RPC consumers, this is a non-event. op-reth speaks the same standard JSON-RPC as op-geth.
If you run a bridge, indexer, or anything that leans on non-standard, tracing, or debug RPC methods and haven’t validated against op-reth yet, do so now. Both Sepolia and Mainnet are on the new client, so you can test against either.
Where to Follow Along
- The Celo Forum
- The celo-l2-node-docker-compose repository
- Celo developer documentation
Thanks again to everyone who helped get us here. Two networks, one execution client.
The Engineering Team, Celo Core Co.