Skip to main content
The execution client provides the EVM runtime and transaction processing for your OP Stack node.
op-geth has reached end-of-support (2026-05-31) and does not support the now-active Karst hardfork, so op-geth nodes can no longer follow the canonical chain. Migrate to op-reth — see the op-geth deprecation notice.
Always run your execution client and consensus client in a 1:1 configuration. Don’t run multiple execution clients behind one consensus client, or vice versa.

Execution clients

op-reth is a Rust-based execution client and the primary supported path for OP Stack nodes going forward.

Minimal configuration

Historical proofs

Permissionless chains need ~28 days of historical state for withdrawal proving. Follow the Running op-reth with Historical Proofs tutorial to set up the --proofs-history (v2) store on op-reth v2.2.3 or later.

Pruning

op-reth defaults to an archive node. To reclaim disk, prune the state and receipt segments and keep block bodies. Body pruning (--minimal or --prune.bodies.distance) is unsupported and advised against. See Pruning op-reth.

Complete reference

JWT secret

The execution client and consensus client communicate over the Engine API using a shared JWT secret:
This file must be identical for both your execution client and your consensus client.

op-geth (legacy — end of support 2026-05-31)

op-geth reached end-of-support on 2026-05-31 and does not support the now-active Karst hardfork. For new deployments, use op-reth (above). See the op-geth deprecation notice for the migration plan.
op-geth is a minimal fork of go-ethereum optimized for the OP Stack.
Although the Docker image is called op-geth, the actual binary is still named geth to minimize differences from go-ethereum. See the op-geth diff viewer for details.

Minimal configuration

Defaults: snap sync mode, no WebSocket server, no metrics.

OP Stack specific flags

  • --rollup.sequencerhttp: HTTP endpoint of the sequencer for transaction submission
  • --rollup.disabletxpoolgossip: Disables transaction pool gossip (for replica nodes)
  • --rollup.historicalrpc: Enables historical RPC endpoint for upgraded networks (OP Mainnet pre-bedrock archive nodes)

Complete reference

For all available configuration options, see the op-geth configuration reference.