OpenAPI Specification
openapi: 3.0.3
info:
title: Sui JSON-RPC Coin Query API Read API API
description: Sui JSON-RPC API for interaction with Sui Full node. Make RPC calls using https://fullnode.NETWORK.sui.io:443, where NETWORK is the network you want to use (testnet, devnet, mainnet). By default, local networks use port 9000.
contact:
name: Mysten Labs
url: https://mystenlabs.com
email: build@mystenlabs.com
license:
name: Apache-2.0
url: https://raw.githubusercontent.com/MystenLabs/sui/main/LICENSE
version: 1.74.0
servers:
- url: https://fullnode.mainnet.sui.io:443
description: Sui Mainnet
- url: https://fullnode.testnet.sui.io:443
description: Sui Testnet
- url: https://fullnode.devnet.sui.io:443
description: Sui Devnet
- url: http://localhost:9000
description: Local node (default port)
tags:
- name: Read API
description: Methods for reading blockchain state
paths:
/#sui_getChainIdentifier:
post:
operationId: sui_getChainIdentifier
summary: sui_getChainIdentifier
description: Return the first four bytes of the chain's genesis checkpoint digest.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getChainIdentifier
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getChainIdentifier
params: []
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
type: string
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getCheckpoint:
post:
operationId: sui_getCheckpoint
summary: sui_getCheckpoint
description: Return a checkpoint
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getCheckpoint
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getCheckpoint
params:
- '1000'
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/Checkpoint'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getCheckpoints:
post:
operationId: sui_getCheckpoints
summary: sui_getCheckpoints
description: Return paginated list of checkpoints
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getCheckpoints
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getCheckpoints
params:
- '1004'
- 4
- false
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/Page_for_Checkpoint_and_BigInt_for_uint64'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getEvents:
post:
operationId: sui_getEvents
summary: sui_getEvents
description: Return transaction events.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getEvents
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getEvents
params:
- 11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
type: array
items:
$ref: '#/components/schemas/Event'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getLatestCheckpointSequenceNumber:
post:
operationId: sui_getLatestCheckpointSequenceNumber
summary: sui_getLatestCheckpointSequenceNumber
description: Return the sequence number of the latest checkpoint that has been executed
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getLatestCheckpointSequenceNumber
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getLatestCheckpointSequenceNumber
params: []
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/BigInt_for_uint64'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getObject:
post:
operationId: sui_getObject
summary: sui_getObject
description: Return the object information for a specified object
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getObject
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getObject
params:
- '0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809'
- showType: true
showOwner: true
showPreviousTransaction: true
showDisplay: false
showContent: true
showBcs: false
showStorageRebate: true
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/SuiObjectResponse'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getProtocolConfig:
post:
operationId: sui_getProtocolConfig
summary: sui_getProtocolConfig
description: Return the protocol config table for the given version number. If none is specified, the node uses the version of the latest epoch it has processed.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getProtocolConfig
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getProtocolConfig
params:
- 6
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/ProtocolConfig'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getTotalTransactionBlocks:
post:
operationId: sui_getTotalTransactionBlocks
summary: sui_getTotalTransactionBlocks
description: Return the total number of transaction blocks known to the server.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getTotalTransactionBlocks
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getTotalTransactionBlocks
params: []
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/BigInt_for_uint64'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_getTransactionBlock:
post:
operationId: sui_getTransactionBlock
summary: sui_getTransactionBlock
description: Return the transaction response object.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_getTransactionBlock
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_getTransactionBlock
params:
- Hay2tj3GcDYcE3AMHrej5WDsHGPVAYsegcubixLUvXUF
- showInput: true
showRawInput: false
showEffects: true
showEvents: true
showObjectChanges: false
showBalanceChanges: false
showRawEffects: false
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/TransactionBlockResponse'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_multiGetObjects:
post:
operationId: sui_multiGetObjects
summary: sui_multiGetObjects
description: Return the object data for a list of objects
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_multiGetObjects
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_multiGetObjects
params:
- - '0x77b3482580ee8d5bdc5b824808df54bfec4fc817622e5add0e48f749f01def98'
- '0x9060d87664c26a3f9a509228c21b16dc6797cf787c839a07edc03e6338421091'
- '0xb37379c527753c5c8ab783f697e7b61439368cd75ebe63d633af32ffb4a022d1'
- '0xee309e94ff5c9f6b02c5637f018f6ea7bed8f6c3d80f2a595c2305e12dd6d07c'
- '0x29bc7c8d230db3b417edb1184cf075da5e934f672d3da3e003d989075efaecc7'
- showType: true
showOwner: true
showPreviousTransaction: true
showDisplay: false
showContent: true
showBcs: false
showStorageRebate: true
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
type: array
items:
$ref: '#/components/schemas/SuiObjectResponse'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_multiGetTransactionBlocks:
post:
operationId: sui_multiGetTransactionBlocks
summary: sui_multiGetTransactionBlocks
description: Returns an ordered list of transaction responses The method will throw an error if the input contains any duplicate or the input size exceeds QUERY_MAX_RESULT_LIMIT
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_multiGetTransactionBlocks
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_multiGetTransactionBlocks
params:
- - EMqJqkQip6UaTkdff493ewAQNHGQFJwXDDn6m9CTgZzo
- Hn3B25vTQNTFAdThFkWvfkiAAUZxzwTaj4uEengu1ACX
- 9vLSG9a4QcLcMdG1xCu6FRdXAjWWqvJHoHBCJfPMKkR9
- showInput: true
showRawInput: false
showEffects: true
showEvents: true
showObjectChanges: false
showBalanceChanges: false
showRawEffects: false
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
type: array
items:
$ref: '#/components/schemas/TransactionBlockResponse'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_tryGetPastObject:
post:
operationId: sui_tryGetPastObject
summary: sui_tryGetPastObject
description: Note there is no software-level guarantee/SLA that objects with past versions can be retrieved by this API, even if the object and version exists/existed. The result may vary across nodes depending on their pruning policies. Return the object information for a specified version
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_tryGetPastObject
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_tryGetPastObject
params:
- '0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760'
- 4
- showType: true
showOwner: true
showPreviousTransaction: true
showDisplay: false
showContent: true
showBcs: false
showStorageRebate: true
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/ObjectRead'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_tryMultiGetPastObjects:
post:
operationId: sui_tryMultiGetPastObjects
summary: sui_tryMultiGetPastObjects
description: Note there is no software-level guarantee/SLA that objects with past versions can be retrieved by this API, even if the object and version exists/existed. The result may vary across nodes depending on their pruning policies. Return the object information for a specified version
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_tryMultiGetPastObjects
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: sui_tryMultiGetPastObjects
params:
- - objectId: '0x38b3186a7bb26a1ab2c982a0a9b482aa70f5a010fffc60f20194ef0f597474e8'
version: '4'
- objectId: '0xceaf9ee4582d3a233101e322a22cb2a5bea2e681ea5af4e59bd1abb0bb4fcb27'
version: '12'
- showType: true
showOwner: true
showPreviousTransaction: true
showDisplay: false
showContent: true
showBcs: false
showStorageRebate: true
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
type: array
items:
$ref: '#/components/schemas/ObjectRead'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#sui_verifyZkLoginSignature:
post:
operationId: sui_verifyZkLoginSignature
summary: sui_verifyZkLoginSignature
description: Verify a zklogin signature for the given bytes, intent scope and author.
tags:
- Read API
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
example: '2.0'
id:
type: integer
example: 1
method:
type: string
enum:
- sui_verifyZkLoginSignature
params:
type: array
description: Parameters as positional array
items: {}
examples: {}
responses:
'200':
description: JSON-RPC response
content:
application/json:
schema:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
type: integer
result:
$ref: '#/components/schemas/ZkLoginVerifyResult'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
components:
schemas:
ZkLoginAuthenticatorAsBytes:
$ref: '#/components/schemas/Base64'
Checkpoint:
type: object
required:
- checkpointCommitments
- digest
- epoch
- epochRollingGasCostSummary
- networkTotalTransactions
- sequenceNumber
- timestampMs
- transactions
- validatorSignature
properties:
checkpointCommitments:
description: Commitments to checkpoint state
type: array
items:
$ref: '#/components/schemas/CheckpointCommitment'
digest:
description: Checkpoint digest
allOf:
- $ref: '#/components/schemas/CheckpointDigest'
endOfEpochData:
description: Present only on the final checkpoint of the epoch.
anyOf:
- $ref: '#/components/schemas/EndOfEpochData'
- type: 'null'
epoch:
description: Checkpoint's epoch ID
allOf:
- $ref: '#/components/schemas/BigInt_for_uint64'
epochRollingGasCostSummary:
description: The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
allOf:
- $ref: '#/components/schemas/GasCostSummary'
networkTotalTransactions:
description: Total number of transactions committed since genesis, including those in this checkpoint.
allOf:
- $ref: '#/components/schemas/BigInt_for_uint64'
previousDigest:
description: Digest of the previous checkpoint
anyOf:
- $ref: '#/components/schemas/CheckpointDigest'
- type: 'null'
sequenceNumber:
description: Checkpoint sequence number
allOf:
- $ref: '#/components/schemas/BigInt_for_uint64'
timestampMs:
descript
# --- truncated at 32 KB (101 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sui/refs/heads/main/openapi/sui-read-api-api-openapi.yml