Ai Overview
The archive node vs full node decision usually becomes urgent only after a feature breaks in production. Nadcab Cloud starts at $10 with no rate tiers: you pay $0. Nadcab Cloud provides shared auto-scaling endpoints with pay-as-you-go pricing at $0. 375 per 1M compute units, and Nadcab Cloud starts from $10 with no rate tiers.
Key Takeaways
- A full node can serve most current-state RPC needs, but historical-state queries often require an archive node.
- If your app reads balances, storage, or contract output at old block heights, test archive access before shipping.
- Logs and indexers help with history, but they do not always reconstruct exact protocol state for complex contracts.
- Archive-heavy workloads should be separated from standard user traffic so you can tune cost, latency, and reliability.
- Nadcab RPC offers archive data on major EVM chains and lets teams choose shared, owned-node, or dedicated deployment models.
The archive node vs full node decision usually becomes urgent only after a feature breaks in production. A wallet team tries to show a token balance from six months ago. A DeFi dashboard backfills positions at old block heights. A bot simulates a historical state transition. Standard RPC access may look fine until those queries start returning errors, empty values, or inconsistent results.
The root issue is simple: not every node keeps the same depth of chain state. A full node is enough for most current-chain reads, transaction submission, and event indexing. But if your application needs exact contract storage, balances, or account state at older blocks, you may need archive data instead of adding fragile workarounds.
For teams using managed infrastructure, this is less about theory and more about matching RPC behavior to product requirements. In this guide, we will break down when archive access matters, which workloads fail without it, and how to choose between shared RPC, your own nodes, or dedicated infrastructure. Where managed access helps, Nadcab RPC fits naturally with multi-chain endpoints, archive access on major EVM chains, and deployment options that scale from shared traffic to dedicated clusters.
One API key. 70+ blockchains. Production-grade RPC.
Nadcab RPC gives you HTTPS and WebSocket endpoints across 150+ chain endpoints with smart routing and a 99.99% gateway uptime target. Pay as you go from $0.375 per 1M compute units.
What an archive node stores that a full node does not
A full node validates the chain, serves recent state, and usually keeps the data needed to stay in sync and answer normal RPC calls. For many applications, that is enough. You can read the latest balances, call contracts at recent blocks, estimate gas, send transactions, and stream logs.
An archive node goes further. It preserves historical state across old block heights, not just block headers, receipts, and logs. That means it can answer questions like:
- What was this wallet’s ETH balance at block 17,500,000?
- What did
balanceOf(user)return for this token before a protocol upgrade? - What value was stored in a contract slot on a past date?
- Would this read-only contract call have produced a different output at an earlier block?
This distinction matters because historical events are not the same as historical state. Logs can tell you that a transfer happened. They cannot always tell you the exact derived state of a complex protocol at a specific block. If your app reconstructs everything from events, you may still miss internal accounting, rebases, vault share math, or contracts that expose no event for every relevant state change.
For a broader infrastructure refresher, Nadcab’s article on Web3 infrastructure explained: nodes, RPCs, and APIs is a useful companion.
RPC workloads that fail without archive data
The clearest sign you need archive access is not a benchmark. It is a failed or misleading RPC response from a historical block tag.
Historical eth_call and contract reads
If you run eth_call against an old block number, the node must have the historical state required to execute that call in the past context. On a non-archive setup, you may get an error, a timeout, or a result that only works for newer blocks.
Balance and storage queries at old block heights
Queries like eth_getBalance, eth_getStorageAt, and some token balance reads become unreliable when your product asks for exact historical snapshots. This commonly surfaces in accounting exports, P&L tools, tax features, and dispute resolution workflows.
Backfills for analytics and indexing
Indexers often start with logs because logs are efficient. But eventually a team needs state verification: checking a vault share price, a lending health factor, a pool reserve, or an NFT metadata mapping as of a specific block. That is where archive data stops being optional.
Simulation and research tooling
Quant tools, liquidation bots, governance analysis, and protocol incident reviews frequently replay old conditions. A latest-state RPC endpoint is not enough for this class of workload.
If you are integrating RPC access programmatically, Nadcab’s guide on Web3 API integration, authentication, error handling, and RPC setup covers practical patterns for production clients.
How to tell if your app truly needs historical state
Not every team needs archive nodes. Many assume they do, then overspend. Others assume they do not, then ship partial data. A quick decision framework helps.
| Question | If yes | Likely need archive? |
|---|---|---|
| Do you query balances or contract state at old block numbers? | You need exact historical state, not just latest values. | Usually yes |
| Do you only read latest state and stream new blocks? | Standard RPC is often enough. | Usually no |
| Can your app rebuild truth entirely from logs? | Maybe, but verify edge cases. | Maybe |
| Do users expect portfolio/accounting snapshots for past dates? | Historical accuracy matters. | Often yes |
| Do you run simulations against old protocol states? | You need old storage and contract context. | Yes |
A simple checklist
- You pass explicit block numbers into RPC calls.
- Your support team investigates historical balances or failed transactions after the fact.
- Your product has a date picker for portfolio, protocol, or treasury views.
- You backtest or replay strategy logic.
- You audit old contract configuration values.
If two or more of those are true, test against archive-capable endpoints before assuming standard RPC will hold up.
Stop overpaying for RPC requests
Nadcab Cloud starts at $10 with no rate tiers: you pay $0.375 per 1M compute units and scale up or down without contracts. Every plan includes archive and WebSocket access on supported networks.
Common use cases: wallets, explorers, DeFi, analytics, and bots
Wallets
Basic wallets can often rely on latest state plus transfer history. But as soon as you add historical portfolio charts, token balances by date, or support debugging for old account states, archive access becomes valuable. This is especially true for smart wallets and account abstraction flows where derived state matters more than simple transfers.
Teams building this category may also care about Nadcab’s crypto wallet development services if they need product and infrastructure support together.
Explorers
Explorers usually start with blocks, transactions, receipts, and logs. More advanced explorer features require archive queries for storage inspection, historical contract reads, and accurate “state at block” views. Without archive data, the explorer may show transaction history but fail on forensic or debugging workflows.
DeFi apps
DeFi frontends, risk engines, and portfolio tools are common archive consumers. Examples include:
- Reading vault share values at prior blocks
- Checking collateralization ratios before a liquidation
- Showing LP positions over time
- Reconstructing protocol configuration changes
For teams in this space, Nadcab also publishes practical material on DeFi development and protocol delivery.
Analytics platforms
Analytics pipelines can avoid archive access for some metrics by indexing logs and externalizing state. But hybrid models are common: use logs for ingestion, then archive reads for reconciliation and edge cases. This reduces blind spots when contracts are upgradeable, sparse in events, or rely on internal storage patterns.
Bots and automation
Arbitrage, liquidation, monitoring, and governance bots mostly care about current state in live trading. But the moment you backtest, replay incidents, or validate strategy assumptions, you move into historical-state territory. Production bots may not need archive on every request, but research pipelines often do.
Archive RPC on major EVM chains: Ethereum, BNB Smart Chain, Polygon, Arbitrum, Optimism, and Base
Archive demand is heaviest on major EVM networks because that is where many teams run historical portfolio views, DeFi analytics, and simulation workloads. Nadcab RPC provides archive data and MEV protection on major EVM chains including Ethereum, BNB Smart Chain, Polygon, Arbitrum, Optimism, and Base.
That matters because teams rarely build on one chain anymore. A single project may support Ethereum for settlement, Base for user activity, Arbitrum for DeFi, and Polygon for distribution. With supported networks and endpoints in one place, developers can keep the same endpoint pattern across chains:
https://rpc.nadcab.com/ethereum/<your-api-key>
https://rpc.nadcab.com/base/<your-api-key>
https://rpc.nadcab.com/arbitrum/<your-api-key>
That consistency simplifies migrations, environment management, and failover logic in multi-chain backends.
Example: ethers.js historical balance query
import { JsonRpcProvider, formatEther } from "ethers";
const provider = new JsonRpcProvider(
"https://rpc.nadcab.com/ethereum/<your-api-key>"
);
const address = "0x742d35Cc6634C0532925a3b8D404d3AABaC0f000";
const blockNumber = 17500000;
async function main() {
const balance = await provider.getBalance(address, blockNumber);
console.log(`Balance at block ${blockNumber}: ${formatEther(balance)} ETH`);
}
main().catch(console.error);
If this exact pattern is part of your product, archive availability is not a nice-to-have. It is part of the feature contract.
Example: viem contract read at a historical block
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
const client = createPublicClient({
chain: mainnet,
transport: http('https://rpc.nadcab.com/ethereum/<your-api-key>')
});
const erc20 = {
address: '0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
abi: [{
type: 'function',
name: 'balanceOf',
stateMutability: 'view',
inputs: [{ name: 'account', type: 'address' }],
outputs: [{ name: '', type: 'uint256' }]
}]
};
const balance = await client.readContract({
...erc20,
functionName: 'balanceOf',
args: ['0x742d35Cc6634C0532925a3b8D404d3AABaC0f000'],
blockNumber: 17500000n
});
console.log(balance.toString());
For setup details and client examples, see the Nadcab RPC docs.
Pick the RPC setup that fits your stage
- Nadcab Cloud: shared, auto-scaling endpoints for dApps and wallets
- Nadcab Core: bring your own nodes and add our smart routing engine
- Nadcab Craft: dedicated clusters, custom auth, compliance logging and enterprise SLA
- Nadcab for Chains: RPC infrastructure for new L1 and L2 networks
Cost and performance tradeoffs: shared RPC, your own nodes, or dedicated clusters
The wrong archive strategy usually fails in one of two ways: either you overbuild infrastructure before proving the workload, or you keep patching a shared setup that no longer matches your query profile.
| Option | Best for | Pros | Tradeoffs |
|---|---|---|---|
| Shared managed RPC | Early products, variable traffic, multi-chain apps | Fast setup, one API key, smart routing, less ops | Less control over custom infra policies |
| Your own nodes with managed routing | Teams needing ownership plus operational help | More control, routing layer included | You still operate underlying node estate |
| Dedicated clusters | Heavy archive reads, compliance, custom auth | Isolation, tailored architecture, enterprise controls | Higher complexity than shared access |
Shared RPC
For many teams, shared managed access is the right starting point. Nadcab Cloud provides shared auto-scaling endpoints with pay-as-you-go pricing at $0.375 per 1M compute units, and Nadcab Cloud starts from $10 with no rate tiers. If your archive traffic is real but not extreme, this can be the cleanest path to production.
Your own nodes plus routing
Some teams want more control over the node layer while still avoiding homegrown traffic management. Nadcab Core fits that model: your nodes, plus Nadcab’s routing engine. This is useful when you need policy control, regional placement preferences, or staged migration from self-managed infrastructure.
Dedicated clusters
For high-volume archive workloads, regulated environments, or custom access controls, Nadcab Craft offers dedicated clusters, custom auth, compliance logging, and an enterprise SLA. This is usually the right move when historical-state queries are not incidental but central to the product.
Across these models, smart routing across providers and regions, a 99.99% gateway uptime target, and the live status page matter because archive workloads are often batch-heavy and time-sensitive.
How to test archive requirements before migrating production traffic
Do not guess. Test the exact read patterns your application performs.
1. Build a query inventory
List every RPC call your app sends with a block tag or block number. Include backend jobs, support scripts, analytics tasks, and admin tools. Archive needs often hide outside the user-facing app.
2. Sample real historical blocks
Choose old blocks across normal and edge-case periods: upgrades, high volatility, and protocol incidents. Query balances, storage slots, and contract reads that matter to your business logic.
3. Compare against your fallback method
If you currently reconstruct state from logs, compare results side by side. Look for mismatches in rebasing tokens, vault shares, upgradeable proxies, or protocols with sparse event emission.
4. Measure latency by workload type
Separate interactive reads from batch backfills. A historical balance shown in a user dashboard has different tolerance than a nightly reconciliation job. This distinction helps you decide whether one shared endpoint is enough or whether heavy jobs should move to isolated infrastructure.
5. Migrate incrementally
Route only archive-sensitive methods first. Keep standard latest-state traffic where it is if that remains cost-effective. This hybrid approach prevents over-migration.
If you need a quick start for testing, get an API key at Nadcab RPC login and validate your oldest required queries before changing production architecture.
Choosing the right Nadcab setup for archive-heavy workloads
The best setup depends on how often you need historical state, how many chains you support, and whether archive reads are a product feature or an internal tool.
Choose Nadcab Cloud when
- You need archive access on major EVM chains without running nodes.
- You support several chains and want one API key and one endpoint pattern.
- Your traffic is variable and you prefer pay-as-you-go consumption.
Choose Nadcab Core when
- You already run nodes or plan to own the node layer.
- You need Nadcab’s routing engine on top of your infrastructure.
- You want a middle ground between full outsourcing and full self-management.
Choose Nadcab Craft when
- Archive reads are central to the product.
- You need dedicated clusters, custom auth, or compliance logging.
- You want enterprise-grade isolation for intensive or sensitive workloads.
For chain teams launching infrastructure for others, Nadcab for Chains is the relevant option. And if you are still mapping architecture choices, Nadcab’s article on node infrastructure for dApps gives a practical framing for provider and node design decisions.
A final reminder: needing archive on one path does not mean every request must hit archive infrastructure. Many teams do best with a split model: latest-state reads and writes on standard RPC, historical-state queries on archive-enabled endpoints, and batch jobs isolated from user-facing traffic.
Related guides from Nadcab Labs
Final Thoughts
The archive node vs full node choice is really a question about application truth. If your users or internal systems only need current chain state, a full node or standard RPC path is often enough. If they need accurate answers about the past, especially through historical eth_call, balances, or storage reads, archive data becomes part of your product requirements.
The safest path is to test your real workloads first, then match them to the right operational model. Shared managed access works well for many teams. Owned nodes plus managed routing make sense when control matters. Dedicated clusters are the right fit when archive-heavy workloads define the business. With archive support on major EVM chains, multi-chain endpoints, and options from Cloud to dedicated clusters, Nadcab RPC gives developers a practical way to add historical-state capability without redesigning the whole stack.
Ship faster on infrastructure you don’t have to babysit
Get one API key for 70+ networks, HTTPS and WebSocket endpoints, smart routing and a live status page. Building something bigger? Our blockchain team can design and run the full stack with you.
Get Your Free API Key →Talk to Our Experts
Pay as you go · No rate tiers · 99.99% gateway uptime target
Frequently Asked Questions
Q1.What is the difference between an archive node and a full node?
A full node validates the blockchain and serves current or recent chain data needed for normal RPC usage. An archive node keeps historical state across old blocks, which lets you query past balances, storage values, and contract reads at specific block heights. That historical-state retention is the practical difference most developers care about.
Q2.Do I need an archive node to read old transactions and logs?
Usually no. Old blocks, transactions, receipts, and logs are commonly available without archive state. You typically need an archive node when you want exact historical state, such as account balances, storage slots, or contract call results at older blocks. Logs tell you what happened, but not always the full derived state.
Q3.Can I rebuild historical state from events instead of using archive RPC?
Sometimes, but it depends on the protocol. Event-driven indexing works well for many straightforward token and transfer flows. It becomes less reliable for protocols with upgradeable contracts, sparse event emission, rebasing logic, internal accounting, or state transitions not fully expressed in logs. Archive reads are often the safer validation layer.
Q4.Which chains commonly need archive RPC for DeFi and analytics apps?
Archive demand is especially common on major EVM networks where teams run historical portfolio views, backfills, and state simulations. Nadcab RPC provides archive data on Ethereum, BNB Smart Chain, Polygon, Arbitrum, Optimism, and Base, which covers many multi-chain DeFi and analytics workloads in production.
Q5.How should I test whether my production app needs archive access?
Start by listing every RPC call that includes a block number or historical block tag. Then replay those calls against representative old blocks, especially around upgrades or volatile periods. Compare the results with your current indexing or fallback method, and separate interactive product reads from batch jobs before deciding on a migration plan.
Explore Services
Related Services
Reviewed by

Aman Vaths
Founder of Nadcab Labs
Aman Vaths is the Founder & CTO of Nadcab Labs, a global digital engineering company delivering enterprise-grade solutions across AI, Web3, Blockchain, Big Data, Cloud, Cybersecurity, and Modern Application Development. With deep technical leadership and product innovation experience, Aman has positioned Nadcab Labs as one of the most advanced engineering companies driving the next era of intelligent, secure, and scalable software systems. Under his leadership, Nadcab Labs has built 2,000+ global projects across sectors including fintech, banking, healthcare, real estate, logistics, gaming, manufacturing, and next-generation DePIN networks. Aman’s strength lies in architecting high-performance systems, end-to-end platform engineering, and designing enterprise solutions that operate at global scale.


