Arc Mainnet is now live on Chainstack! Deploy reliable nodes for stablecoin finance today.    Start building
  • Agents
  • Pricing

What is an archive node and when do you need one

Created Oct 13, 2026 Updated Oct 13, 2026
Archive Node logo

An archive node is a blockchain node that keeps the full state history from genesis, so it can answer balance, storage and trace queries at any past block. A standard full node keeps state for only the latest ~128 blocks on most EVM clients.

Your dApp sends an RPC request to fetch a wallet balance or smart contract state from six months ago, only to receive an abrupt failure: a missing trie node or state pruned error.

Developers often build under the hidden assumption that every blockchain node maintains infinite history. They discover too late that their application’s growth, auditing requirements, and analytical features depend entirely on historical state data that standard nodes have already discarded.

To query past states without re-executing millions of historical transactions on demand, you need an archive node.

When do you actually need an archive node?

Because storing all that history takes multi-terabyte NVMe storage, archive endpoints cost more to run and consume more request units. On Chainstack, an archive request costs 2 request units (RU) against 1 RU for a full request. You should only spin one up if your app actually needs past data.

You need an archive node for workflows like:

  • Historical data indexing: Powering subgraphs, custom indexers and analytics pipelines that need continuous event logs across past blocks without hitting pruned state errors.
  • MEV and arbitrage: Tracing multi-hop liquidations and analyzing past arbitrage execution paths against exact historical protocol states.
  • Audit trails, forensics and tax reporting: Tracking down an exploit that happened months ago, rebuilding a user’s wallet history or pulling precise transaction records for tax compliance.

To determine whether your application requires an archive node or if a standard full node is sufficient, use the decision flowchart below:

Decision guide: do you need an archive node? Full node if you only need recent data or old logs; archive node for past EVM state and traces; archive access for past Solana blocks and transactions

The same logic in three questions:

  • Does the request target an old block? On most EVM full nodes, state is kept for only the latest ~128 blocks. A state query against anything older returns missing trie node. On Solana, a full node on Chainstack holds roughly 1.5 days of history.
  • Does it need historical state, not just events? Balances, contract storage, eth_call and traces at a past block need an archive node. Logs and receipts do not read the state trie.
  • Do you only read the latest state? Then a full node is enough, and it costs less.

Not every blockchain has a true archive mode, and what counts as “historical” varies by protocol. Ethereum, BNB Smart Chain and Robinhood Chain offer archive modes that retain full historical state, while Solana’s archive access covers its full ledger of blocks and transactions.

Other networks provide only an extended history window, which is the approach behind Chainstack Extended Nodes, and some have no full versus archive split at all.

Full, extended, archive and light nodes compared

Four node types differ in how much of the chain they keep. A light node keeps only block headers and relies on full nodes for everything else. A full node keeps and validates the chain, but holds only a limited amount of historical state. An extended node is a full node that keeps more history than a standard one, but not a complete archive. An archive node adds the historical state from genesis, so it can answer queries about any past block. These definitions follow Chainstack’s infrastructure glossary and Modes and types.

FeatureLight nodeFull nodeExtended nodeArchive node
What it keepsBlock headers onlyChain data and recent state (the latest ~128 blocks of state on most EVM clients)Chain data and a longer history window than a full nodeChain data and historical state from genesis
What it can answerLittle on its own; it asks full nodesLatest state, recent blocks, sending transactions, logs and receiptsWhat a full node answers, plus older history within its windowBalances, storage, eth_call and traces at any past block
Typical useWallets and devices with little storageMost live appsApps that need a longer look-back without a full archiveIndexers, analytics, audits and forensics
Request cost on Chainstackn/a1 RU1 RU (billed like a full node)2 RU per archive request
Availability on Chainstackn/aStandard on supported protocolsGlobal Nodes only, on selected protocolsPaid plans, on supported protocols
Ethereum mainnet disk (Reth docs, June 2025)n/aAt least 1.2 TBn/aAt least 2.8 TB

How far back an extended node goes depends on the protocol and can change, so read the range from the node instead of assuming a fixed depth. Chainstack’s Extended history page lists how Sui, the XRP Ledger and Stellar report theirs.

