How do I check if the Sui network is down?
October 29, 2026
Start with the official status page at status.sui.io. It reports validators and public RPC nodes separately for mainnet, testnet and devnet. Then check the chain itself. If the latest checkpoint is only a second or two old, the network is producing blocks and the problem is more likely your RPC endpoint, wallet or app. Mainnet produces a checkpoint roughly every quarter of a second, so a checkpoint that's minutes old means something is actually wrong.
1. The status page
status.sui.io is a Statuspage site with six components: Validators and Public RPC Nodes for each of Mainnet, Testnet and Devnet. It also has a JSON API you can poll from monitoring:
curl -s https://status.sui.io/api/v2/status.json
# {"status":{"indicator":"none","description":"All Systems Operational"}, ...}
curl -s https://status.sui.io/api/v2/components.json"Public RPC Nodes" covers Mysten's free endpoints such as fullnode.mainnet.sui.io. Sui's RPC best-practices page says they're rate-limited (100 requests per 30 seconds) and not meant for production apps, so a 429 from them doesn't mean the network is down.
2. Is the chain producing checkpoints?
Ask for the latest checkpoint and see how old it is:
curl -s -X POST https://graphql.mainnet.sui.io/graphql \
-H 'content-type: application/json' \
-d '{"query":"{ checkpoint { sequenceNumber timestamp } epoch { epochId } }"}'Or from TypeScript with @mysten/sui:
import { SuiGraphQLClient } from '@mysten/sui/graphql';
import { SuiGrpcClient } from '@mysten/sui/grpc';
const gql = new SuiGraphQLClient({
url: 'https://graphql.mainnet.sui.io/graphql',
network: 'mainnet',
});
const { data } = await gql.query({
query: `{ checkpoint { sequenceNumber timestamp } }`,
variables: {},
});
const cp = data?.checkpoint as { sequenceNumber: string; timestamp: string };
console.log('checkpoint age (s):', (Date.now() - Date.parse(cp.timestamp)) / 1000);
const grpc = new SuiGrpcClient({ network: 'mainnet', baseUrl: 'https://fullnode.mainnet.sui.io:443' });
const { systemState } = await grpc.getCurrentSystemState();
console.log('epoch', systemState.epoch, 'safe mode:', systemState.safeMode);When we ran this on 25 October 2026 (epoch 1291), the latest checkpoint was under two seconds old. A few seconds of lag is normal. Checkpoints that stop advancing for minutes point to a real problem.
Two things are worth comparing:
- Different endpoints. If one provider's checkpoint is far behind another's, that provider's node is lagging. The chain is fine.
safeMode. If an epoch change fails, the system enters safe mode. The chain keeps running, but some system operations such as reward distribution are deferred until it recovers.
3. Rule out the usual local causes
- Wrong network. Your wallet or CLI may be on testnet or devnet. Run
sui client active-env, and see switching networks. - JSON-RPC calls. JSON-RPC on public fullnodes is deprecated and now returns "Method not found" on mainnet. Code using
suix_*/sui_*methods breaks there even when the network is healthy. Move to gRPC or GraphQL; see JSON-RPC deprecation. - Devnet wipes. Devnet is wiped as part of its regular update schedule, so a missing object or package there after a reset is expected.
- Your own transaction failed. A single failed transaction is rarely a network issue. Check why transactions fail.
4. Explorers
A block explorer showing recent checkpoints is a quick visual check. During an incident, the status page posts updates under the affected component.
Sources
- Sui status page
- Sui GraphQL RPC, Sui documentation
- RPC best practices, Sui documentation
- Checkpoint verification, Sui documentation