What is actually being deprecated
Only Sui Foundation’s public good JSON-RPC endpoints are being turned off. JSON-RPC is deprecated in thesui-node software but not removed — node operators can keep JSON-RPC serving. Your Chainstack Sui JSON-RPC endpoint keeps working, so the deadline is not a hard cutover for Chainstack customers: you can keep calling JSON-RPC while you port your code to gRPC on the same endpoint.
The reason to migrate anyway is that gRPC is the interface Sui invests in 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 both 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.
- Keep everything else on JSON-RPC. It stays up on your Chainstack endpoint, and methods that have no gRPC equivalent (event and transaction-block queries, and so on) keep working over it — you do not have to move them.
Chainstack Sui endpoints
Both 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.
Testnet gRPC is
sui-testnet.core.chainstack.com:443. 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. A handful of query methods have no gRPC equivalent but keep working on Chainstack’s JSON-RPC; a few analytics methods come from Sui’s indexer and no full node serves them. The tables below give the path for each common JSON-RPC method.
Maps to gRPC
No gRPC equivalent — keep on JSON-RPC
These methods have no gRPC equivalent, but they keep working on your Chainstack JSON-RPC endpoint — Sui Foundation is retiring its own public endpoints, not removing JSON-RPC from the node software, so Chainstack’s JSON-RPC is unaffected. Keep calling them over JSON-RPC:suix_queryTransactionBlocksandsuix_queryEventssui_getCheckpointssuix_getStakesandsuix_getStakesByIdssuix_getValidatorsApysuix_subscribeEventandsuix_subscribeTransaction, over the JSON-RPC WebSocket endpoint
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) with a native gRPC transport. The SDK’s default transport is gRPC-Web, which Chainstack does not serve (it returns HTTP 415), so pass a @protobuf-ts/grpc-transport transport backed by @grpc/grpc-js and authenticate with the x-token metadata header. From other languages, generate stubs from Sui’s proto definitions and attach the same x-token metadata.
Use recent client versions —
@mysten/sui 2.16 or later and @grpc/grpc-js 1.14 or later. Older releases mishandle gRPC streams and produce intermittent RST and internal errors under load; current versions are reliable.This path is server-side only. The SDK’s browser transport is gRPC-Web, which Chainstack does not serve yet (HTTP 415) — from the browser, use JSON-RPC or proxy gRPC through your backend.
Next steps
- Sui tooling — SDKs, JSON-RPC, and gRPC connection setup.
- Sui gRPC endpoint — checkpoint retention, authentication, and how Chainstack fronts both interfaces on one node.
- Sui gRPC overview — Sui’s own gRPC reference.
- Sui JSON-RPC migration guide — the upstream mapping and SDK migration notes.