How to run an archive node
An Arbitrum archive node is a full node that maintains an archive of historical chain states. This how-to walks you through the process of configuring an archive node on your local machine so that you can query both pre-Nitro and post-Nitro state data.
Most users won't need to configure an archive node. This type of node is great for a small number of use-cases - for example, if you need to process historical data.
Before we begin
Before the Nitro upgrade happened, Arbitrum One was running on the Classic stack for about one year (before block height 22207817). Although the Nitro chain uses the latest snapshot of the Classic chain's state as its genesis state, the Nitro stack can't serve archive requests for pre-Nitro blocks.
Running an Arbitrum One full node in archive mode lets you access both pre-Nitro and post-Nitro blocks, but it requires you to run both Classic and Nitro nodes together. You may not need to do this, depending on your use case:
Use case | Required node type(s) | Docs |
---|---|---|
Access the Arbitrum network without running your own node | Fully managed by third-parties, exposed via RPC endpoints | RPC endpoints and providers |
Run an archive node for Arbitrum Sepolia (testnet) or Arbitrum Nova | Full node (Nitro) | How to run a full node (Nitro) |
Send post-Nitro archive requests | Full node (Nitro) | How to run a full node (Nitro) |
Send pre-Nitro archive requests | Full node (Classic) | How to run a full node (Classic, pre-Nitro) |
Send post-Nitro and pre-Nitro archive requests | Full node (Nitro) and full node (Classic) | That's what this how-to is for; you're in the right place. |