[Supanode](https://supanode.xyz/)[Learn](https://supanode.xyz/learn)Historical transactions and historical state are different datasets

# Historical transactions and historical state are different datasets

Choose a node or indexer by the exact question and time range you need to answer.

**On this page**[History is not one capability](https://supanode.xyz/learn/archive-node-vs-full-node#history-is-not-one-capability)[Write the query before choosing storage](https://supanode.xyz/learn/archive-node-vs-full-node#write-the-query-before-choosing-storage)[Test a boundary](https://supanode.xyz/learn/archive-node-vs-full-node#test-a-boundary)[Use the current product specification](https://supanode.xyz/learn/archive-node-vs-full-node#use-the-current-product-specification)[Sources](https://supanode.xyz/learn/archive-node-vs-full-node#sources)

## History is not one capability

An old transaction receipt, an old account balance and a decoded DEX trade are different records. A node can retain blocks and receipts while pruning state needed for an old `eth_call`. An indexer may preserve selected decoded events without keeping arbitrary contract state. The label "history" does not resolve these differences.

## Write the query before choosing storage

| Question | Required data |
| --- | --- |
| What happened in transaction X? | Transaction and receipt or equivalent execution record |
| What did balanceOf return at block N? | State at block N plus contract execution |
| What were swaps in pool P last month? | Events or a decoded dataset with that pool and date coverage |
| What changed during a disconnect? | Replay or a historical source covering the missed range |

For Solana, keep account-state queries separate from retained block and signature history too. Terminology differs across node implementations.

## Test a boundary

1.  Choose one recent and one old fixture for each required method.
2.  Record the exact block or slot, method and expected record.
3.  Ask about per-method retention and pruning, including tracing dependencies.
4.  Repeat the oldest fixture near the boundary as the service ages.

## Use the current product specification

An archive-capable protocol does not mean every endpoint stores archive state. Supanode's Robinhood documentation distinguishes retained transaction history from its recent-state window. Its SQL Indexers describe their own tables and retention separately. Read those limits before committing a backfill, and validate a sample query during a trial instead of inferring unlimited history from an endpoint returning one old receipt.

## Sources

-   [Geth archive mode](https://geth.ethereum.org/docs/fundamentals/archive)
-   [Solana: getFirstAvailableBlock](https://solana.com/docs/rpc/http/getfirstavailableblock)
-   [Supanode Robinhood history](https://supanode.xyz/docs/robinhood/rpc/whats-available)

## Continue reading

[Size an RPC workload](https://supanode.xyz/learn/rpc-credits-vs-flat-pricing)[Learn library](https://supanode.xyz/learn)

---
Source: https://supanode.xyz/learn/archive-node-vs-full-node
