Access Sui Data
You can access Sui network data like Transactions, Checkpoints, Objects, Events, and more through the available interfaces. You can use this data in your application workflows, to analyze network behavior across applications or protocols of interest, or to perform audits on parts or the whole of the network.
This document outlines the interfaces that are currently available to access the Sui network data, along with an overview of how that's gradually evolving. Refer to the following definitions for release stages mentioned in this document:
- Alpha - Experimental release that is subject to change and is not recommended for production use. You can use it for exploration in non-production environments.
- Beta - Somewhat stable release that is subject to change based on user feedback. You can use it for testing and production readiness in non-production environments. If you use it in production, do so at your own risk. Only entertain using after verifying the desired functional, performance, and other relevant characteristics in a non-production environment, and if you are comfortable keeping your application regularly updated for any changes.
- Generally available (GA) - Fully stable release that you can use in production. Notifications for any breaking changes are made in advance.
Latest data access interfacesβ
Primary interfaces to access Sui data include:
- gRPC API replaces JSON-RPC on full nodes. If you already use JSON-RPC or are starting to utilize it as a dependency for your use case, note that it is deprecated and you need to migrate to gRPC or GraphQL RPC (see below).
- General-purpose Indexer is a performant and scalable implementation of the custom indexing framework. It is currently available in beta. Use it to load network data at scale into a Postgres relational database.
- GraphQL RPC includes a lightweight GraphQL RPC service that you can use to read data from the General-purpose Indexer's relational database. It is currently available in beta. You can use it as an alternative to gRPC, including for migration from JSON-RPC for an existing application. Refer to the high-level timeline for GraphQL and General-purpose Indexer availability.
- Archival Store and Service provides long-term storage and access to historical network data that may no longer be available on Full nodes due to pruning. If using gRPC as your primary data access mechanism, you can query it using the gRPC
LedgerService
APIs by changing the endpoint from a Full node to the Archival Service. If using GraphQL RPC, it's abstracted and you do not need to directly interact with it.
View the video below for a comparison of the latest and legacy Sui data stacks.
gRPC APIβ
gRPC API replaces the JSON-RPC on full nodes. JSON-RPC is deprecated and gRPC API is generally available. Apart from the message and request format changes between the two, the gRPC API comes with a couple of key functional differences:
- Use streaming or subscription API endpoints to consume real-time streaming data in your application without having to poll for those records. This support replaces the deprecated WebSocket support in JSON-RPC.
- There is no implicit fallback on the Sui Foundation-managed archival store for historical data. Full node operators, RPC providers, and data indexer operators are encouraged to run their own instance of a similar archival store that can be a explicit dependency to fetch historical data.
See When to use gRPC vs GraphQL with General-purpose Indexer for a comparison with GraphQL RPC.
High-level timeline
The target times indicated below are tentative and subject to updates based on project progress and your feedback.
Tentative time | Milestone | Description |
---|---|---|
βοΈ April 2025 | Beta release of initial set of polling-based APIs. | You can start validating the initial gRPC integration from your application and share feedback on the improvements you want to see. |
βοΈ July 2025 | Beta release of streaming APIs and the remaining set of polling-based APIs. | If your use case requires streaming low-latency data, this is an apt time to start validating that integration. Also, the functionality of the API coverage will be complete at this point, so you can start migrating your application in non-production environments. |
βοΈ September-October 2025 | GA release of polling-based and streaming APIs. | Begin migration and cutover of your application in the production environment. JSON-RPC will be deprecated at this point and migration notice period will start. |
April 2026 | End of migration timeline. | JSON-RPC will be fully deactivated at this point. This timeline assumes about 7 months of migration notice period. |
The gRPC and GraphQL RPC APIs have replaced JSON-RPC! View the video below to learn more about the migration timeline and which API to use.
General-purpose Indexerβ
As mentioned, General-purpose Indexer includes a performant and scalable implementation of the custom indexing framework. The underlying framework uses the remote checkpoint store and full node RPCs to ingest the data.
General-purpose Indexer is declarative in the sense that you can seamlessly configure it to load different kinds of Sui network data into Postgres relational tables in parallel. This improves the performance of the data ingestion into the Postgres-compatible database. In addition, you can configure pruning for different tables in the Postgres-compatible database, allowing you to tune it for the desired combination of performance and cost characteristics.
General-purpose Indexer is in beta, which is a somewhat stable release that is subject to change based on user feedback. You can use it for testing and production readiness in non-production environments.
GraphQL RPCβ
The GraphQL RPC Service is a performant GraphQL RPC layer that reads data from the General-purpose Indexer's Postgres-compatible database, Archival Store and Service, and a full node. GraphQL RPC is an alternative to gRPC API. If you are already using deprecated JSON-RPC in your application today, you have an option to migrate to GraphQL RPC by either self-operating the combined stack of General-purpose Indexer, Postgres-compatible database, and GraphQL RPC server, or by utilizing it as a service from an RPC provider or indexer operator.
GraphQL RPC Service is a lightweight server component that allows you to combine data from multiple tables in the Postgres-compatible database using GraphQL's expressive querying system, which is appealing to frontend developers.
See When to use gRPC vs GraphQL with General-purpose Indexer for a comparison with the gRPC API.
GraphQL RPC Server is in beta, which is a somewhat stable release that is subject to change based on user feedback. You can use it for testing and production readiness in non-production environments.
High-level timeline
The target times indicated in this table are tentative and subject to updates based on project progress and your feedback.
Tentative time | Milestone | Description |
---|---|---|
βοΈ September 2025 | Beta release of GraphQL RPC Server and General-purpose Indexer. | You can start validating the setup of General-purpose Indexer, along with testing the GraphQL RPC Server to access the indexed Sui data. You can also start migrating your application in the non-production environments, and share feedback on the improvements you want to see. |