TL;DR
- Sui is deprecating JSON-RPC, and our Sui JSON-RPC service will be deactivated in October 2026
- GraphQL RPC and gRPC are the two supported replacements, and both are now live on Triton Sui endpoints
- Use gRPC for low-latency point lookups, transaction submission and real-time checkpoint streaming; use GraphQL for flexible, filtered reads and anything with a frontend
- Your existing token works for both, and there's a free rate-limited GraphQL endpoint for testing
What's changing
The Sui Foundation has disabled JSON-RPC on its own mainnet full nodes, with full decommissioning (including code removal) planned for mid-October 2026. Our Sui JSON-RPC service follows the same path and will be deactivated in October 2026.
If you're still calling JSON-RPC methods in production, now's the time to move. You can't just swap the URL and carry on. JSON-RPC takes a positional array of arguments, while gRPC uses typed protobuf messages and GraphQL uses named arguments and selection sets, so each call needs to be rewritten.
The official migration guide has a method-by-method mapping.
Two replacements, two jobs
gRPC is the full node API. It's the right fit for high-throughput backends, indexers and anything on the hot path: point lookups, transaction execution, simulation and streaming subscriptions that replace the old JSON-RPC WebSockets. See our gRPC docs to get started.
GraphQL RPC is for reads that need shape. Instead of a fixed method set, you ask for exactly the fields you want across transactions, objects, events, balances and checkpoints in one composable query. It's backed by Sui's General-purpose Indexer, so you also get filtered historical access (every transaction from an address, every call to a given Move function) and point-in-time consistency across paginated reads. Wallets, explorers and dashboards live here.
Most production stacks end up using both: gRPC for the hot path, GraphQL for the frontend and analytics layer.
GraphQL is live now
GraphQL is served at the /graphql path on your existing Sui endpoint, authenticated with the same token you already use for gRPC:
curl -X POST https://XXX.sui.rpcpool.com/graphql \
-H "X-Token: <your-token>" \
-H "Content-Type: application/json" \
-d '{ "query": "{ chainIdentifier epoch { referenceGasPrice } }" }'Your endpoint slug and token are in your customer dashboard. If you'd rather try it before touching your config, https://mainnet.sui.rpcpool.com/graphql is available without a token (strictly rate-limited, development-only).
One thing to plan around: our GraphQL service retains 30 days of indexed checkpoint data and doesn't automatically fall back to Archival. For anything older, query our Archival Storage and Services endpoint directly. It holds the full history of Sui mainnet from genesis.
Get moving
October isn't far off. Pick the interface that fits each workload, migrate your calls, and reach out to support if anything doesn't map cleanly. We'd rather help you switch early than watch a JSON-RPC call fail in production.