For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sui (SUI)

GetBlock provides fast and reliable access to Sui gRPC nodes via gRPC API. Connect to the SUI network without running your own infrastructure.

Sui is a Layer 1 blockchain built by Mysten Labs, designed from the ground up for low-latency, high-throughput applications. It uses the Move programming language — a Rust-based, asset-oriented smart contract language with built-in safety guarantees — and an object-centric data model where every on-chain entity is an object with ownership properties.

The network achieves sub-second finality (~400ms average) through Mysticeti consensus (which evolved from Narwhal and Bullshark) and processes independent transactions in parallel, with a theoretical throughput of 100,000+ TPS.

Sui's RPC surface is built around gRPC with Protocol Buffers — strongly typed, type-safe, bandwidth-efficient, and supporting server-side streaming for real-time data delivery. Methods are organized into seven services: LedgerService, StateService, TransactionExecutionService, MovePackageService, NameService, SignatureVerificationService, and SubscriptionService.

Key Features

  • gRPC Native: Strongly typed, Protocol Buffers-based RPC with automatic client code generation for TypeScript, Go, Rust, Python, and more — significantly faster and lighter than JSON-RPC

  • Object-Centric Model: Everything on Sui is an object with explicit ownership — enables parallel transaction execution for independent operations

  • Move Programming Language: Rust-based smart contract language with linear types, resource safety, and verifier checks built into the toolchain

  • Mysticeti Consensus: Sub-second finality (~400ms average) via the latest evolution of Narwhal-Bullshark DAG-based consensus

  • Parallel Transaction Execution: Transactions that touch disjoint objects execute in parallel — horizontal throughput scaling

  • SUI Native Token: 9 decimals — smallest unit MIST. Used for gas, staking, and governance

  • Sponsored Transactions: Gas payment abstraction — third parties can pay gas on behalf of users for better UX

  • SuiNS: Native name service for human-readable addresses (example.sui resolves to 0x...)

  • zkLogin: Native account abstraction using OAuth credentials (Google, Apple, Facebook, etc.) with zero-knowledge proofs

  • Dynamic NFTs: Native support for evolving, composable digital assets through Move's resource model

  • Field Masks: gRPC read_mask parameter lets clients request only the fields they need — major bandwidth and latency win for indexers and explorers

  • Server-Side Streaming: SubscribeCheckpoints provides real-time checkpoint updates over a single long-lived gRPC stream — replaces the deprecated JSON-RPC WebSocket subscriptions

TECHNICAL DISCLAIMER: AUTHORITATIVE gRPC SPECIFICATION

GetBlock’s Sui API reference documentation is provided exclusively for informational purposes and to optimize the developer experience. The canonical and normative specification for the Sui gRPC interface — including service definitions, message types, enums, and scalar types — is maintained by Mysten Labs and the Sui Foundation and published at docs.sui.io/references/fullnode-protocol. The official .proto source files are hosted at github.com/MystenLabs/sui-apis. For Move language details, the object model, Mysticeti consensus, and SDK references, consult the official Sui documentation.

Network Information

Property
Value

Network Name

Sui Mainnet

Chain ID

101 (mainnet)

Native Currency

SUI

Decimals

9 (1 SUI = 1,000,000,000 MIST)

Block Time / Checkpoint

~400 ms average finality (Mysticeti consensus)

Consensus

Mysticeti (DAG-based BFT, single-slot finality)

VM

Move (Rust-based smart contract language)

Data Model

Object-centric (not account-based)

Address Format

32-byte hex 0x... (different from Ethereum's 20-byte)

Block Explorer

Protocol

gRPC with Protocol Buffers (HTTP/2) — gRPC-Web also supported

Port

443 (TLS)

Base URL

All Sui gRPC methods follow the pattern:

For example, to call GetServiceInfo on the LedgerService:

For real-time SubscribeCheckpoints streaming, the same base URL is used over the same gRPC connection — Sui's subscription API is a server-side streaming RPC, not a WebSocket subscription.

Supported Networks

Network
gRPC
Frankfurt, Germany
New York, USA

Mainnet

Quickstart

In this section, you will learn how to make your first gRPC call against Sui mainnet using grpcurl — the standard CLI tool for gRPC, which works against the official Sui proto files. You can also use generated TypeScript / Python / Rust clients (see the SDK Integration section on every endpoint page).

Before you begin, you must have installed:

1

Clone the Sui proto files

2

Make your first gRPC call

Replace <ACCESS-TOKEN> with your actual GetBlock access token.

3

Expected response

chain: "mainnet" confirms you are connected to Sui mainnet. The checkpoint_height is the current chain tip.

1

Setup project

2

Download proto files

3

Create index.ts

Replace <ACCESS-TOKEN> with your actual access token from GetBlock.

4

Run

More Examples

Get Balance (StateService)

To query balances, use the StateService:

Available API Methods

Sui's gRPC API is organized into 7 services with a total of 22 methods. Field masks (read_mask: {paths: [...]}) let you request only specific response fields — use ["*"] for all fields.

LedgerService (7 methods)

Core blockchain queries — service info, objects, transactions, checkpoints, epochs.

Method
Description

GetServiceInfo

Returns node info — chain ID, epoch, checkpoint height

GetObject

Returns object data by object ID

BatchGetObjects

Returns multiple objects by IDs in a single call

GetTransaction

Returns a transaction by its digest

BatchGetTransactions

Returns multiple transactions in a single call

GetCheckpoint

Returns a checkpoint by sequence number or digest

GetEpoch

Returns information about a specific epoch

StateService (5 methods)

Account state and balance queries — owned objects, dynamic fields, coin balances.

Method
Description

ListDynamicFields

Returns dynamic fields of a parent object

ListOwnedObjects

Returns objects owned by an address

GetCoinInfo

Returns coin metadata (symbol, decimals, supply)

GetBalance

Returns balance for an address and a specific coin type

ListBalances

Returns all coin balances for an address

TransactionExecutionService (2 methods)

Transaction submission and simulation.

Method
Description

ExecuteTransaction

Submits and executes a signed transaction

SimulateTransaction

Dry-runs a transaction without execution (for cost estimation and pre-flight checks)

MovePackageService (4 methods)

Introspection of Move packages and their types/functions.

Method
Description

GetPackage

Returns Move package metadata and modules

GetDatatype

Returns the definition of a Move struct or enum

GetFunction

Returns the signature of a Move function

ListPackageVersions

Returns all versions of a package (for upgrade tracking)

NameService (2 methods)

SuiNS (Sui Name Service) — human-readable addresses.

Method
Description

LookupName

Resolves a SuiNS name (e.g. example.sui) to an address

ReverseLookupName

Resolves an address to its primary SuiNS name

SignatureVerificationService (1 method)

Method
Description

VerifySignature

Verifies a UserSignature against a message

SubscriptionService (1 method, server-side streaming)

Method
Description

SubscribeCheckpoints

Streams checkpoints in order, starting from the latest executed checkpoint as seen by the server. Server-side streaming RPC — not WebSocket

Support

For technical support and questions:

See Also

Last updated

Was this helpful?