snap sync from scratch — no L1 data migration required.
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. Runs with
snapsync by default, so it can start without a migrated L1 datadir. 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 — the execution client Celo is adopting as the primary client going forward, built on
reth. A Celo-compatible release and migration guide are coming. - op-geth — the execution client used today. It is being deprecated ahead of the Ethereum Glamsterdam hardfork but remains fully supported until then. All current guides use
op-geth.
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).