“Archive” does not mean the same thing on every chain. Bitcoin has no separate archive class, because its chain state is the UTXO set derived from the chain itself, and Chainstack’s Bitcoin nodes are non-pruned with txindex enabled, so every block and transaction from genesis is queryable. TRON archive mode serves the complete block and transaction history but not historical state, because java-tron has no state-at-block queries. See Modes and types for the details.

What breaks on a full node

Ask a full node for state at a block outside its window and the request fails. This eth_getBalance call targets an old block, 0x7d8e91:

curl YOUR_CHAINSTACK_ENDPOINT \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["YOUR_WALLET_ADDRESS","0x7d8e91"],"id":1}'

A full node answers with error -32000 and a missing trie node message. An archive node returns the balance. Swap 0x7d8e91 for latest and a full node answers too. The same pattern applies across the node’s API:

  • Needs historical state: eth_getBalance, eth_getStorageAt, eth_getCode, eth_getTransactionCount, eth_call, eth_estimateGas, eth_getProof, eth_simulateV1, and the debug_* and trace_* namespaces.
  • Does not need it: eth_getLogs and eth_getTransactionReceipt read events and receipts rather than the state trie, so they work on full nodes regardless of block age. See EVM node returns “Missing trie node”.
  • Solana: getTransaction, getBlock, getBlockTime, getBlocks, getBlocksWithLimit, getSignaturesForAddress, getFirstAvailableBlock and getSignatureStatuses reach into the archive once the slot is older than the full node’s retained ledger.

On Chainstack Global Nodes, each request is classified on its own. An EVM call that targets a block 127 or more behind the tip is an archive request (2 RU), and anything closer is a full request (1 RU). See Request units for the full rules.

Network-specific architectures and challenges

While the core principle of retaining genesis-to-present history remains consistent, how each blockchain stores, indexes and queries that state varies significantly. From client execution mechanics and gas limits to custom database models, examining how specific networks handle historical data highlights why your infrastructure choices must adapt to each ecosystem.

Ethereum logoEthereum

Standard Ethereum nodes routinely prune older state to conserve disk space, whereas archive nodes retain the full state history from genesis. Storing that history takes multi-terabyte NVMe storage, and your execution client matters a great deal. Reth and Erigon store history more compactly and typically serve historical queries faster than Geth’s classic archive mode.

{
  "jsonrpc": "2.0",
  "method": "debug_traceTransaction",
  "params": [
    "YOUR_TX_HASH",
    {"tracer": "callTracer"}
  ],
  "id": 1
}

Archive endpoints are essential for tracing historical blocks and auditing past smart contract state, since a full node can only trace within its recent retained window. Chainstack serves Ethereum archive nodes, with Debug & Trace on a paid plan.

BNB Smart Chain logoBNB Smart Chain (BSC)

BNB Smart Chain presents a distinct scaling challenge. Since the Fermi upgrade in January 2026 it has run a 450-millisecond block interval. After the Pasteur hard fork on August 25, 2026, validators began raising the target block gas limit to about 70 million in September. That combination gives BSC far more gas capacity per second than Ethereum, putting heavy pressure on storage.

For anyone maintaining unpruned history locally, the result is heavy disk I/O and slower syncs over time. Managed archive infrastructure is vital here for tracking high-frequency DEX swaps and indexing historical token event logs at scale. Chainstack offers BNB Smart Chain nodes in full and archive modes.

Solana logoSolana

Solana bypasses the EVM trie model entirely. Accounts live in AccountsDB, which serves the latest version of each account and cleans up superseded versions. Very high slot throughput produces a massive ledger, so standard validators keep only a recent window of it.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlock",
  "params": [
    250000000,
    {
      "encoding": "json",
      "maxSupportedTransactionVersion": 0,
      "transactionDetails": "full"
    }
  ]
}

Archive endpoints give you access to the full historical ledger, which developers use to retrieve past blocks and transactions, audit address activity, and trace SPL token balance changes from transaction metadata. Chainstack serves Solana archive nodes on mainnet and devnet.

