Archive nodes
Historical state on our supported chains, same endpoint, automatic routing, no surcharge.
Full vs archive
A full node keeps state for roughly the last 128 blocks, enough for anything at or near the chain head. An archive node keeps the state of every block since genesis, which is what you need for historical eth_call and eth_getBalance, backfills, and tracing.
No separate endpoint
There is no archive. subdomain and no special key. You call the same URL, and routing happens by block age: requests near the head go to full nodes, requests for older blocks go to archive nodes. You never think about which node type serves you.
No surcharge
A billable archive method call consumes 1 response unit, the same as any other billable call. No compute units, no historical-data multiplier, see pricing.
Which chains
Archive coverage is listed per chain. Full-only routes can still expose method families such as debug_*; their current capabilities are:
| Network | Chain ID | Methods |
|---|---|---|
| Monad | 143 | standard |
| opBNB | 204 | standard |
| ZetaChain | 7000 | standard |
| BNB Smart Chain Testnet | 97 | standard |
| Monad Testnet | 10143 | standard |
The networks page shows node types and methods per chain.
Example: balance at block 1,000,000
Pass a block number instead of latest and the query routes to an archive node automatically:
curl https://rpc.solidrpc.io/YOUR_API_KEY/evm/1 \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","0xF4240"],"id":1}'Any state method takes a block parameter the same way, eth_call, eth_getStorageAt, eth_getCode, eth_getTransactionCount.
Historical logs
eth_getLogs works across the whole history on archive chains. For large backfills, chunk your block ranges into fixed windows and keep each batch or short traffic spike inside your burst capacity, see rate limits. Each billable eth_getLogs call is 1 response unit regardless of how many logs it returns.
Related
Transaction-level detail, debug_traceTransaction, trace_block, lives on the tracing page.