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 GraphQL.
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 replaces JSON-RPC, which Sui removes from the full node in v1.82.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 your HTTPS endpoint. 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
Sui TypeScript SDK
The Sui TypeScript SDK is the official SDK for building Sui applications. Use its gRPC client,SuiGrpcClient, for reads and transactions, and SuiGraphQLClient for filtered queries — see GraphQL API.
Installation
The SDK’s JSON-RPC client,
SuiJsonRpcClient from @mysten/sui/jsonRpc, stops working when JSON-RPC is removed. SuiGrpcClient covers the same reads and transactions through methods such as getObject, listOwnedObjects, getBalance, and signAndExecuteTransaction. See the SDK 2.0 migration guide.Basic usage
Sui Rust SDK
Thesui-rpc crate from Mysten Labs’ Sui Rust SDK is a gRPC client for Sui, published on crates.io.
Installation
Add to yourCargo.toml: