Historical data access depends on the depth and shape of data your application needs.

Common choices

RPC guidance

Use bounded ranges for log scans and paginate long jobs. The documented EVM JSON-RPC profile caps eth_getLogs at 10000 blocks and 10000 returned logs per request. If your app repeatedly rebuilds derived state from raw logs, move that workload to an indexer.

Archive data

Archive nodes retain full historical application state with pruning = "nothing", discard_abci_responses = false, tx_index.indexer = "kv", and EVM enable-indexer = true. A full archive node must replay from genesis; state-sync snapshots are useful for fast node bootstrap but do not provide pre-snapshot historical state. Use Archive Data Setup for operator configuration details.