API Reference
The Sui JSON-RPC methods, key SDK classes, and the important Move framework modules.
Path: api-reference
Third-party documentation. This is independently authored analysis of the public Sui codebase — not the official docs, and not reviewed or endorsed by the Sui team.
API Reference
Sui's surface area has three parts: the JSON-RPC methods exposed by full nodes, the TypeScript SDK classes that wrap them, and the Move framework modules that packages import. Most applications never talk to raw JSON-RPC directly — the SDK is the ergonomic path — but the RPC names are the ground truth.
JSON-RPC (sui_ namespace)
sui_getObject/sui_getObjects— read object content, owner, and version by ID.sui_getDynamicFieldObject— read a named dynamic field from a parent object.sui_getCoins/sui_getBalance— coin enumeration and aggregate balance.sui_executeTransactionBlock— submit a signed transaction block.sui_queryTransactionBlocks— paginated, filterable transaction history.sui_getCheckpoint/sui_getLatestCheckpointSequenceNumber— read the settlement log.sui_devInspectTransaction— dry-run a transaction block without committing it.sui_getChainIdentifier— the chain's commitment-commit identifier (mainnet/testnet discriminator).
TypeScript SDK (key exports)
SuiClient(from@mysten/sui/client) — all queries and submissions.Transaction(from@mysten/sui/transactions) — the command builder.Ed25519Keypair,Secp256k1Keypair(from@mysten/sui/keypairs/*) — signing.getFullnodeUrl(env)(from@mysten/sui/client) — standard RPC endpoints for mainnet/testnet/devnet.fromB64,toB64,normalizeSuiAddress(from@mysten/sui/utils).
Move framework modules
0x1::coin—Coin,mint,burn,split,merge,TreasuryCap,CoinMetadata.0x1::transfer—transfer,public_transfer,share_object,freeze_object.0x1::object—UID,new,delete,id,uid_to_inner.0x2::dynamic_field—add,remove,borrow,borrow_mut,exists.0x2::tx_context—sender,digest,epoch,clock.
Edge cases
- Prepend package IDs to targets: a Move target is always
<package_id>::<module>::<function>— forgetting the package prefix is the most common call error. sui_getObjectreturns nothing useful for wrapped objects — read the parent, or requestshowContentwith the nested layout.- Chain identifiers differ between mainnet/testnet/devnet — tools that hardcode
getFullnodeUrl("mainnet")will silently fail on other networks; read the chain ID at runtime.
Interface
Interface
text
# Sui JSON-RPC (sui_ namespace) — the primary query surfacesui_getObject → object content + owner by IDsui_getObjects → batch object readsui_getDynamicFieldObject → read a dynamic field by parent + namesui_getCoins → coins owned by an address (paginated)sui_getBalance → aggregate coin balance for one coin typesui_executeTransactionBlock→ submit a signed tx (deprecated → signAndExecute)sui_signAndExecuteTransactionBlocksui_queryTransactionBlocks → filter/paginate historysui_getCheckpoint → read a checkpoint (settlement record)sui_getLatestCheckpointSequenceNumbersui_getChainIdentifier → chain discriminator (commitments)sui_devInspectTransaction → dry-run a tx block (off-chain)# Move framework modules you039;ll import most0x1::coin Coin, mint, burn, split, merge, TreasuryCap, CoinMetadata0x2::transfer transfer, public_transfer, share_object, freeze_object0x2::object UID, new, delete, id, uid_to_inner0x2::dynamic_field add, remove, borrow, borrow_mut, exists0x2::tx_context sender, digest, epoch, clock
STATUSinterface
