Extended history
Sui Global Nodes are Extended. The node holds a window of checkpoints fromlowestAvailableCheckpoint to the tip, not the full ledger from genesis. LedgerService/GetServiceInfo reports the current window — see Checkpoint retention for how the window applies to gRPC and JSON-RPC.
gRPC API
Sui nodes on Chainstack support gRPC for high-performance access. gRPC uses HTTP/2 and Protocol Buffers for binary serialization, which makes payloads smaller and adds server-side streaming — ideal for indexers, backends, and low-latency lookups. gRPC is the forward path as Sui deprecates JSON-RPC.Endpoint and authentication
Your Sui gRPC endpoint issui-mainnet.core.chainstack.com:443 (testnet: sui-testnet.core.chainstack.com:443), with TLS. Authenticate by passing your token in the x-token metadata header on every call. To find your endpoint and token on Chainstack, see View node access and credentials.
Explore with grpcurl
Sui gRPC has server reflection enabled, so grpcurl can list services and call methods without compiling proto files:sui.rpc.v2 services:
gRPC from code
In TypeScript, use the official@mysten/sui SDK. Its default gRPC-Web transport works against Chainstack over HTTPS — including from the browser — so the simplest setup needs only your node URL as baseUrl. For server-side apps that prefer native gRPC over HTTP/2, pass a native transport instead. From other languages, generate typed stubs from Sui’s proto definitions and connect over native gRPC. Authenticate with your node’s x-token — carried in the endpoint URL, or as x-token metadata on native-gRPC calls — and use recent client versions — @mysten/sui 2.16+ and @grpc/grpc-js 1.14+ — since older releases produce intermittent gRPC errors under load.
The default gRPC-Web transport works in both the browser and server runtimes, so it is the simplest choice for most apps. The native gRPC transport (HTTP/2) is server-side only — use it when you specifically need native gRPC.
GraphQL API
Sui Mainnet Global Nodes serve Sui’s GraphQL RPC atYOUR_CHAINSTACK_ENDPOINT/graphql, with the same auth token as JSON-RPC. Use GraphQL for filtered, paginated reads — transactions by address, events by type, objects by owner and type — that have no gRPC equivalent. GraphQL is not available on Sui Testnet.
In TypeScript, use SuiGraphQLClient from the official @mysten/sui SDK:
TypeScript
JSON-RPC API
Interact with your Sui node using the Sui JSON-RPC API. Sui’s public endpoints no longer serve JSON-RPC, but your Chainstack endpoint does, so JSON-RPC remains a path while you migrate to gRPC and GraphQL. Use your Chainstack Sui RPC endpoint to make API calls. Example to get the latest checkpoint:Sui TypeScript SDK
The Sui TypeScript SDK is the official SDK for building Sui applications.Installation
The SDK was renamed from
@mysten/sui.js to @mysten/sui, and the JSON-RPC client is now SuiJsonRpcClient from @mysten/sui/jsonRpc (previously SuiClient from @mysten/sui.js/client). See the SDK 2.0 migration guide.Basic usage
Sui Rust SDK
The Sui Rust SDK provides comprehensive Rust bindings for Sui.Installation
Add to yourCargo.toml: