Back to blog
suijson-rpcrpcmigrationinfrastructure

Sui JSON-RPC Is Deprecated. Inodra Still Serves It in Full

Sui JSON-RPC is deprecated and gone from public fullnodes. Inodra still serves the API on mainnet and testnet, with history back to genesis.

argos.sui, CofounderOctober 1, 20266 min read

Searching for a Sui JSON-RPC endpoint that still works? Sui has removed JSON-RPC from its stack. Inodra still serves it, in full, on mainnet and testnet.

TL;DR:

  • Mysten Labs deprecated Sui JSON-RPC in favour of gRPC and GraphQL.
  • The public fullnodes (fullnode.mainnet.sui.io, fullnode.testnet.sui.io) stopped serving JSON-RPC in July 2026.
  • The JSON-RPC code is being removed from the Sui node software. Running your own node will not keep it.
  • Inodra serves the Sui JSON-RPC API, with full history back to genesis.
  • Endpoint: https://mainnet-api.inodra.com/v1/jsonrpc. Swap the URL, add an API key, and your code works again.

Get a free API key - 1M credits per month, no credit card.

What happened to Sui JSON-RPC

Sui moved to gRPC and GraphQL as its supported interfaces and announced the JSON-RPC deactivation on its blog. JSON-RPC is deprecated.

The shutdown happened in stages:

  1. July 2026: the public Sui Foundation fullnodes stopped serving JSON-RPC.
  2. Now: the JSON-RPC code is being removed from the Sui node software.

For background on the July shutdown, read The Sui JSON-RPC Shutdown: What Breaks, When, and How to Keep Your App Running.

Why legacy JSON-RPC can return incomplete data

Some providers kept JSON-RPC alive after July by running the legacy Sui node software. That setup now has a gap.

The legacy JSON-RPC in the Sui node used Mysten-hosted archival services for data the node had pruned. This covers older transactions, checkpoints and object versions. Mysten is disconnecting those services as it retires the legacy stack.

Without them, a legacy node can return errors or partial data:

  • Historical transactions and checkpoints return "not found".
  • Balance changes and object changes on a transaction come back empty or with an error.
  • Some owner and coin indexes list fewer objects than an address holds.

These responses still look valid. Your app may not notice.

What to check with your current provider:

  1. Fetch a transaction from 2023 with showBalanceChanges: true. Confirm that it returns data.
  2. Call suix_getAllBalances for an address you know. Compare the result with a block explorer.

Inodra does not depend on that legacy path. It serves full history and complete listings on its own infrastructure.

What Inodra serves

Sui JSON-RPC is deprecated in the Sui stack. Inodra chooses to keep supporting it, for the long run, as a service we run and maintain ourselves.

What you get:

  • Every read, query and transaction method in the official Sui JSON-RPC specification. Subscriptions (suix_subscribeEvent, suix_subscribeTransaction) are not served, use Warp streams for real-time data.
  • Mainnet and testnet.
  • Full history back to genesis.
  • Same responses as the Sui fullnode returned. Existing code and the @mysten/sui JSON-RPC client keep working.

If we ever change JSON-RPC availability, we will announce it well in advance, with a long notice period.

Swap the URL in your code

Change the URL and add your API key. Nothing else changes.

import { SuiJsonRpcClient, JsonRpcHTTPTransport } from '@mysten/sui/jsonRpc'

const transport = new JsonRpcHTTPTransport({
  // was: https://fullnode.mainnet.sui.io
  url: 'https://mainnet-api.inodra.com/v1/jsonrpc',
  rpc: { headers: { 'x-api-key': process.env.INODRA_API_KEY! } },
})

const client = new SuiJsonRpcClient({ transport, network: 'mainnet' })

For testnet, use https://testnet-api.inodra.com/v1/jsonrpc and network: 'testnet'.

Test it with curl

Use this request to check your key and the endpoint:

curl https://mainnet-api.inodra.com/v1/jsonrpc \
  -H "Content-Type: application/json" \
  -H "x-api-key: $INODRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"sui_getLatestCheckpointSequenceNumber","params":[]}'

The response contains the latest checkpoint number as a string.

Get your API key

Getting started takes a few minutes:

  1. Create a free account.
  2. Create a project and choose the network: mainnet or testnet.
  3. Copy the API key from the project.
  4. Put the key in the x-api-key header and use the endpoint for that network.

Each API key belongs to one project. Each project is tied to one network. Use a mainnet key with the mainnet URL and a testnet key with the testnet URL.

Endpoints and request details are in the JSON-RPC docs.

Pricing

  • Free: 1M credits per month. No credit card.
  • Team: $49 per month for 10M credits.

Higher tiers are available. See pricing for the full list.

If you want to move to gRPC or GraphQL

You do not have to migrate to keep your app running. JSON-RPC on Inodra works today and we keep supporting it.

If you want to move to Sui's current interfaces, Inodra also serves gRPC and GraphQL. The same account gives you access to all three. You can move one call at a time and leave the rest on JSON-RPC.

Our JSON-RPC to gRPC migration guide maps each JSON-RPC method to its gRPC equivalent. To compare providers on gRPC, GraphQL and archival support, read Best Sui RPC Providers in 2026.

FAQ

Is Sui JSON-RPC deprecated?

Yes. Mysten Labs deprecated JSON-RPC in favour of gRPC and GraphQL. The public Sui Foundation fullnodes stopped serving JSON-RPC in July 2026, and the JSON-RPC code is being removed from the Sui node software. Inodra still serves the Sui JSON-RPC API on mainnet and testnet.

What is the Sui JSON-RPC endpoint on Inodra?

Mainnet: https://mainnet-api.inodra.com/v1/jsonrpc. Testnet: https://testnet-api.inodra.com/v1/jsonrpc. Send your API key in the x-api-key header. Each API key belongs to a project, and each project is tied to one network.

Can I run my own Sui node to keep JSON-RPC?

Not for long. The JSON-RPC code is being removed from the Sui node software itself, so new node versions will not serve it. A hosted provider that keeps serving JSON-RPC, such as Inodra, is the practical option.

Why does my Sui JSON-RPC provider return empty balance changes or "not found" for old transactions?

The legacy JSON-RPC in the Sui node used Mysten-hosted archival services for pruned data. Mysten is disconnecting those services. A provider that still runs the legacy node can return "not found" for old transactions and checkpoints, empty balance or object changes, and incomplete owner and coin listings. To check, fetch a 2023 transaction with showBalanceChanges and compare an address's getAllBalances with a block explorer. Inodra does not depend on that legacy path.

How much does Inodra JSON-RPC cost?

The free tier includes 1M credits per month and needs no credit card. Paid tiers start at $49 per month with the Team plan, which includes 10M credits.

Start now

Sui JSON-RPC is gone from the public fullnodes. It still works on Inodra.