Resources / Sui RPC endpoints

Sui RPC URLs for mainnet and testnet.

Every URL you need to talk to Sui over gRPC, GraphQL or JSON-RPC, what each plan allows, and where the Foundation's public endpoints fit. One API key works on all of them.

Inodra endpoints

Each protocol reads from the same live nodes and the same archival history back to genesis. Requests are routed to the live node or archival storage automatically, so there is one URL per protocol and network, not one per data age.

PROTOCOLMAINNETTESTNETAUTHDOCS
gRPCmainnet-grpc.inodra.com:443testnet-grpc.inodra.com:443x-api-key metadata, TLSgRPC gateway ->
GraphQLhttps://mainnet-api.inodra.com/v1/graphqlhttps://testnet-api.inodra.com/v1/graphqlx-api-key headerGraphQL gateway ->
JSON-RPChttps://mainnet-api.inodra.com/v1/jsonrpchttps://testnet-api.inodra.com/v1/jsonrpcx-api-key headerJSON-RPC gateway ->

Inodra serves mainnet and testnet. For devnet, use the Foundation endpoint below. No account yet? You can also pay per request with x402 from a Sui wallet.

GRPC, LATEST CHECKPOINT
grpcurl -H "x-api-key: YOUR_API_KEY" \
  -d '{"read_mask": {"paths": ["sequence_number", "digest"]}}' \
  mainnet-grpc.inodra.com:443 \
  sui.rpc.v2.LedgerService/GetCheckpoint
GRAPHQL, CHAIN IDENTIFIER
curl https://mainnet-api.inodra.com/v1/graphql \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"query": "{ chainIdentifier }"}'
JSON-RPC, LATEST CHECKPOINT
curl https://mainnet-api.inodra.com/v1/jsonrpc \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "sui_getLatestCheckpointSequenceNumber", "params": []}'

Custom Sui RPC URL for wallets and tools

Some tools only take a URL: a wallet's custom RPC setting, a script's RPC flag, a hosted service's config field. They cannot send an x-api-key header, so put the key in the URL as an api_key query parameter instead. This works on the JSON-RPC and GraphQL URLs; gRPC takes the key only as x-api-key metadata. For JSON-RPC on mainnet it looks like this:

https://mainnet-api.inodra.com/v1/jsonrpc?api_key=YOUR_API_KEY

Anyone who sees that URL can spend your credits. Create a separate API key for each tool you paste it into, so you can revoke one without touching the others, and give it a scope, a rate limit and an expiry. For testnet, use a testnet key with https://testnet-api.inodra.com/v1/jsonrpc.

Rate limits and credits by plan

The rate limit applies across every protocol on one key. A credit is roughly one typical read; heavier calls cost more, and the per-method table lives in the docs.

PLANCREDITS / MONTHREQUESTS / SECOND
Free1M10
Team10M50
Growth45M100
Professional120M200
Business250M500
EnterpriseCustom1000+

Full plan comparison ->Credits per method ->

Sui Foundation public endpoints

The Sui Foundation runs public-good gRPC, GraphQL and archival endpoints on mainnet and testnet, and gRPC only on devnet, all with strict rate limits. Sui's own documentation describes them as suitable for development and testing, not for production workloads. They no longer serve JSON-RPC. The gRPC hosts below are the ones Sui publishes as defaults; the Sui docs are the reference for the rest.

NETWORKGRPCJSON-RPC
Mainnetfullnode.mainnet.sui.io:443Retired
Testnetfullnode.testnet.sui.io:443Retired
Devnetfullnode.devnet.sui.io:443Retired

Frequently asked

What is the Sui mainnet RPC URL?

On Inodra, gRPC is mainnet-grpc.inodra.com:443, GraphQL is https://mainnet-api.inodra.com/v1/graphql and JSON-RPC is https://mainnet-api.inodra.com/v1/jsonrpc. All three take the same API key.

Is there a free Sui RPC endpoint?

Yes. Inodra's free plan includes 1M credits a month at 10 requests per second with no credit card, on every protocol. The Sui Foundation also runs rate-limited public-good gRPC, GraphQL and archival endpoints for development, which are not meant for production traffic.

Does Sui still have a public JSON-RPC endpoint?

No. Sui Foundation full nodes stopped serving JSON-RPC by July 31, 2026. Inodra serves the same methods on its own infrastructure, with history back to genesis, so an existing client only needs a new URL and an API key.

How do I set a custom Sui RPC URL?

Use the JSON-RPC or GraphQL endpoint with your key as an api_key query parameter, for example https://mainnet-api.inodra.com/v1/jsonrpc?api_key=YOUR_API_KEY. gRPC takes the key only as x-api-key metadata. Anyone holding that URL can spend your credits, so give it its own key.

Which Sui RPC protocol should I use?

gRPC for backends, indexers and anything latency-sensitive. GraphQL when one request should return a shaped view of several objects. JSON-RPC only for code that already speaks it. All three read from the same nodes and the same archival history.

Get a key, hit any endpoint.

Get an API key

The free plan is 1M credits a month, no credit card. The same key works on gRPC, GraphQL and JSON-RPC.