Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
LABS
Guides

How to Operate Archival State Infrastructure

A technical guide for developers on setting up, syncing, and maintaining archival nodes for EVM chains. Covers hardware requirements, client configuration, and operational best practices.
Chainscore © 2026
introduction
GUIDE

Introduction to Archival Node Infrastructure

A technical overview of what archival nodes are, their critical role in Web3, and the operational considerations for running them.

An archival node is a specialized type of blockchain node that maintains the complete historical state of a network. Unlike a standard full node, which only stores recent blocks to validate new transactions, an archival node retains all data from the genesis block. This includes every transaction, smart contract state, and account balance at every point in history. This capability is essential for services requiring deep historical data, such as block explorers, advanced analytics platforms, and certain decentralized applications (dApps) that query past events.

Operating archival infrastructure presents significant technical challenges, primarily due to storage requirements. For mature networks like Ethereum, the archival dataset can exceed 10+ terabytes and grows continuously. This demands robust, scalable storage solutions, often using high-performance SSDs for recent data and cost-effective HDDs or cloud object storage for older archives. Efficient data pruning and compression strategies, such as those implemented by clients like Erigon or Akula, are critical to manage this scale without sacrificing query performance.

Beyond storage, archival nodes require substantial computational resources to serve data. Processing complex historical queries—like "show all token transfers for this address in 2021"—is computationally intensive. Node operators must provision sufficient CPU and RAM to handle these requests with low latency. Furthermore, maintaining data integrity is paramount; operators must implement regular verification routines against network consensus to ensure the archived chain history has not been corrupted or altered.

The primary use cases for archival nodes define their operational setup. Blockchain explorers (Etherscan, Solscan) and indexing services (The Graph) rely on them for real-time data APIs. Research and analytics firms use them to audit on-chain activity, compute metrics like Total Value Locked (TVL) over time, or analyze token flow. Developers also depend on archival nodes for testing, as they allow replaying historical transactions to debug smart contracts under exact past conditions.

When choosing software, operators must select a client that supports archival mode. For Ethereum, Geth (--syncmode full --gcmode archive), Nethermind, and Erigon are common choices, each with different storage architectures and performance profiles. On Solana, the solana-validator can be configured with the --no-rocksdb-compaction flag to preserve all historical data. Configuration involves tuning database cache sizes, RPC endpoint settings, and enabling specific historical APIs like eth_getProof or historical getBlock calls.

Running a production archival node is a commitment to high availability and maintenance. This involves monitoring disk I/O, memory usage, and sync status; applying client updates and hard forks promptly; and ensuring robust backup and disaster recovery plans. For many projects, using a managed node service (Alchemy, Infura, QuickNode) for archival access can be more practical, but understanding the underlying infrastructure remains crucial for evaluating service quality, cost, and data reliability.

prerequisites
ARCHIVAL NODE OPERATION

Prerequisites and Hardware Requirements

Running an archival state node requires significant resources. This guide details the hardware, software, and network prerequisites for maintaining a full historical record of a blockchain.

An archival node stores the complete history of a blockchain, including every transaction, block, and state change from the genesis block. This is distinct from a full node, which typically prunes older state data to save disk space. Operating archival infrastructure is essential for services like block explorers, advanced analytics, and historical data APIs. The primary trade-off is between storage capacity, memory, and synchronization time. For Ethereum, an archival Geth node currently requires over 12 TB of SSD storage, and this grows by approximately 120 GB per week.

The core hardware requirements are driven by the need for fast read/write operations on a massive dataset. A modern multi-core CPU (e.g., AMD Ryzen 7/9 or Intel i7/i9) is necessary for initial sync and processing. At least 64 GB of RAM is recommended to handle state trie operations efficiently, with 128 GB being ideal for performance. The most critical component is storage: you need high-endurance, high-throughput NVMe SSDs. A SATA SSD or HDD will be prohibitively slow for synchronization and may fail under constant write load.

Your system requires a stable, high-bandwidth internet connection with no data caps. Initial synchronization can download multiple terabytes of data. A 1 Gbps symmetric connection is strongly recommended. You must also configure your firewall to allow incoming connections on the network's P2P port (e.g., port 30303 for Ethereum) to ensure your node can participate fully in the peer-to-peer network and serve data to others. Operating system choice is also important; most node software is optimized for Linux distributions like Ubuntu Server.