Robinhood Chain logoRobinhood Chain

Robinhood Chain is an Arbitrum Orbit Layer-2 running the Nitro client and settling to Ethereum. It launched on mainnet on July 1, 2026, and it inherits Ethereum’s EVM state model, but at a much faster pace: it targets roughly 100 milliseconds of confirmation latency through preconfirmations. At that pace, a full node that retains only the latest 128 blocks covers about 13 seconds of state, and anything older requires an archive node.

{
  "jsonrpc": "2.0",
  "method": "debug_traceTransaction",
  "params": [
    "YOUR_TX_HASH",
    {"tracer": "callTracer"}
  ],
  "id": 1
}

For a chain built around tokenized real-world assets, that matters for institutional reporting, compliance replay, and net asset value (NAV) reconstruction. Archive endpoints also unlock debug_traceTransaction and debug_traceCall on historical blocks, letting you audit past contract interactions and execution paths. Chainstack supports Robinhood Chain in full and archive modes, with debug and trace on Global Nodes.

Chain architecture comparison

To summarize how archive requirements differ across production networks, the table below outlines their underlying state models, storage profiles, primary archive use cases, and infrastructure scaling considerations.

NetworkState modelStorage profile & scalingPrimary archive use case
EthereumEVM, Merkle Patricia TrieMulti-terabyte NVMe; heavily client-dependent (Reth/Erigon vs. Geth)Heavy EVM tracing (debug_traceTransaction), historical smart contract auditing, and custom indexers
BNB Smart Chain (BSC)EVM, Merkle Patricia Trie (Geth-based)Rapid state accumulation driven by high gas capacity and 450 ms blocksTracking high-frequency DEX swaps and indexing historical token event logs at scale
SolanaAccountsDB (account-based)Massive ledger growth due to high slot throughput; state is separated from the historical ledgerRetrieving historical blocks and transactions (getBlock), tracing SPL token balance changes
Robinhood ChainArbitrum Orbit L2 (Nitro EVM)Fast block pace (~100 ms confirmation target) causes rapid state accumulation, settling to L1Tokenized RWA compliance replay, NAV reconstruction and forensic contract-call tracing

Archive and trace requests are heavier to serve than standard requests, so they cost more. On Chainstack Global Nodes, an archive request and any debug_* or trace_* request is 2 RU against 1 RU for a full request.

Self-hosting vs managed infrastructure with Chainstack

Running your own archive node means a long initial sync, heavy disk I/O and a lot of fast storage. Reth’s docs put an Ethereum mainnet archive node at 2.8 TB or more (June 2025), and Geth’s docs cited nearly 12 TB for a full archive node in 2022, and that is for a single chain. As state bloat accelerates, maintaining bare-metal infrastructure drains engineering bandwidth away from core product development.

Chainstack removes that burden. With Chainstack Global Nodes, you can run historical queries across Ethereum, BNB Smart Chain, Solana, and Robinhood Chain through geo-balanced endpoints, with Debug & Trace available on supported EVM networks. There is nothing to sync and no disks to manage. Archive mode is also available on Trader Nodes and Dedicated Nodes on paid plans.

Archive access starts on the Growth plan at $49/month, which includes 20M request units (an archive request uses 2 RU), and the free Developer plan does not include it. For a sense of scale, an old-block request costs 2 RU, so the Growth plan’s 20M RU covers about 10M archive requests (or 20M full ones), with extra usage at $15 per 1M RU. See Chainstack’s pricing for current rates.

For enterprise teams, the benefit is measurable. In a 2023 case study, security company Cyvers reported up to 335% ROI on Chainstack archive nodes with Debug & Trace, with about 95% of its requests served by archive nodes.

How to get an archive node on Chainstack

Spinning up an archive endpoint takes a few clicks in the Chainstack console, with no node syncing or hardware to manage. Archive mode is available on paid plans. See Deploy a node for the full console guide.

Step 1. Create an account. Sign up on the Chainstack console.

Step 2. Create a project. Set up a project to organize your deployments.

Step 3. Join a network. Select the protocol you need, such as Ethereum, BNB Smart Chain, Solana or Robinhood Chain.

