What is a Celo L2 node?
A Celo L2 node is made up of two core services, plus an optional third:- Rollup node (
op-node) β derives L2 blocks from L1 data, analogous to a consensus client. - Execution client β executes those blocks and exposes the standard Ethereum JSON-RPC API.
- Legacy L1 (optional) β serves stateful queries for blocks and transactions from before the L2 transition.
Node types
- Full node β follows the chain and serves recent state. Starts from an empty datadir β bootstrap it from a published snapshot (or sync from genesis on Celo Sepolia), with no migrated L1 datadir required. This is the right choice for most operators.
- Archive node β additionally preserves all historical state, at the cost of terabytes of storage. See Running an archive node.
Execution client
- op-reth β Celoβs primary execution client, built on
reth. The guides in this section useop-reth. - op-geth β the previous execution client. It is deprecated in favor of
op-rethand remains supported only until your networkβs switch date.
Guides
- Run a node with Docker β the fastest way to get a full node syncing (also covers building from source).
- Run an archive node β preserve access to all historical state.
- Run a public RPC node β operate a public JSON-RPC endpoint (and optionally earn rewards).
- Monitoring & metrics β enable the Grafana/Prometheus stack and watch sync health.
- Upgrades & maintenance β upgrade clients, restart safely, and back up your data.
- Troubleshooting β fixes for common node issues.
- Configuration reference β the
.envvariables and key client flags. - Network Config & Assets β bootnodes, container images, and downloadable artifacts.
- Migrate an L1 node β for operators moving existing Celo L1 data to L2 (legacy path).