Overview
OrbitFlare runs full archive nodes that retain every block, transaction, and account state since Solana launched. Standard RPC providers typically prune older data to save storage, keeping only recent epochs. With OrbitFlare, you can query any slot in Solana’s history.Use Cases
Historical blockchain data enables several important workflows:- Event recovery: Backfill missed transactions after indexer downtime or webhook failures
- Compliance: Retrieve transaction records for audits and regulatory requirements
- Research: Analyze on-chain trends, token distributions, and protocol metrics over time
- Explorer apps: Build block explorers and dashboards that display complete history
Relevant RPC Methods
These methods support historical queries on OrbitFlare’s archive nodes:Block Methods
| Method | Description |
|---|---|
| getBlock | Retrieve full block data for any slot |
| getBlocks | Get a list of confirmed blocks between two slots |
| getBlocksWithLimit | Get confirmed blocks starting from a slot with a limit |
| getBlockTime | Get the estimated Unix timestamp for a block |
| getBlockHeight | Get the current block height |
| getFirstAvailableBlock | Get the lowest slot with block data available |
Transaction Methods
| Method | Description |
|---|---|
| getTransaction | Retrieve a confirmed transaction by signature |
| getSignaturesForAddress | Get transaction signatures for an address |
| getSignatureStatuses | Get the status of transaction signatures |
Account Methods
| Method | Description |
|---|---|
| getAccountInfo | Get account data (current state only) |
| getMultipleAccounts | Get data for multiple accounts in one call |
| getProgramAccounts | Get all accounts owned by a program |
Slot Methods
| Method | Description |
|---|---|
| getSlot | Get the current slot |
| minimumLedgerSlot | Get the lowest slot the node has data for |
Examples
Retrieve a Block from History
Fetch block data for slot 100,000,000 using getBlock:Get Block Timestamp
Find when a specific block was produced using getBlockTime:List Blocks in a Range
Get all confirmed blocks between two slots using getBlocks:Fetch a Transaction
Retrieve transaction details by signature using getTransaction:Get Transaction History for an Address
Retrieve signatures for an address using getSignaturesForAddress:TypeScript Examples
Fetch Historical Block Data
Build Complete Transaction History
Combine getSignaturesForAddress with getTransaction to build a full history:Query Blocks in a Time Range
Find blocks within a specific time period:Performance Tips
- Batch your requests: Use JSON-RPC batch requests to fetch multiple blocks or transactions in one call
-
Paginate large queries: The getSignaturesForAddress method returns up to 1000 signatures per call—use the
beforeparameter to paginate - Parallelize carefully: Fetch transactions in parallel batches of 10-20 to balance speed and rate limits
- Cache immutable data: Historical blocks and transactions never change once confirmed—cache them locally
-
Use
maxSupportedTransactionVersion: Always include this parameter to handle versioned transactions