op-geth and the transition to op-reth as the supported execution client for Celo. It includes key information for node operators, RPC providers, and bridge operators.
Celo is switching its execution client from op-geth to op-reth. All node operators must migrate to op-reth by the switch date for their network to remain in sync with the canonical chain.
Switch dates
- Celo Sepolia: June 24, 2026
- Mainnet: late July 2026
Summary Of Changes
Following Optimism’s deprecation of op-geth, Celo will also discontinue support forop-geth and adopt op-reth as the primary execution client.
op-geth: Supported only until the switch date for each network. After that, it might follow the wrong chain.op-reth: The new supported execution client built onreth.op-node: No changes. It remains fully supported.
Requirements for Node Operators
Node operators must complete migration toop-reth by the switch date for their network (see above).
A Celo-compatible op-reth release is available, and the node-operator guides now use it:
- Follow Run a node with Docker to run
op-reth. A new node starts from an empty datadir — bootstrap it from a published snapshot (OP_RETH__SNAPSHOT=true, required on mainnet) or, on Celo Sepolia, sync from genesis; no L1 data migration is required. - A migrated
op-gethdatadir cannot be reused —op-rethuses a different on-disk format. Startop-rethwith an emptyDATADIR_PATH. - For archive nodes and pre-L2 historical state, see Running an archive node.
- See the Configuration reference for the
OP_RETH__*variables, and the celo-l2-node-docker-compose repository for the latest images.
RPC Providers and Bridge Operators
For most RPC users, this transition should be seamless.op-reth supports the same JSON-RPC interface as op-geth.
However, some differences may exist in non-standard or debug RPC methods. We recommend validating your integrations against op-reth on Celo Sepolia, which switches first (see the dates above).