Build on Sui, right from your browser
Guides, working snippets and a playground for Move contracts and TypeScript apps on the Sui blockchain.
Why Sui
Sui’s object model lets independent transactions run in parallel, which shapes how you design contracts and apps.
Objects, not accounts
State lives in typed objects with owners. Transactions touching different objects never contend.
Parallel by default
Owned-object transactions skip consensus; Mysticeti handles shared state with sub-second finality.
Programmable transactions
Chain up to 1,024 Move calls in one atomic transaction, composed client-side.
Passkeys and zkLogin
Users sign with Face ID or a Google login. No seed phrases, no extension.
Sponsored transactions
Pay gas on behalf of your users so onboarding feels like a normal app.
Move safety
Assets can’t be copied or dropped by accident. Whole classes of exploits disappear at compile time.
Quickstart
From zero to a published package in four steps.
1Install the Sui CLI
Terminalbrew install sui2Create an address on testnet
Terminalsui client new-env --alias testnet --rpc https://fullnode.testnet.sui.io:443 sui client switch --env testnet sui client new-address ed25519Need test SUI? Import the key into the playground and fund it there.
3Write and test a Move package
Terminalsui move new hello cd hello sui move testsources/counter.movemodule hello::counter; public struct Counter has key { id: UID, value: u64, } public fun create(ctx: &mut TxContext) { transfer::share_object(Counter { id: object::new(ctx), value: 0, }) } public fun increment(c: &mut Counter) { c.value = c.value + 1; }4Publish and call it
Terminalsui client publishapp.tsimport { SuiGrpcClient } from '@mysten/sui/grpc' import { Transaction } from '@mysten/sui/transactions' const client = new SuiGrpcClient({ network: 'testnet', baseUrl: 'https://fullnode.testnet.sui.io:443', }) const tx = new Transaction() tx.moveCall({ target: `${PACKAGE_ID}::counter::increment`, arguments: [tx.object(COUNTER_ID)], }) await client.signAndExecuteTransaction({ signer, transaction: tx })
The stack
The core pieces of a modern Sui application.
MoveContracts
Object-centric smart contracts with abilities and strong types.
@mysten/suiTypeScript
Build transactions, query the chain and sign.
dApp KitReact
Hooks and components for wallets and queries.
WalrusStorage
Decentralized blob storage coordinated on Sui.
SealEncryption
Secrets management with onchain access policies.
zkLoginAuth
OAuth-based wallets backed by zero-knowledge proofs.