Archival Store and Service
Long-term access to historical on-chain data is essential for developers, although full nodes enforce limited retention for scalability and performance. The Archival Store and Service provide a scalable, consistent foundation for accessing historical data on Sui beyond what full nodes or indexer databases typically retain. This infrastructure serves as the historical backbone for GraphQL RPC, gRPC-based apps, and data platforms, providing efficient point lookups for old transactions, checkpoints, and object states, even after full nodes have pruned them.
When to use
Both developers and RPC and data providers benefit from using the Archival Store and Service, though their goals and usage patterns differ.
Developers
Use the Archival Store and Service to:
- Access historical data for rendering UI features like transaction history, object lineage, and previous app states.
- Rely on hosted archival services for long-term data to avoid infrastructure overhead.
- Implement fallback mechanisms in apps that query archival data if full nodes or indexer databases return insufficient retention.
RPC and data providers
Use the Archival Store and Service to:
- Operate a differentiated infrastructure service by offering historical data access to developers.
- Extend the retention horizon of GraphQL or gRPC-based APIs through the Archival Service.
- Maintain operational independence by running your own Archival Store and Service (using Bigtable or a custom backend).
How the Archival Store and Service fits into the application stack
- Archival Store: A long-term storage system (such as Bigtable) that holds checkpoint-indexed Sui data.
- Archival Service: A gRPC API (LedgerService) layer that exposes access to this store, enabling point lookups of historical data.
You can query the archival store through the gRPC-based Archival Service for missing data when using a full node and power GraphQL RPC queries that span unretained data. You can host the service yourself, use a provider, or rely on the public-good version (with rate limits).