What is the Sui blockchain?
October 25, 2026
Sui is a layer 1, proof-of-stake blockchain for smart contracts. Mysten Labs built it, and its mainnet went live on May 3, 2023. The docs describe it as "a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model." You write contracts in Sui Move, and all onchain state, from coins to NFTs to app data, lives in objects rather than in per-contract key-value storage.
What makes Sui different
- Objects, not accounts. Every piece of state is an object with a globally unique 32-byte ID and a version number that goes up each time the object changes. An object can be owned by an address, shared, immutable, or wrapped inside another object. See what is a Sui object.
- Parallel execution. Each transaction declares the objects it reads and writes, so validators can run transactions that touch different objects at the same time. Ordering only matters among transactions that touch the same shared object.
- Move. Sui Move is a version of the Move language that started at Meta's Diem project. Its resource-safe types mean an asset can't be copied or dropped by accident. See what is Sui Move.
- Programmable transaction blocks (PTBs). One transaction can chain up to 1,024 commands (Move calls, coin splits and merges, transfers), feeding each step's output into the next.
- DAG-based consensus. Validators order transactions with Mysticeti, a DAG-based protocol that commits blocks in three message rounds.
Objects are what make parallel execution possible. Run the same three transactions both ways:
The network
Sui runs as a delegated proof-of-stake network. A validator set, chosen by stake, changes only at epoch boundaries, and an epoch lasts about 24 hours. SUI is the native token. It pays for gas, gets staked with validators, and carries governance votes. There are three public networks: mainnet, testnet and devnet. Code for new apps should read chain data over gRPC or GraphQL, because JSON-RPC on public fullnodes is deprecated.
Try it
These run in your browser against mainnet with the TypeScript SDK (@mysten/sui v2). Press Run, or edit the code first.
import { SuiGrpcClient } from '@mysten/sui/grpc'
const client = new SuiGrpcClient({
network: 'mainnet',
baseUrl: 'https://fullnode.mainnet.sui.io:443',
})
const { systemState } = await client.getCurrentSystemState()
console.log('epoch', systemState.epoch)
console.log('reference gas price', systemState.referenceGasPrice, 'MIST')Everything onchain is an object, including the network clock. 0x6 is a shared object that validators update with every checkpoint, so its version and timestamp change each time you run this:
const { object } = await client.getObject({
objectId: '0x6',
include: { json: true },
})
console.log(object.type)
console.log('owner', object.owner)
console.log('version', object.version)
console.log('time', new Date(Number(object.json.timestamp_ms)).toISOString())To go hands-on without installing anything, get testnet SUI and send a transaction in the playground. When you're ready to build locally, install the Sui CLI.
Sources
- Sui documentation, home page
- Object model, Sui documentation
- Consensus, Sui documentation
- Sui 2023 growth milestones, Sui blog (mainnet launch date)