A modular, Rust-native execution client for Arbitrum, built on reth.
Arbitrum Reth is a ground-up Rust implementation of Arbitrum Nitro's execution layer. It replaces Nitro's embedded Geth fork with reth, delivering the same state-transition logic through a modular crate architecture designed for extensibility.
Each component (ArbOS state management, L1/L2 pricing, precompiles, Stylus WASM execution) lives in its own crate and builds on reth's trait system (BlockExecutor, StateProvider, EvmConfig). This makes Arbitrum Reth usable both as a full node and as an SDK for building Arbitrum-compatible tooling and infrastructure.
Supported networks: Arbitrum Sepolia (421614)
cp .env.example .env
# Set PARENT_CHAIN_RPC_URL and PARENT_CHAIN_BEACON_URL
docker compose up -dRequirements: Rust 1.93+, clang, cmake
cargo build --release -p arb-rethRun the node:
./target/release/arb-reth node \
--chain=genesis/arbitrum-sepolia.json \
--datadir=/path/to/data \
--http \
--http.addr=0.0.0.0 \
--http.api=eth,web3,net,debug \
--authrpc.addr=0.0.0.0 \
--authrpc.jwtsecret=/path/to/jwt.hex| Port | Service |
|---|---|
| 8545 | JSON-RPC (HTTP) |
| 8551 | Engine API (JWT auth) |
See .env.example for all configuration options.
Arbitrum Reth is organized as a Cargo workspace of focused, independently consumable crates:
crates/
├── arbos/ Core ArbOS state machine, pricing models, retryables
├── arb-evm/ Block executor, custom opcodes, EVM integration
├── arb-precompiles/ Arbitrum precompile contracts (0x64+)
├── arb-stylus/ Stylus WASM runtime and host functions
├── arb-primitives/ Transaction types, receipts, gas types
├── arb-chainspec/ Chain spec and ArbOS version constants
├── arb-storage/ Storage-backed types over reth's StateProvider
├── arb-node/ Node builder plugin for reth
├── arb-rpc/ Custom JSON-RPC methods
├── arb-payload/ Payload building primitives
└── arb-txpool/ Transaction pool validation
bin/
├── arb-reth/ Node binary
└── gen-genesis/ Genesis state generator
All crates integrate with the reth ecosystem through its standard traits and can be consumed individually as libraries for custom tooling, indexers, or alternative node configurations.
git clone https://github.com/0xBloctopus/arbitrum-reth.git
cd arbitrum-reth
cargo check
cargo testPlease open an issue before starting work on larger changes.
Licensed under the Business Source License 1.1, consistent with the Arbitrum Nitro license. See LICENSE.md and NOTICE for full terms and third-party attributions.
Arbitrum Reth builds on the work of several projects:
- reth by Paradigm, the modular Ethereum execution client that provides the node framework, trait system, and database infrastructure that Arbitrum Reth extends.
- Arbitrum Nitro by Offchain Labs, the Arbitrum node implementation that Arbitrum Reth is derived from.
- revm, the Rust EVM that powers transaction execution.
- alloy, Rust types and primitives for the Ethereum ecosystem.