Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/sui-extended-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Sui JSON-RPC Coin Query Extended 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: Extended API
description: Extended query methods (suix_ prefix)
paths:
/#suix_getDynamicFieldObject:
post:
operationId: suix_getDynamicFieldObject
summary: suix_getDynamicFieldObject
description: Return the dynamic field object information for a specified object
tags:
- Extended 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:
- suix_getDynamicFieldObject
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_getDynamicFieldObject
params:
- '0x3ddea0f8c3da994d9ead562ce76e36fdef6a382da344930c73d1298b0e9644b8'
- type: 0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField
value: some_value
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: {}
/#suix_getDynamicFields:
post:
operationId: suix_getDynamicFields
summary: suix_getDynamicFields
description: Return the list of dynamic field objects owned by an object.
tags:
- Extended 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:
- suix_getDynamicFields
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_getDynamicFields
params:
- '0x5612581eba57ebe7e594b809ccceec2be4dac6ff6945d49b3ecc043d049611f6'
- '0x671832358f25bfacde706e528df4e15bb8de6dadd21835dfe44f4973139c15f9'
- 3
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_DynamicFieldInfo_and_ObjectID'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_getOwnedObjects:
post:
operationId: suix_getOwnedObjects
summary: suix_getOwnedObjects
description: Return the list of objects owned by an address. Note that if the address owns more than `QUERY_MAX_RESULT_LIMIT` objects, the pagination is not accurate, because previous page may have been updated when the next page is fetched. Please use suix_queryObjects if this is a concern.
tags:
- Extended 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:
- suix_getOwnedObjects
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_getOwnedObjects
params:
- '0xdbc9abc01a87906b033a75750e741edb2df5ea5d55c96a611371d22799d26827'
- filter:
MatchAll:
- StructType: 0x2::coin::Coin<0x2::sui::SUI>
- AddressOwner: '0xdbc9abc01a87906b033a75750e741edb2df5ea5d55c96a611371d22799d26827'
- Version: '13488'
options:
showType: true
showOwner: true
showPreviousTransaction: true
showDisplay: false
showContent: false
showBcs: false
showStorageRebate: false
- '0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f'
- 3
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_SuiObjectResponse_and_ObjectID'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_queryEvents:
post:
operationId: suix_queryEvents
summary: suix_queryEvents
description: Return list of events for a specified query criteria.
tags:
- Extended 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:
- suix_queryEvents
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_queryEvents
params:
- MoveModule:
package: '0xa395759ca37c6e1ffc179184e98a6f9a2da5d78f6e34b0e5044ed52a6bc0a1bc'
module: test
- txDigest: Eg3ynETJfTfPKyvJzq3VLG6MngURYHPMjjUJ3Xt1t7tf
eventSeq: '1'
- 100
- 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_Event_and_EventID'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_queryTransactionBlocks:
post:
operationId: suix_queryTransactionBlocks
summary: suix_queryTransactionBlocks
description: Return list of transactions for a specified query criteria.
tags:
- Extended 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:
- suix_queryTransactionBlocks
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_queryTransactionBlocks
params:
- filter:
InputObject: '0x93633829fcba6d6e0ccb13d3dbfe7614b81ea76b255e5d435032cd8595f37eb8'
options: null
- HxidAfFfyr4kXSiWeVq1J6Tk526YUVDoSUY5PSnS4tEJ
- 100
- 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_TransactionBlockResponse_and_TransactionDigest'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_resolveNameServiceAddress:
post:
operationId: suix_resolveNameServiceAddress
summary: suix_resolveNameServiceAddress
description: Return the resolved address given resolver and name
tags:
- Extended 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:
- suix_resolveNameServiceAddress
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_resolveNameServiceAddress
params:
- example.sui
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/SuiAddress'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_resolveNameServiceNames:
post:
operationId: suix_resolveNameServiceNames
summary: suix_resolveNameServiceNames
description: Return the resolved names given address, if multiple names are resolved, the first one is the primary name.
tags:
- Extended 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:
- suix_resolveNameServiceNames
params:
type: array
description: Parameters as positional array
items: {}
examples:
example:
value:
jsonrpc: '2.0'
id: 1
method: suix_resolveNameServiceNames
params:
- '0x5cd6fa76ed1d18f05f15e35075252ddec4fb83621d55952d9172fcfcb72feae2'
- '0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf'
- 3
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_String_and_ObjectID'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_subscribeEvent:
post:
operationId: suix_subscribeEvent
summary: suix_subscribeEvent
description: Subscribe to a stream of Sui event
tags:
- Extended 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:
- suix_subscribeEvent
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/Event'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
/#suix_subscribeTransaction:
post:
operationId: suix_subscribeTransaction
summary: suix_subscribeTransaction
description: Subscribe to a stream of Sui transaction effects
tags:
- Extended 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:
- suix_subscribeTransaction
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/TransactionBlockEffects'
error:
type: object
properties:
code:
type: integer
message:
type: string
data: {}
components:
schemas:
AdditionalConsensusStateDigest:
$ref: '#/components/schemas/Digest'
TransactionDigest:
description: A transaction will have a (unique) digest.
allOf:
- $ref: '#/components/schemas/Digest'
SuiTransaction:
description: A single transaction in a programmable transaction block.
oneOf:
- description: A call to either an entry or a public Move function
type: object
required:
- MoveCall
properties:
MoveCall:
$ref: '#/components/schemas/SuiProgrammableMoveCall'
additionalProperties: false
- description: '`(Vec<forall T:key+store. T>, address)` It sends n-objects to the specified address. These objects must have store (public transfer) and either the previous owner must be an address or the object must be newly created.'
type: object
required:
- TransferObjects
properties:
TransferObjects:
type: array
items:
- type: array
items:
$ref: '#/components/schemas/SuiArgument'
- $ref: '#/components/schemas/SuiArgument'
maxItems: 2
minItems: 2
additionalProperties: false
- description: '`(&mut Coin<T>, Vec<u64>)` -> `Vec<Coin<T>>` It splits off some amounts into a new coins with those amounts'
type: object
required:
- SplitCoins
properties:
SplitCoins:
type: array
items:
- $ref: '#/components/schemas/SuiArgument'
- type: array
items:
$ref: '#/components/schemas/SuiArgument'
maxItems: 2
minItems: 2
additionalProperties: false
- description: '`(&mut Coin<T>, Vec<Coin<T>>)` It merges n-coins into the first coin'
type: object
required:
- MergeCoins
properties:
MergeCoins:
type: array
items:
- $ref: '#/components/schemas/SuiArgument'
- type: array
items:
$ref: '#/components/schemas/SuiArgument'
maxItems: 2
minItems: 2
additionalProperties: false
- description: Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on-chain.
type: object
required:
- Publish
properties:
Publish:
type: array
items:
$ref: '#/components/schemas/ObjectID'
additionalProperties: false
- description: Upgrades a Move package
type: object
required:
- Upgrade
properties:
Upgrade:
type: array
items:
- type: array
items:
$ref: '#/components/schemas/ObjectID'
- $ref: '#/components/schemas/ObjectID'
- $ref: '#/components/schemas/SuiArgument'
maxItems: 3
minItems: 3
additionalProperties: false
- description: '`forall T: Vec<T> -> vector<T>` Given n-values of the same type, it constructs a vector. For non objects or an empty vector, the type tag must be specified.'
type: object
required:
- MakeMoveVec
properties:
MakeMoveVec:
type: array
items:
- type:
- string
- 'null'
- type: array
items:
$ref: '#/components/schemas/SuiArgument'
maxItems: 2
minItems: 2
additionalProperties: false
ConsensusCommitDigest:
$ref: '#/components/schemas/Digest'
TypeOrigin:
description: Identifies a struct and the module it was defined in
type: object
required:
- datatype_name
- module_name
- package
properties:
datatype_name:
type: string
module_name:
type: string
package:
$ref: '#/components/schemas/ObjectID'
TransactionBlockData:
oneOf:
- type: object
required:
- gasData
- messageVersion
- sender
- transaction
properties:
gasData:
$ref: '#/components/schemas/GasData'
messageVersion:
type: string
enum:
- v1
sender:
$ref: '#/components/schemas/SuiAddress'
transaction:
$ref: '#/components/schemas/TransactionBlockKind'
ConsensusDeterminedVersionAssignments:
oneOf:
- type: object
required:
- CancelledTransactions
properties:
CancelledTransactions:
type: array
items:
type: array
items:
- $ref: '#/components/schemas/TransactionDigest'
- type: array
items:
type: array
items:
- $ref: '#/components/schemas/ObjectID'
- $ref: '#/components/schemas/SequenceNumber2'
maxItems: 2
minItems: 2
maxItems: 2
minItems: 2
additionalProperties: false
- type: object
required:
- CancelledTransactionsV2
properties:
CancelledTransactionsV2:
type: array
items:
type: array
items:
- $ref: '#/components/schemas/TransactionDigest'
- type: array
items:
type: array
items:
- type: array
items:
- $ref: '#/components/schemas/ObjectID'
- $ref: '#/components/schemas/SequenceNumber2'
maxItems: 2
minItems: 2
- $ref: '#/components/schemas/SequenceNumber2'
maxItems: 2
minItems: 2
maxItems: 2
minItems: 2
additionalProperties: false
Secp256r1SuiSignature:
$ref: '#/components/schemas/Base64'
ZkLoginInputs:
description: All inputs required for the zk login proof verification and other public inputs.
type: object
required:
- addressSeed
- headerBase64
- issBase64Details
- proofPoints
properties:
addressSeed:
$ref: '#/components/schemas/Bn254FrElement'
headerBase64:
type: string
issBase64Details:
$ref: '#/components/schemas/Claim'
proofPoints:
$ref: '#/components/schemas/ZkLoginProof'
SuiAddress:
$ref: '#/components/schemas/Hex'
TransactionBlockResponse:
type: object
required:
- digest
properties:
balanceChanges:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/BalanceChange'
checkpoint:
description: The checkpoint number when this transaction was included and hence finalized. This is only returned in the read api, not in the transaction execution api.
anyOf:
- $ref: '#/components/schemas/BigInt_for_uint64'
- type: 'null'
confirmedLocalExecution:
type:
- boolean
- 'null'
digest:
$ref: '#/components/schemas/TransactionDigest'
effects:
anyOf:
- $ref: '#/components/schemas/TransactionBlockEffects'
- type: 'null'
errors:
type: array
items:
type: string
events:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Event'
objectChanges:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ObjectChange'
rawEffects:
type: array
items:
type: integer
format: uint8
minimum: 0.0
rawTransaction:
description: BCS encoded [SenderSignedData] that includes input object references returns empty array if `show_raw_transaction` is false
allOf:
- $ref: '#/components/schemas/Base64'
timestampMs:
anyOf:
- $ref: '#/components/schemas/BigInt_for_uint64'
- type: 'null'
transaction:
description: Transaction input data
anyOf:
- $ref: '#/components/schemas/TransactionBlock'
- type: 'null'
MultiSigLegacy:
description: Deprecated, use [struct MultiSig] instead. The struct that contains signatures and public keys necessary for authenticating a MultiSigLegacy.
type: object
required:
- bitmap
- multisig_pk
- sigs
properties:
bitmap:
description: A bitmap that indicates the position of which public key the signature should be authenticated with.
allOf:
- $ref: '#/components/schemas/Base64'
multisig_pk:
description: The public key encoded with each public key with its signature scheme used along with the corresponding weight.
allOf:
- $ref: '#/components/schemas/MultiSigPublicKeyLegacy'
sigs:
description: The plain signature encoded with signature scheme.
type: array
items:
$ref: '#/components/schemas/CompressedSignature'
MultiSig:
description: The struct that contains signatures and public keys necessary for authenticating a MultiSig.
type: object
required:
- bitmap
- multisig_pk
- sigs
properties:
bitmap:
description: A bitmap that indicates the position of which public key the signature should be authenticated with.
type: integer
format: uint16
minimum: 0.0
multisig_pk:
description: The public key encoded with each public key with its signature scheme used along with the corresponding weight.
allOf:
- $ref: '#/components/schemas/MultiSigPublicKey'
sigs:
description: The plain signature encoded with signature scheme.
type: array
items:
$ref: '#/components/schemas/CompressedSignature'
PasskeyAuthenticator:
description: An passkey authenticator with parsed fields. See field defition below. Can be initialized from [struct RawPasskeyAuthenticator].
type: object
required:
- authenticator_data
- client_data_json
properties:
authenticator_data:
description: '`authenticatorData` is a bytearray that encodes [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) structure returned by the authenticator attestation response as is.'
type: array
items:
type: integer
format: uint8
minimum: 0.0
client_data_json:
description: '`clientDataJSON` contains a JSON-compatible UTF-8 encoded string of the client data which is passed to the authenticator by the client during the authentication request (see [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata))'
type: string
EventID:
description: Unique ID of a Sui Event, the ID is a combination of transaction digest and event seq number.
type: object
required:
- eventSeq
- txDigest
properties:
eventSeq:
$ref: '#/components/schemas/BigInt_for_uint64'
txDigest:
$ref: '#/components/schemas/TransactionDigest'
ObjectData:
type: object
required:
- digest
- objectId
- version
properties:
bcs:
description: Move object content or package content in BCS, default to be None unless SuiObjectDataOptions.showBcs is set to true
anyOf:
- $ref: '#/components/schemas/RawData'
- type: 'null'
content:
description: Move object content or package content, default to be None unless SuiObjectDataOptions.showContent is set to true
anyOf:
- $ref: '#/components/schemas/Data'
- type: 'null'
digest:
description: Base64 string representing the object digest
allOf:
- $ref: '#/components/schemas/ObjectDigest'
display:
description: The Display metadata for frontend UI rendering, default to be None unless SuiObjectDataOptions.showContent is set to true This can also be None if the struct type does not have Display defined See more details in <h
# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sui/refs/heads/main/openapi/sui-extended-api-api-openapi.yml