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).