Skip to main content
Get started with a reliable Sui RPC endpoint to use the tools below. Your Chainstack Sui node serves gRPC and JSON-RPC on the same endpoint, and Sui Mainnet Global Nodes also serve GraphQL.
Sui Foundation’s public endpoints no longer serve JSON-RPC, and Sui removes JSON-RPC from the full node code in mid-October 2026. Your Chainstack endpoint still serves JSON-RPC; plan your move to gRPC and GraphQL — see Migrate Sui from JSON-RPC to gRPC and GraphQL.

Extended history

Sui Global Nodes are Extended. The node holds a window of checkpoints from lowestAvailableCheckpoint 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 is sui-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:
The node exposes six 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 at YOUR_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
Filtered queries and events keep a shorter history window than point lookups. For authentication options, filters, history windows, and query limits, see Sui GraphQL endpoint.

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 your Cargo.toml:

Basic usage

Python SDK (pysui)

pysui is a community-maintained Python SDK for Sui.

Installation

Basic usage

Go SDK

The Sui Go SDK provides Go language bindings for Sui.

Installation

Basic usage

Last modified on September 29, 2026