Before installation, ensure you have the necessary software dependencies. This typically includes git for cloning repositories, gcc/g++ or clang for compiling clients from source, and standard build tools. For Ethereum clients like Geth or Erigon, you'll also need Go (version 1.21+) installed. It is crucial to verify the integrity of the client software by checking PGP signatures or SHA256 checksums from the official project repositories to avoid running malicious code.

Proper planning for data growth and maintenance is essential. You should monitor disk usage and plan for expansion, as the chain data will grow indefinitely. Implementing a robust backup strategy for your node's data directory and validator keys (if applicable) is non-negotiable. For production systems, consider using a RAID 1 or RAID 10 configuration for disk redundancy and a UPS (Uninterruptible Power Supply) to prevent corruption during power outages. Regular client updates are required for security patches and performance improvements.

ARCHIVAL NODE SPECIFICATIONS

Hardware Requirements by Chain and Client

Minimum and recommended hardware specifications for running archival nodes on major EVM chains with different consensus clients.

ResourceEthereum (Geth)Ethereum (Nethermind)Polygon PoS (Bor/Heimdall)Arbitrum (Nitro)Optimism (OP Stack)

CPU Cores (Min)

4 cores

4 cores

8 cores

8 cores

8 cores

CPU Cores (Rec.)

8+ cores

8+ cores

16+ cores

16+ cores

16+ cores

RAM (Min)

16 GB

16 GB

32 GB

32 GB

32 GB

RAM (Rec.)

32 GB

32 GB

64 GB

64 GB

64 GB

SSD Storage (Current)

12+ TB

12+ TB

3.5+ TB

8+ TB

2.5+ TB

Storage Type

NVMe

NVMe

NVMe

NVMe

NVMe

Network Bandwidth

1 Gbps

1 Gbps

1 Gbps

1 Gbps

1 Gbps

Sync Time (Est.)

2-3 weeks

1-2 weeks

5-7 days

3-5 days

2-4 days

client-selection-setup
CLIENT SELECTION AND INITIAL SETUP

How to Operate Archival State Infrastructure

Running an archival node requires selecting a compatible client and configuring it to retain the full historical state of the blockchain, a resource-intensive but critical operation for developers and services.

An archival node stores the complete history of a blockchain, including all historical states, transactions, and receipts. This contrasts with a full node, which only keeps recent state to validate new blocks. Archival nodes are essential for services requiring deep historical data queries, such as block explorers, analytics platforms, and certain DeFi applications. Operating one demands significant storage (often multiple terabytes for Ethereum) and robust hardware. The primary clients for Ethereum archival nodes are Geth (Go-Ethereum) and Erigon, each with different performance and storage trade-offs.

Client selection is the first critical decision. Geth is the most widely used execution client. To run it in archival mode, you must configure it to disable state pruning with the --gcmode=archive flag. This preserves all historical state trie nodes indefinitely. Erigon (formerly Turbo-Geth) uses a different architecture, storing data in a compressed, columnar format. It inherently supports efficient historical queries without a special archive mode, often resulting in faster sync times and lower storage overhead for the same data depth compared to Geth's archive mode.

Initial setup begins with hardware provisioning. For mainnet Ethereum, recommended specifications include a CPU with at least 8 cores, 32 GB of RAM, and fast NVMe SSD storage with several terabytes of free space. A stable, high-bandwidth internet connection is mandatory. You'll then install your chosen client, typically by downloading the latest stable binary release or building from source. The initial synchronization process—downloading and verifying the entire chain history—is the most time-consuming phase, taking days or weeks depending on hardware and network conditions.

Configuration is managed via command-line flags or a TOML config file. Key parameters include the network (mainnet, Goerli, Sepolia), data directory path, and synchronization settings. For Geth, the command geth --syncmode snap --gcmode archive --datadir /path/to/archive initiates an archival sync. For Erigon, the process starts with erigon --datadir /path/to/archive. It is crucial to ensure the datadir is on your high-capacity SSD. You may also need to configure JWT authentication for Engine API access if you plan to pair the execution client with a consensus client.

Monitoring and maintenance are ongoing requirements. Use the client's built-in logging (with --verbosity flags) and metrics (often exposed on an HTTP port) to track sync status, memory usage, and disk I/O. Tools like Prometheus and Grafana can be set up for dashboard visualization. Regular client updates are necessary for security patches and performance improvements. Always back up your datadir and consider the node's role in your infrastructure; for high-availability services, a failover system or a load-balanced cluster of nodes may be required.

NODE OPERATION

Sync Methods: Snap, Full, and Archive

Understanding the trade-offs between different node synchronization modes is critical for developers building reliable infrastructure. This guide explains the technical differences, resource requirements, and use cases for each method.

The primary difference lies in the amount of historical blockchain data stored and the initial sync speed.

  • Snap Sync (Fast Sync): Downloads the recent state (account balances, contract storage) directly from peers and verifies it against block headers. It prunes older state data, resulting in a smaller disk footprint (e.g., ~650 GB for Ethereum mainnet). It's the default for Geth.
  • Full Sync: Processes every block from genesis, executing all transactions to rebuild the entire state history. This is slower and results in a larger database but provides complete historical state access up to the pruning window.
  • Archive Sync: A full sync that disables state pruning entirely. It retains all historical states for every block, allowing queries of any account balance or contract storage at any past block height. This requires massive storage (e.g., 12+ TB for Ethereum).
operational-maintenance
NODE OPERATIONS

How to Operate Archival State Infrastructure

A guide to running and maintaining a high-performance archival node, covering essential scripts, monitoring, and troubleshooting for Ethereum and other EVM chains.

An archival node maintains the complete historical state of a blockchain, unlike a full node which only stores recent data. This includes every account balance, smart contract code, and storage slot for every block. Operating this infrastructure is resource-intensive, requiring significant storage (often 10+ TB for Ethereum), high-bandwidth internet, and robust hardware. The primary software clients are Geth (Go-Ethereum) and Erigon, each with different performance and storage trade-offs. Setting up involves syncing from genesis, a process that can take weeks, using flags like --syncmode full for Geth or --prune htc for Erigon to configure the archival mode.

Effective operation relies on automation and monitoring. Key operational scripts include: a health check script that pings the node's RPC port (e.g., curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:8545) and restarts the service if it fails; a log parsing script to monitor for critical errors like StaleChain or SnapSync issues; and a backup script for the chaindata directory. Tools like Prometheus and Grafana are essential for visualizing metrics such as sync status, peer count, memory usage, and disk I/O, allowing for proactive maintenance.

Regular maintenance tasks are crucial for stability. This includes pruning the database to reclaim space (using geth snapshot prune-state), managing the growing size of the ancient data folder, and applying client updates, which often require a resync. For Ethereum mainnet, ensure you are on the latest stable release to support network upgrades. Troubleshooting common issues involves checking disk space, verifying firewall rules for ports 30303 (discovery) and 8545 (RPC), and analyzing debug-level logs. For high-availability setups, consider running a load balancer in front of multiple redundant nodes and using a process manager like systemd or supervisord to ensure automatic recovery.

COMPATIBILITY MATRIX

Historical RPC Method Support by Node Type

RPC method availability based on node execution mode and data retention.

RPC Method / EndpointFull NodeArchive NodeErigon Node

eth_getBalance (historical block)

eth_getTransactionCount (historical)

eth_getStorageAt (historical)

eth_getCode (historical)

eth_getLogs (historical range)

debug_traceTransaction

trace_filter

eth_feeHistory (beyond 1024 blocks)

performance-optimization
NODE OPERATIONS

How to Operate Archival State Infrastructure

A guide to configuring, maintaining, and scaling high-performance archival nodes for blockchain data access.

An archival node maintains the complete historical state of a blockchain, storing every transaction, block, and intermediate state root. This is distinct from a full node, which prunes old state to save disk space. Operating archival infrastructure is resource-intensive but essential for services requiring deep historical data: block explorers, analytics platforms, indexers, and certain DeFi applications. The primary challenge is balancing storage growth, memory usage, and query performance as the chain state expands into terabytes.

Hardware and Initial Sync

Selecting appropriate hardware is critical. For Ethereum mainnet, plan for 8+ TB of fast NVMe storage, 64+ GB of RAM, and a multi-core CPU. The initial sync is the most demanding phase. Use the --syncmode full flag in Geth or --pruning=nothing in Erigon to preserve all history. For Parity/Ethereum clients, configure the chain data directory on your fastest drive and consider using a snapshot sync from a trusted provider to accelerate the process, which can otherwise take weeks.

Database Optimization and Tuning

Post-sync, database performance becomes paramount. For Geth, adjust the --cache parameter to allocate more memory to the state trie; values between 4096 and 16384 MB are common for archival nodes. Regularly compact the LevelDB with geth db compact. For Erigon, which uses a custom MDBX database, ensure the --batch-size and --rpc.batch.concurrency flags are tuned for your hardware. Implement a monitoring stack (e.g., Prometheus/Grafana) to track key metrics: disk I/O latency, memory usage, and RPC endpoint response times.

Managing Storage Growth and Access

Blockchain state grows indefinitely. Implement a lifecycle policy: archive older, infrequently accessed data to cheaper cold storage (like HDD arrays or cloud archive tiers) while keeping recent state on SSDs. For serving data, use a read-only replica load balancer to distribute query load across multiple archival node instances. This separates the write-heavy syncing process from read-heavy RPC services. Configure your client's RPC modules (--http, --ws) carefully, exposing only necessary APIs to minimize resource consumption and security surface.

Maintenance and Automation

Archival nodes require consistent maintenance. Schedule regular health checks, database compactions, and client updates. Automate snapshotting and backups of the data directory. For high availability, run a primary and a standby node in different geographic regions, using state sync to keep them aligned. Be prepared for chain reorganizations and hard forks; having a rapid rollback procedure is essential. The operational cost is significant, but for applications like The Graph, Dune Analytics, or custom indexers, reliable archival access is a foundational service.

ARCHIVAL NODE OPERATION

Troubleshooting Common Issues

Common challenges and solutions for running and maintaining reliable archival state infrastructure for blockchain networks.

An archival node falling behind is typically caused by insufficient hardware resources or misconfigured synchronization settings. The primary bottlenecks are disk I/O speed and CPU/RAM capacity.

Common causes and fixes:

  • Slow Disk: HDDs are insufficient. Use an NVMe SSD with high sustained write speeds (e.g., 3,000+ MB/s).
  • Insufficient RAM: Not enough memory for state caching leads to constant disk reads. Allocate at least 32GB RAM for major networks like Ethereum.
  • Peer Count: A low peer count (--max-peers) limits data inflow. Increase to 50-100 for faster sync.
  • Database Corruption: Use client-specific commands to check integrity (e.g., Geth's geth db inspect).

Monitoring: Use client logs and system tools (iotop, htop) to identify the limiting resource during sync.

ARCHIVAL NODE OPERATION

Frequently Asked Questions

Common questions and troubleshooting for developers running archival state infrastructure for Ethereum and other EVM chains.

An archival node is a full node that retains the entire historical state of a blockchain, not just the most recent 128 blocks. This means it stores the state (account balances, contract code, storage) for every single block since genesis.

Key Differences:

  • Full Node: Prunes state older than 128 blocks. Can verify current chain state and broadcast transactions.
  • Archival Node: Retains all historical state. Required for services like block explorers, advanced analytics, and specific RPC queries (e.g., eth_getBalance for a block 6 months ago).

Running an archival node requires significantly more storage (often 10-20TB for Ethereum) and higher I/O, as it must serve data from any point in history.

conclusion-next-steps
ARCHIVAL NODE OPERATION

Conclusion and Next Steps

This guide has covered the core concepts and practical steps for running archival state infrastructure. The following summary and resources will help you solidify your knowledge and advance your operational expertise.

Operating an archival node is a commitment to data integrity and network resilience. You have learned the key components: the necessity of a full archival state versus a pruned node, the significant hardware requirements (typically 2-4TB+ of fast SSD storage), and the configuration flags like --sync-mode full --gcmode archive for Geth or --pruning=nothing for other clients. Maintaining this infrastructure ensures you have access to the complete historical state trie, which is essential for services like block explorers, advanced analytics, and certain DeFi applications that query old state.

Your ongoing responsibilities will focus on monitoring and maintenance. Key metrics to watch include chain synchronization status, disk I/O latency, memory usage, and peer count. Automated alerts for disk space (aim to keep usage below 80%) and process health are critical. Regular client updates are necessary for security patches and performance improvements. For Ethereum, you might manage both an Execution Client (e.g., Geth, Nethermind) and a Consensus Client (e.g., Lighthouse, Teku), ensuring their compatibility and communication via the Engine API.

To deepen your understanding, explore the official documentation for your chosen client stack. The Ethereum Execution Client Specifications and Ethereum Consensus Specifications are authoritative resources. For hands-on learning, consider contributing to or running a node for a testnet (like Goerli or Sepolia) first. Engaging with developer communities on forums like the Ethereum Research forum or client-specific Discord channels can provide valuable insights into troubleshooting and best practices for scaling your node's performance and reliability.

How to Run an Archival Node: Setup, Sync, and Maintenance | ChainScore Guides