Sui publishes this timeline for mainnet only and does not give a separate testnet date.
What is being deprecated
Sui deprecates JSON-RPC in two steps. Sui Foundation has already turned off JSON-RPC on its public endpoints. In mid-October 2026, Sui removes JSON-RPC from the full node code itself. Your Chainstack Sui endpoint still serves JSON-RPC, so you can keep calling it while you port your code to gRPC and GraphQL on the same endpoint — plan to finish that move rather than stay on JSON-RPC. gRPC and GraphQL are the interfaces Sui supports going forward. gRPC uses HTTP/2 and Protocol Buffers for binary serialization, which makes payloads smaller and adds server-side streaming — you subscribe to new checkpoints instead of polling for them. On Chainstack, the migration is JSON-RPC → gRPC and GraphQL, and all three run on the same node:- Move performance-sensitive and streaming workloads to gRPC — backends, indexers, typed clients, low-latency lookups, transaction submission, and checkpoint streaming.
- Move filtered and paginated queries to GraphQL on Mainnet — transactions by address, events by type, and objects by owner and type. These are the methods with no gRPC equivalent. See Sui GraphQL endpoint.
- Keep anything you have not ported yet on JSON-RPC. Your Chainstack endpoint still serves it, including on Testnet, which does not serve GraphQL.
Chainstack Sui endpoints
All three interfaces are on the same node. Copy your JSON-RPC endpoint (shown below asYOUR_CHAINSTACK_ENDPOINT, with its auth token built in) from Chainstack — see View node access and credentials. The gRPC endpoint is the host and port below, and the GraphQL endpoint is the JSON-RPC endpoint with /graphql appended.
Testnet gRPC is
sui-testnet.core.chainstack.com:443; Testnet has no GraphQL endpoint. For every authentication option, see Authentication methods available on Chainstack. See Sui tooling for SDK setup and per-language connection code.
Method mapping
Sui’s gRPC API is organized into services undersui.rpc.v2. Most read and write JSON-RPC methods map directly to a gRPC call. The query methods with no gRPC equivalent map to GraphQL on Mainnet. A few analytics methods come from Sui’s indexer, and neither interface serves them. The tables below give the path for each common JSON-RPC method.
Maps to gRPC
No gRPC equivalent — use GraphQL
These methods have no gRPC equivalent. On Mainnet, use the GraphQL query in the table. Your Chainstack JSON-RPC endpoint still serves them, which is the path on Testnet.
Filtered
transactions and all events queries cover about the most recent 90 days, a shorter window than point lookups. See How far back GraphQL history goes.
Indexer and analytics methods
A few JSON-RPC methods return aggregated analytics that come from Sui’s indexer layer, not from a full node. A full node — Sui’s or Chainstack’s — does not serve them over JSON-RPC or gRPC (calling them on Chainstack returns-32601 Method not found). Get the underlying data these way:
gRPC streaming exposes only
SubscribeCheckpoints, not per-event subscriptions. For event streams, keep suix_subscribeEvent on the JSON-RPC WebSocket, or subscribe to checkpoints over gRPC and filter client-side.gRPC quickstart
The fastest way to confirm your endpoint and explore the API is grpcurl. Sui gRPC has server reflection enabled, so you can list services and call methods without compiling proto files.GetServiceInfo returns the chain, current epoch, and the node’s checkpoint range:
gRPC from code
In TypeScript, use the official Sui SDK (@mysten/sui). Its default gRPC-Web transport works against Chainstack over HTTPS — in the browser and in Node.js — so you only need your node URL as baseUrl. For server-side apps that prefer native gRPC over HTTP/2, pass a native transport instead (see Sui tooling for the native setup). From other languages, generate stubs from Sui’s proto definitions and attach the x-token metadata.
Use recent client versions —
@mysten/sui 2.16 or later (and @grpc/grpc-js 1.14 or later for the native transport). Older releases mishandle gRPC streams and produce intermittent RST and internal errors under load; current versions are reliable.The default gRPC-Web transport shown above works in the browser and in Node.js. Native gRPC over HTTP/2 is server-side only; use it when you specifically need native gRPC.
Next steps
- Sui tooling — SDKs, JSON-RPC, gRPC, and GraphQL connection setup.
- Sui gRPC endpoint — checkpoint retention, authentication, and how Chainstack fronts every interface on one node.
- Sui GraphQL endpoint — GraphQL authentication, filters, history windows, and limits.
- Sui gRPC overview — Sui’s own gRPC reference.
- Sui JSON-RPC migration guide — the upstream mapping and SDK migration notes.