Archive node RPC
What is archive node RPC?
Archive node RPC is JSON-RPC access to nodes that keep every past state of a chain, so you can query what a balance or contract value was at any earlier block, not only what it is now.
Wallets, custody providers, chains and transaction monitoring vendors use it for statements, audits, investigations and backtests, which all need what an account held at a point in time.
Goldsky’s Edge RPC sends requests for history to archive nodes behind one endpoint on EVM chains and fails over between providers, while the calls you make and what you do with the responses stay with you.
Who uses archive node RPC?
Wallets, custody providers, blockchain networks and transaction monitoring vendors that need balances and contract state as they were at a past block.
How an archive node RPC call works
The diagram follows one request from your app requesting an old balance to the statement, audit or backtest that uses the answer, and shows who does each step. Your setup may differ.
Decide what state you need, and at which block
A statement or an audit asks about one moment, so you need the exact block that matches it.
Turn the date into a block number on the chain you’re reading, and list the accounts and contract values to read at that block. A block a few seconds off the cutoff can include or miss a transaction that changes the answer.
Send the request to an archive node
Handled by Goldsky EdgeOrdinary full nodes drop old state, so a request for history has to reach a node that kept it.
The request has to land on a node that holds the state for that block, and keep working when one provider is down. Sent to a node that pruned it, the request fails with a missing-state error.
With Goldsky, Edge RPC routes requests for historical data to archive nodes on its own, fails over between providers during outages and cross-checks responses from several nodes before responding.
See how Edge RPC routes requests (opens in a new tab)Read the state at that block
Handled by Goldsky EdgeThe answer you need is the value as it stood then, such as a balance or a figure a contract stored.
Calls such as
eth_getBalancefor a native balance, oreth_callfor a token balance or other contract value, take a block number and return the state as of that block. Left aslatest, they return today’s value, and the report shows the wrong date without any error.Edge RPC accepts the standard methods with a hex block number, so
Read the eth_call reference (opens in a new tab)eth_callto a token’sbalanceOfat that block returns the holding as it was. Edge RPC serves EVM chains only, and trace methods such asdebug_traceTransactionare served from the same endpoint.Use the answer
Statements, audits and backtests are what the historical read is for.
Decode the returned hex into amounts with the token’s decimals, and store each value with its block number and hash. Without the block reference, nobody can check later which point in time the figure came from.
What you control
- Your team
- Decide what state you need, and at which block
- Use the answer
Questions and answers
What’s the difference between a full node and an archive node?
A full node keeps a chain’s current state, while an archive node keeps every past state, so only an archive node can say what a balance was at an old block. Full nodes check every block but prune older state to save storage, so a call such as eth_getBalance at a block from months ago fails on most of them. Archive nodes keep that state, which takes much more storage, and that is why many teams reach archive data through a provider.
Security and deployment
- SOC 2 Type IIIndependently audited security controls.
- Dedicated infrastructureSingle-tenant options for production workloads.
- Data residencyCloud, on-premises or co-located.
More use cases that access chains reliably
- Archive RPC and indexing for a new chainGive a new chain archive RPC and indexing from mainnet day one.
- RPC and indexed data for a payments blockchainProvide RPC and indexed data for a chain run by a fintech.
- Improve RPC uptime and reliability with failoverRun a second data provider behind the incumbent and fail over when it drops data.
- Optimize your RPC endpoints and cut RPC costsAutomatically optimize your RPC endpoints and lower billable calls while keeping your current provider.
- Improve blockchain data API reliability and coverageKeep wallet balances, transfers and token prices arriving when a third-party blockchain data API has an outage, rate limits you, lacks a chain or returns wrong balances.
- Improve subgraph uptime and reliability with failoverKeep app screens up when a hosted subgraph lags, stops syncing or goes down, with a backup to fail queries over to.
- Improve blockchain webhook reliabilityKeep onchain event notifications arriving at your backend, with retries, reorg corrections and a backup feed.
Read historical chain state over archive node RPC with Goldsky
We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.