Chainstack console protocol picker listing Ethereum, Solana, BNB Smart Chain, Arbitrum, Base, TRON, Robinhood Chain and other networks

Step 4. Select the node configuration. Choose the node type, then the data mode. A Global Node is the default for scaling workloads, and the console marks Trader Nodes as requiring the Growth plan and Dedicated Nodes as requiring Pro. Under Data mode, pick Archive Node.

Chainstack console node type choices: Global Node, Dedicated Node (Pro required) and Trader Node (Growth required)
Chainstack console data mode choice with Archive Node selected next to Full Node

Step 5. Connect your endpoint. When the node status shows as running, open Access and credentials and copy the HTTPS and WebSocket endpoints into your app. Keep the access token private.

Access and credentials panel listing the execution client HTTPS and WSS endpoints and the consensus client endpoint, with the access tokens hidden

Step 6. Test it. Run the old-block eth_getBalance call from the previous section against your new endpoint. A request that failed on a full node now returns a balance.

What it costs. Archive mode starts on the Growth plan at $49/month, which includes 20M request units. An archive request costs 2 RU, so that covers about 10M archive requests, and extra usage is $15 per 1M RU. See the pricing page for current rates.

Conclusion

Historical state matters more as blockchains handle higher institutional volumes, multi-hop value transfers and tokenized real-world assets. Auditing, security and analytics all depend on deep historical access.

Choose by the oldest block your app reads. If every query stays inside the last ~128 blocks on EVM chains, or the last day and a half on Solana, a full node is enough and costs 1 RU per request instead of 2. If you read older balances, storage or traces, you need archive access, and the remaining choice is whether to run that infrastructure yourself or use a managed endpoint.

Frequently asked questions

What is the difference between a full node and an archive node?

A full node keeps recent state and drops older history to save disk space. On most EVM clients that is roughly the latest 128 blocks. An archive node keeps the complete state from genesis, so it can answer balance, storage, eth_call and trace queries at any past block.

How do I know I need an archive node?

The usual sign is a missing trie node error on a request that targets an old block. If your application reads historical balances or contract storage, traces old transactions, or indexes data from before the node’s retained window, you need archive access.

Which RPC methods need archive data?

On EVM chains, state methods such as eth_getBalance, eth_getStorageAt, eth_getCode, eth_call and eth_getProof need archive state once the target block is outside the full node’s window, and so do traces such as debug_traceTransaction. eth_getLogs and receipts do not read the state trie. On Solana, history-heavy methods such as getBlock, getTransaction and getSignaturesForAddress reach into the archive.

How much does archive access cost on Chainstack?

An archive request costs 2 RU against 1 RU for a full request, and debug and trace requests on Global Nodes are also 2 RU. Archive access starts on the Growth plan at $49/month, which includes 20M RU, and the free Developer plan does not include it. See the pricing page for current rates.

What is the difference between a full, extended, archive and light node?

A light node downloads only block headers and relies on full nodes for everything else. A full node keeps the chain and recent state. An extended node is a full node that keeps more history, but not a complete archive, and is billed like a full node. An archive node keeps historical state from genesis. Most apps run fine on full nodes, and archive access is for apps that read the past.

How do I check whether my RPC endpoint is an archive node?

Ask it for state at an old block, for example eth_getBalance at a block far behind the tip. A full node returns a missing trie node error, and an archive node returns the balance.

Can I avoid an archive node?

Sometimes. If you only need the latest state, query the latest block tag. For event-driven workloads, eth_getLogs and receipts work on full nodes without touching the state trie. If you need more history than a full node holds but not the full archive, Extended Nodes keep a longer window and are billed like full nodes.

Does every blockchain have an archive node?

No. Some networks, such as Bitcoin, TRON, Sui and the XRP Ledger, have no full versus archive split on Chainstack, and every request is billed as full. Others offer only an extended history window. Check how much history a protocol keeps before you plan around it.

SHARE THIS ARTICLE
Customer Stories

Cyvers

Cyvers hit 335% ROI on infrastructure with Chainstack Archive Nodes and Debug & Trace.