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.suiresolves to0x...)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_maskparameter lets clients request only the fields they need — major bandwidth and latency win for indexers and explorersServer-Side Streaming:
SubscribeCheckpointsprovides 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.
JSON-RPC IS DEPRECATED — SUNSET END OF JULY 2026
Sui's JSON-RPC interface is being deprecated and will be fully deactivated at the end of July 2026, in line with the Sui Foundation's network-wide deprecation timeline. Migrate existing integrations to gRPC (recommended for indexers and backend services) or GraphQL (recommended for frontends and analytics). GetBlock continues to support JSON-RPC throughout the transition for compatibility, but new integrations should target gRPC directly. This documentation focuses exclusively on the gRPC API.
For JSON-RPC method mappings, decision criteria, and common migration gotchas, see the official JSON-RPC Migration Guide.
Network Information
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
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:
grpcurl (
brew install grpcurlon macOS, or download from the GitHub releases page)The Sui proto files from github.com/MystenLabs/sui-apis
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.
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.
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.
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.
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.
LookupName
Resolves a SuiNS name (e.g. example.sui) to an address
ReverseLookupName
Resolves an address to its primary SuiNS name
SignatureVerificationService (1 method)
VerifySignature
Verifies a UserSignature against a message
SubscriptionService (1 method, server-side streaming)
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:
Support Email: support@getblock.io
See Also
Sui gRPC Methods Reference (canonical)
Last updated
Was this helpful?