TL;DR: A full node stores the current state of the blockchain and validates all new transactions and blocks, but prunes older historical data to save storage. An archive node does everything a full node does, plus it retains the complete historical state of the chain from the genesis block forward. The type you need depends on whether your application requires current data or access to any historical state at any point in time.
The Simple Explanation
Every blockchain node downloads and verifies the chain, but not every node keeps the same amount of data around. Think of it like a library versus an archive. A full node is the library: it has every book currently in circulation and can tell you what is on the shelves right now. An archive node is the national archive: it has every book that was ever published, every edition, and every out-of-print manuscript going back to day one.
On Ethereum, a full node stores the current state of all accounts, balances, and smart contracts, along with enough recent block history to verify the chain's integrity. By default, most Ethereum clients keep the last 128 blocks of state data readily accessible, which covers roughly the last 25 to 30 minutes of network activity. Anything older than that gets pruned to save disk space. The full node can still technically reconstruct older states by replaying transactions from the genesis block, but that process is extremely slow and computationally expensive.
An archive node skips the pruning entirely. It stores a snapshot of the entire blockchain state at every single block since the chain's inception. This means you can query the balance of any wallet, the storage of any smart contract, or the output of any transaction at any point in the chain's history, and get an instant response. No replaying required. The tradeoff is storage. A full Ethereum node running Geth needs around 1TB of SSD space. An archive node running Geth needs over 12TB, and that number grows every day. Erigon, a more storage-efficient client, brings archive requirements down to roughly 2TB, but it is still significantly more than a pruned full node.


