starname.me

Full node vs archive node what is the difference

A widespread misconception holds that you need an archive node for almost anything. It is not true. Most queries that dapps and wallets make every day work fine against a full node. The difference is narrower than many assume, but it matters exactly when you cross certain boundaries.

What a full node stores

A full node keeps the entire blockchain - every block, every transaction - but it only holds the most recent state. "State" means account balances, contract storage, and nonces at the latest block. If you ask for eth_getBalance at the current block, a full node answers instantly. If you ask for the same balance at block 500,000, it cannot. You get an error or an empty response.

This is not a bug. It is a deliberate trade-off. Historical state is large. A full node prunes it as it goes, keeping what it needs to validate new blocks. The result: a full node uses roughly 1 - 2 TB of disk for Ethereum mainnet as of mid-2026. An archive node stores every piece of state ever created, at every block. That is much, much larger.

Which RPC methods need an archive node

Some RPC methods require historical state. The most common ones:

These fail against a full node because the needed state no longer exists.

Which methods work fine on a full node?

If your dapp never queries state at a specific historical block, you do not need an archive node.

The cost difference is real

This is not abstract. As of mid-2026, running an Ethereum full node on decent hardware costs roughly $50 - $100 per month in cloud compute and storage. An archive node with Geth costs several times more. Disk requirements alone push it past $300 - $500 per month for a comparable setup.

Erigon changes the math somewhat. Erigon's archive node implementation is far more storage-efficient than Geth's. Where Geth's archive sits at roughly 12 - 15 TB, Erigon's archive is around 4 - 6 TB. That is still larger than any full node, but it brings the monthly cost closer to $150 - $250. If you must have an archive node, Erigon is the practical choice.

When you actually need an archive node

Three scenarios require it:

  1. Block explorers. Etherscan replays transactions and shows balances at any point in time. That requires full historical state.
  2. Analytics and auditing. If you track wallet behavior over a multi-year range, or replay DeFi liquidations block by block, you need archive data.
  3. Debugging old transactions. debug_traceTransaction on a transaction from 2021 needs archive state. If you are building a tool for developers to replay ancient contract calls, you have no choice.

Most dapps fit none of these. A Uniswap frontend queries current reserves. A wallet shows the latest balance. An NFT marketplace checks ownership now. All of that works on a full node.

Practical guidance

If you are starting out, run a full node first. Test every RPC call your application makes. If none of them hit historical state, you are done. If a few do, consider caching those results or switching to a provider that offers archive access per-request, rather than running your own.

If you do run an archive node, use Erigon. The disk savings are substantial. The client is mature, and most Ethereum node infrastructure relies on it. Geth's archive is an option, but you will pay meaningfully more for storage.

One last point: running a full node still gives you full sovereignty. You validate every block yourself. You do not trust a provider. The only thing you lose is the ability to query state at arbitrary historical points. For the vast majority of use cases, that is a loss you never notice.

Not financial advice. starname.me publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.

Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.

Back to rpc & nodes