Skip to main content
This section is for node operators, RPC providers, and readers of the Celo L2 protocol specification. The fastest path to a synced node is Run a node with Docker. Ask in #celo-L2-support on Discord if you get stuck.
Celo is replacing op-geth with op-reth as its execution client. See End of Support for op-geth for each network’s switch date.

Run a node

Node types and execution clients

What a Celo L2 node is, the node tiers, and which execution client to run.

Run a node with Docker

Bring up a full node with op-reth from a published snapshot.

Run an archive node

Keep all historical state so the node answers RPC calls at any block.

Run a public RPC node

Settings for a node that serves public JSON-RPC traffic.

Keep a node healthy

Monitoring

Enable the monitoring stack and watch sync status and node health.

Upgrades and maintenance

Upgrade clients, restart safely, and back up node data.

Troubleshooting

Fixes for stalled transactions, stalled syncs, and a node that finds no peers.

Historical proofs

Serve deep eth_getProof requests from op-reth without running an archive node.

Reference

Configuration

The environment variables and client flags used by celo-l2-node-docker-compose.

Network config and assets

Bootnodes, container images, and downloadable artifacts for each network.

FAQ

Answers to common questions about running nodes on Celo L2.

Protocol specification

Celo L2 specification

How the Celo L2 differs from the OP Stack it is built on.

Deployments

Deployment parameters and OP Stack config for Celo mainnet and Celo Sepolia.

Jovian upgrade

Optimism’s Jovian hardfork plus Celo’s transfer precompile and gas pricing changes.

Network notices

Active notices

Upgrade notices and deprecations that need action from node operators.