Overview
What Nitro is, why it replaced the original Arbitrum stack, and how it powers Arbitrum One and Nova.
Third-party documentation. This is independently authored analysis of the public Arbitrum Nitro codebase — not the official docs, and not reviewed or endorsed by the Arbitrum Nitro team.
Overview
Arbitrum Nitro is the second-generation rollup stack built by Offchain Labs, and the engine behind Arbitrum One and Arbitrum Nova — two of the largest L2s by total value locked. Nitro replaced the original Arbitrum architecture (which used a bespoke AVM machine) with a far simpler and more compatible one: a Geth-derived execution core wrapped in a custom OS layer (ArbOS), with fraud proofs that run the same Geth core compiled to WASM.
Why the rewrite
The first-generation Arbitrum used a custom virtual machine (the AVM) with its own instruction set, which meant developers could not simply treat the chain like Ethereum — compiler output, tooling, and gas semantics all had to be mapped onto a foreign runtime. Nitro's bet was that running actual Geth eliminates that friction: an Arbitrum L2 executes standard EVM bytecode, exposes the standard Ethereum JSON-RPC, and only adds an OS layer on top for the parts that must differ (bridging, fees, L1 interplay).
What runs where
- The node software — a single Go binary,
nitro-node, which can act as sequencer, validator, staker, relayer, or full node depending on configuration. - Execution — a fork of go-ethereum, plus ArbOS compiled into the state: a "nested OS" that manages L1-to-L2 messages, gas accounting, and fee collection.
- Settlement — a set of L1 Solidity contracts (
Bridge,Inbox,Outbox,SequencerInbox) that anchor ordering, deposits, and withdrawals. - Fraud proofs — a WASM interpreter running on L1 that replays the Geth-derived machine one step at a time to settle disagreements.
Arbitrum One vs. Nova
Nitro ships in two data modes from the same codebase:
- Arbitrum One — a classic rollup: all transaction data is posted to Ethereum L1 (initially calldata, later blobs).
- Arbitrum Nova — an AnyTrust chain: batch data is entrusted to a Data Availability Committee (DAC), drastically cutting data costs at the price of a trust assumption about the committee (see the Data Availability module).
Reading this documentation
The modules proceed from how the system is composed (architecture), through ordering and execution (sequencing, execution), data availability, settlement and bridging, and finish with the SDK and examples that application developers reach for.
