Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ethrex

ethrex is a minimalist, stable, modular, fast, and ZK native Ethereum client built from the ground up with zero-knowledge proving in mind. Whether you're running an L1 node or building an L2, ethrex provides the foundation for verifiable Ethereum execution.

Why ethrex?

FeatureDescription
Minimalist~100k lines of Rust vs 500k+ in mature clients. Less code means fewer bugs and faster iteration.
Multi-proverSupport for SP1, RISC Zero, ZisK, OpenVM, and TEEs. Choose the proving backend that fits your needs.
Unified L1/L2Same execution client for mainnet nodes and L2 rollups. Consistent behavior across layers.
ZK-OptimizedData structures and algorithms designed to minimize proving overhead from day one.

zkVM Integrations

ethrex integrates with multiple zero-knowledge virtual machines, giving you flexibility in how you prove Ethereum execution.

zkVMOrganizationL1 SupportL2 SupportStatus
SP1SuccinctProduction
RISC ZeroRISC ZeroProduction
ZisKPolygonPlannedExperimental
OpenVMAxiomPlannedExperimental
TEE (TDX)IntelProduction

tip

For L2 deployments, you can run multiple provers simultaneously for redundancy. See multi-prover deployment.

Quick Start

Run an L1 node:

# Install ethrex
cargo install ethrex

# Start syncing mainnet
ethrex --network mainnet

Deploy an L2:

# See the full deployment guide
# https://docs.ethrex.xyz/l2/deployment/overview.html

Architecture Highlights

ethrex's architecture is optimized for both traditional execution and ZK proving:

  • Stateless execution - Block execution can run with only the necessary witness data, enabling efficient proving
  • Modular VM (LEVM) - Our EVM implementation is designed for clarity and easy auditing
  • Optimized tries - Merkle Patricia Trie operations are tuned to reduce zkVM cycle counts
  • Precompile patches - Cryptographic operations use zkVM-accelerated implementations when available

Learn More

Get Involved

  • GitHub - Star us, open issues, contribute
  • Telegram - Join the community chat
  • Blog - Technical deep dives and updates