Antler by Autoflux

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::coinCoin, mint, burn, split, merge, TreasuryCap, CoinMetadata.
  • 0x1::transfertransfer, public_transfer, share_object, freeze_object.
  • 0x1::objectUID, new, delete, id, uid_to_inner.
  • 0x2::dynamic_fieldadd, remove, borrow, borrow_mut, exists.
  • 0x2::tx_contextsender, 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_getObject returns nothing useful for wrapped objects — read the parent, or request showContent with 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 surface
sui_getObject → object content + owner by ID
sui_getObjects → batch object read
sui_getDynamicFieldObject → read a dynamic field by parent + name
sui_getCoins → coins owned by an address (paginated)
sui_getBalance → aggregate coin balance for one coin type
sui_executeTransactionBlock→ submit a signed tx (deprecated → signAndExecute)
sui_signAndExecuteTransactionBlock
sui_queryTransactionBlocks → filter/paginate history
sui_getCheckpoint → read a checkpoint (settlement record)
sui_getLatestCheckpointSequenceNumber
sui_getChainIdentifier → chain discriminator (commitments)
sui_devInspectTransaction → dry-run a tx block (off-chain)
 
# Move framework modules you&#039;ll import most
0x1::coin Coin, mint, burn, split, merge, TreasuryCap, CoinMetadata
0x2::transfer transfer, public_transfer, share_object, freeze_object
0x2::object UID, new, delete, id, uid_to_inner
0x2::dynamic_field add, remove, borrow, borrow_mut, exists
0x2::tx_context sender, digest, epoch, clock
 
STATUSinterface