Component schemas
Sui JSON-RPC Reference - Version: 1.36.2
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.
Coin Query API
suix_getAllBalances
Return the total coin balance for all coin type, owned by the address owner.
Parameters
Result
Vec<Balance><[ Balance ]>
Example
Gets all balances for the address in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getAllBalances",
"params": [
"0x94f1a597b4e8f709a396f7f6b1482bdcd65a673d111e49286c527fab7c2d0961"
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"coinType": "0x2::sui::SUI",
"coinObjectCount": 15,
"totalBalance": "3000000000",
"lockedBalance": {}
}
],
"id": 1
}
suix_getAllCoins
Return all Coin objects owned by an address.
Parameters
Result
CoinPage< Page_for_Coin_and_ObjectID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Gets all coins for the address in the request body. Begin listing the coins that are after the provided cursor
value and return only the limit
amount of results per page.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getAllCoins",
"params": [
"0x41f5975e3c6bd5c95f041a8493ad7e9934be26e69152d2c2e86d8a9bdbd242b3",
"0x2564cd31a71cf9833609b111436d8f0f47b7f8b9927ec3f8975a1dcbf9b25564",
3
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0x91825debff541cf4e08b5c5f7296ff9840e6f0b185af93984cde8cf3870302c0",
"version": "103626",
"digest": "7dp5WtTmtGp83EXYYFMzjBJRFeSgR67AzqMETLrfgeFx",
"balance": "200000000",
"previousTransaction": "9WfFUVhjbbh4tWkyUse1QxzbKX952cyXScH7xJNPB2vQ"
},
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0x48a53f22e2e901ea2a5bf44fdd5bb94a1d83b6efc4dd779f0890ca3b1f6ba997",
"version": "103626",
"digest": "9xLdMXezY8d1yRA2TtN6pYjapyy2EVKHWNriGPFGCFvd",
"balance": "200000000",
"previousTransaction": "Byq9SyV7x6fvzaf88YRA9JM8vLbVLJAqUX8pESDmKcgw"
},
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0x6867fcc63161269c5c0c73b02229486bbaff319209dfb8299ced3b8609037997",
"version": "103626",
"digest": "5xexWFq6QpGHBQyC9P2cbAJXq9qm2EjzfuRM9NwS1uyG",
"balance": "200000000",
"previousTransaction": "CEjwHmo98nAiYhSMfKoSDvUMtfKJ6ge6Uj4wKotK4MPZ"
}
],
"nextCursor": "0x861c5e055605b2bb1199faf653a8771e448930bc95a0369fad43a9870a2e5878",
"hasNextPage": true
},
"id": 1
}
suix_getBalance
Return the total coin balance for one coin type, owned by the address owner.
Parameters
Result
Balance< Balance >
Example
Gets the balance of the specified type of coin for the address in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getBalance",
"params": [
"0x51ceab2edc89f74730e683ebee65578cb3bc9237ba6fca019438a9737cf156ae",
"0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"coinType": "0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC",
"coinObjectCount": 15,
"totalBalance": "15",
"lockedBalance": {}
},
"id": 1
}
suix_getCoinMetadata
Return metadata(e.g., symbol, decimals) for a coin
Parameters
Result
SuiCoinMetadata< SuiCoinMetadata >
Example
Gets the metadata for the coin type in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getCoinMetadata",
"params": [
"0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"decimals": 9,
"name": "Usdc",
"symbol": "USDC",
"description": "Stable coin.",
"iconUrl": null,
"id": "0x6d907beaa3a49db57bdfdb3557e6d405cbf01c293a53e01457d65e92b5d8dd68"
},
"id": 1
}
suix_getCoins
Return all Coin<coin_type
> objects owned by an address.
Parameters
Result
CoinPage< Page_for_Coin_and_ObjectID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Gets all SUI coins owned by the address provided. Return a paginated list of limit
results per page. Similar to suix_getAllCoins
, but provides a way to filter by coin type.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getCoins",
"params": [
"0xd62ca040aba24f862a763851c54908cd2a0ee7d709c11b93d4a2083747b76856",
"0x2::sui::SUI",
"0xe5c651321915b06c81838c2e370109b554a448a78d3a56220f798398dde66eab",
3
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0xa5a8e30db5a798a7354340b6ea78a66f50921841ab5359ec7a3dc01f282420ae",
"version": "103626",
"digest": "tw5DzJTfdxTn4f3rekFrhN7dQTUezBgsEhycDobTBLb",
"balance": "200000000",
"previousTransaction": "HSein75AFXgdsnbABWLQ5mvjFmPFWrBFi9CMVsNn7gJr"
},
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0x47dfa99496428c65b2054ad7db1872b87ff05b1047bb5e3adf5257cceb08ecb4",
"version": "103626",
"digest": "AfgFe7ZfjJ5dWV6VAy2LbtvBFhcABkvdvwEjLrRcFqtr",
"balance": "200000000",
"previousTransaction": "5WHnm9jUZEtDvSvsj7HBrP5BoxA3UY6R57qqumXJXboV"
},
{
"coinType": "0x2::sui::SUI",
"coinObjectId": "0xd4f062dbcfc3bf73f5861945592222ff7b090ac21c8a3cf840abdc5b743da778",
"version": "103626",
"digest": "9er6jxigfuQEKsn9gtPV2oW1zGQRcFtKNijHVe88GUJD",
"balance": "200000000",
"previousTransaction": "H3gwoKE2FSLx3BwvNTTKqCsNHmg6ARzm345icHhXUAEW"
}
],
"nextCursor": "0xd4f062dbcfc3bf73f5861945592222ff7b090ac21c8a3cf840abdc5b743da778",
"hasNextPage": true
},
"id": 1
}
suix_getTotalSupply
Return total supply for a coin
Parameters
Result
Supply< Supply >
Example
Gets total supply for the type of coin provided.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getTotalSupply",
"params": [
"0x0a52124e2d53af3bef7959609efa51761ad155441a1b73bdaeecce7c56488b13::acoin::ACOIN"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"value": "12023692"
},
"id": 1
}
Extended API
suix_getDynamicFieldObject
Return the dynamic field object information for a specified object
Parameters
Result
SuiObjectResponse< SuiObjectResponse >
Example
Gets the information for the dynamic field the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getDynamicFieldObject",
"params": [
"0x5ea6f7a348f4a7bd1a9ab069eb7f63865de3075cc5a4e62432f634b50fd2bb2b",
{
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"value": "some_value"
}
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": {
"objectId": "0x5ea6f7a348f4a7bd1a9ab069eb7f63865de3075cc5a4e62432f634b50fd2bb2b",
"version": "1",
"digest": "FnxePMX8y7AqX5mRL4nCcK4xecSrpHrd85c3sJDmh5uG",
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"owner": {
"AddressOwner": "0x013d1eb156edcc1bedc3b1af1be1fe41671856fd3450dc5574abd53c793c9f22"
},
"previousTransaction": "Faiv4yqGR4HjAW8WhMN1NHHNStxXgP3u22dVPyvLad2z",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"hasPublicTransfer": true,
"fields": {}
}
}
},
"id": 1
}
suix_getDynamicFields
Return the list of dynamic field objects owned by an object.
Parameters
Result
DynamicFieldPage< Page_for_DynamicFieldInfo_and_ObjectID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Gets dynamic fields for the object the request provides in a paginated list of limit
dynamic field results per page. The default limit is 50.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getDynamicFields",
"params": [
"0xcfd10bca4d517e9452ad5486d69ee482b758c2399039dbbedd5db24385e934d6",
"0x3ddea0f8c3da994d9ead562ce76e36fdef6a382da344930c73d1298b0e9644b8",
3
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"name": {
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"value": "some_value"
},
"bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
"type": "DynamicField",
"objectType": "test",
"objectId": "0x82b2fd67344691abd0efc771941b948ad35360b08e449fbbc28b0641175bf60b",
"version": 1,
"digest": "P2fGrUFbsF576cFxXYXrp1PskZHo2XKvbEoxL14qtnr"
},
{
"name": {
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"value": "some_value"
},
"bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
"type": "DynamicField",
"objectType": "test",
"objectId": "0x21564fc5a68ace997461b098c1d1f3ccbde241d8fdf562db36bc1423ee10cecb",
"version": 1,
"digest": "8Nmpatir33R88Xow2td3dpezMm1gsQJD19VThwR1Y8T5"
},
{
"name": {
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
"value": "some_value"
},
"bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
"type": "DynamicField",
"objectType": "test",
"objectId": "0x7e00acf5386662fa062483ba507b1e9e3039750f0a270f2e12441ad7f611a5f7",
"version": 1,
"digest": "J2n2gEG8R9P9nMep8mRVLjttxcDXQnWSH9KmrRsnGSg2"
}
],
"nextCursor": "0x671832358f25bfacde706e528df4e15bb8de6dadd21835dfe44f4973139c15f9",
"hasNextPage": true
},
"id": 1
}
suix_getOwnedObjects
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.
Parameters
Result
ObjectsPage< Page_for_SuiObjectResponse_and_ObjectID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Returns all the objects the address provided in the request owns and that match the filter. By default, only the digest value is returned, but the request returns additional information by setting the relevant keys to true. A cursor value is also provided, so the list of results begin after that value.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getOwnedObjects",
"params": [
"0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f",
{
"filter": {
"MatchAll": [
{
"StructType": "0x2::coin::Coin<0x2::sui::SUI>"
},
{
"AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
},
{
"Version": "13488"
}
]
},
"options": {
"showType": true,
"showOwner": true,
"showPreviousTransaction": true,
"showDisplay": false,
"showContent": false,
"showBcs": false,
"showStorageRebate": false
}
},
"0x8a417a09c971859f8f2b8ec279438a25d8876ea3c60e345ac3861444136b4a1b",
3
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"data": {
"objectId": "0xd87765d1aadec2db8cc24c312542c8359b6b5e3bfeab524e5edaad3a204b4053",
"version": "13488",
"digest": "8qCvxDHh5LtDfF95Ci9G7vvQN2P6y4v55S9xoKBYp7FM",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
},
"previousTransaction": "kniF9zCBVYevxq3ZmtKxDDJk27N1qEgwkDtPiyeve4Y",
"storageRebate": "100"
}
},
{
"data": {
"objectId": "0x26ed170e0427f9416a614d23284116375c16bd317738fd2c7a885362e04923f5",
"version": "13488",
"digest": "5Ka3vDaDy9h5UYk3Maz3vssWHrhbcGXQgwg8fL2ygyTi",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
},
"previousTransaction": "FLSfkL1pVTxv724z5kfPbTq2KsWP1HEKBwZQ57uRZU11",
"storageRebate": "100"
}
},
{
"data": {
"objectId": "0x2aea16d6fb49b7d1ae51f33b01ed8e1ac66916858610c124bb6fd73bb13e141c",
"version": "13488",
"digest": "D3hfhfecVcmRcqNEkxkoFMzbuXvBqWj1JkCNU9zbnYMo",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
},
"previousTransaction": "GEoTGQuWicnPLM9Rg3vW1Q2y3kvnAgEkbyn8Z3RnAYai",
"storageRebate": "100"
}
}
],
"nextCursor": "0x2aea16d6fb49b7d1ae51f33b01ed8e1ac66916858610c124bb6fd73bb13e141c",
"hasNextPage": true
},
"id": 1
}
suix_queryEvents
Return list of events for a specified query criteria.
Parameters
Result
EventPage< Page_for_Event_and_EventID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Returns the events for a specified query criteria.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_queryEvents",
"params": [
{
"MoveModule": {
"package": "0x9c76d5157eaa77c41a7bfda8db98a8e8080f7cb53b7313088ed085c73f866f21",
"module": "test"
}
},
{
"txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
"eventSeq": "1"
},
100,
false
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"id": {
"txDigest": "FUMhRSj76es8MYeaRYeaBnppk56cuEehKwL2CiU82U7B",
"eventSeq": "1"
},
"packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
"transactionModule": "test",
"sender": "0x84bd999f9ff7a1804872957fafa528628a24386298faa98850887f64da841b87",
"type": "0x3::test::Test<0x3::test::Test>",
"parsedJson": "some_value",
"bcs": ""
},
{
"id": {
"txDigest": "CkEYWW2zxTCGBLvUcTARhyX92fu2uc7cnCUXfCiqAypp",
"eventSeq": "1"
},
"packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
"transactionModule": "test",
"sender": "0x279efd098d59a66a3d9adc87cce81fe9ec69dc8105b2b60140589ec8be44c29f",
"type": "0x3::test::Test<0x3::test::Test>",
"parsedJson": "some_value",
"bcs": ""
},
{
"id": {
"txDigest": "Eg3ynETJfTfPKyvJzq3VLG6MngURYHPMjjUJ3Xt1t7tf",
"eventSeq": "1"
},
"packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
"transactionModule": "test",
"sender": "0x289be027d2a94f744b4c59fda7b528f9c59f430eaba84b8bee9b43a30f9cc83f",
"type": "0x3::test::Test<0x3::test::Test>",
"parsedJson": "some_value",
"bcs": ""
},
{
"id": {
"txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
"eventSeq": "1"
},
"packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
"transactionModule": "test",
"sender": "0xa395759ca37c6e1ffc179184e98a6f9a2da5d78f6e34b0e5044ed52a6bc0a1bc",
"type": "0x3::test::Test<0x3::test::Test>",
"parsedJson": "some_value",
"bcs": ""
}
],
"nextCursor": {
"txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
"eventSeq": "1"
},
"hasNextPage": false
},
"id": 1
}
suix_queryTransactionBlocks
Return list of transactions for a specified query criteria.
Parameters
Result
TransactionBlocksPage< Page_for_TransactionBlockResponse_and_TransactionDigest >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Returns the transaction digest for specified query criteria.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_queryTransactionBlocks",
"params": [
{
"filter": {
"InputObject": "0x93633829fcba6d6e0ccb13d3dbfe7614b81ea76b255e5d435032cd8595f37eb8"
},
"options": null
},
"HxidAfFfyr4kXSiWeVq1J6Tk526YUVDoSUY5PSnS4tEJ",
100,
false
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"digest": "GUPcK4cmRmgsTFr52ab9f6fnzNVg3Lz6hF2aXFcsRzaD"
},
{
"digest": "B2iV1SVbBjgTKfbJKPQrvTT6F3kNdekFuBwY9tQcAxV2"
},
{
"digest": "8QrPa4x9iNG5r2zQfmeH8pJoVjjtq9AGzp8rp2fxi8Sk"
},
{
"digest": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F"
}
],
"nextCursor": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F",
"hasNextPage": false
},
"id": 1
}
suix_resolveNameServiceAddress
Return the resolved address given resolver and name
Parameters
Result
SuiAddress< SuiAddress >
Example
Returns the resolved address for the name the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_resolveNameServiceAddress",
"params": [
"example.sui"
]
}
Response
{
"jsonrpc": "2.0",
"result": "0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf",
"id": 1
}
suix_resolveNameServiceNames
Return the resolved names given address, if multiple names are resolved, the first one is the primary name.
Parameters
Result
Page<String,ObjectID>< Page_for_String_and_ObjectID >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Returns the SuiNS name for the address the request provides. Currently, the API returns only the first name in cases where there are multiple. Future support will use the cursor ID and limit values in the request to control pagination of the response for addresses with multiple names.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_resolveNameServiceNames",
"params": [
"0x38b3186a7bb26a1ab2c982a0a9b482aa70f5a010fffc60f20194ef0f597474e8",
"0x5cd6fa76ed1d18f05f15e35075252ddec4fb83621d55952d9172fcfcb72feae2",
3
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
"example.sui"
],
"nextCursor": "0x5cd6fa76ed1d18f05f15e35075252ddec4fb83621d55952d9172fcfcb72feae2",
"hasNextPage": false
},
"id": 1
}
suix_subscribeEvent
Subscribe to a stream of Sui event
Parameters
Result
SuiEvent< Event >
suix_subscribeTransaction
Subscribe to a stream of Sui transaction effects
Parameters
Result
SuiTransactionBlockEffects< TransactionBlockEffects >
Governance Read API
suix_getCommitteeInfo
Return the committee information for the asked epoch
.
Parameters
Result
SuiCommittee< CommitteeInfo >
RPC representation of the [Committee] type.
Example
Gets committee information for epoch 5000.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getCommitteeInfo",
"params": [
"5000"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"epoch": "5000",
"validators": [
[
"jc/20VUECmVvSBmxMRG1LFdGqGunLzlfuv4uw4R9HoFA5iSnUf32tfIFC8cgXPnTAATJCwx0Cv/TJs5nPMKyOi0k1T4q/rKG38Zo/UBgCJ1tKxe3md02+Q0zLlSnozjU",
"2500"
],
[
"mfJe9h+AMrkUY2RgmCxcxvE07x3a52ZX8sv+wev8jQlzdAgN9vzw3Li8Sw2OCvXYDrv/K0xZn1T0LWMS38MUJ2B4wcw0fru+xRmL4lhRPzhrkw0CwnSagD4jMJVevRoQ",
"2500"
],
[
"rd7vlNiYyI5A297/kcXxBfnPLHR/tvK8N+wD1ske2y4aV4z1RL6LCTHiXyQ9WbDDDZihbOO6HWzx1/UEJpkusK2zE0sFW+gUDS218l+wDYP45CIr8B/WrJOh/0152ljy",
"2500"
],
[
"s/1e+1yHJAOkrRPxGZUTYG0jNUqEUkmuoVdWTCP/PBXGyeZSty10DoysuTy8wGhrDsDMDBx2C/tCtDZRn8WoBUt2UzqXqfI5h9CX75ax8lJrsgc/oQp3GZQXcjR+8nT0",
"2500"
]
]
},
"id": 1
}
suix_getLatestSuiSystemState
Return the latest SUI system state object on-chain.
Parameters
None
Result
SuiSystemStateSummary< SuiSystemStateSummary >
This is the JSON-RPC type for the SUI system state object. It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the SUI system state type.
active_validators
.Validator
structs.validator_low_stake_threshold
for this many epochs before being kicked out.validator_low_stake_threshold
are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than validator_low_stake_grace_period
number of epochs.validator_very_low_stake_threshold
will be removed immediately at epoch change, no grace period.Example
Gets objects owned by the address in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getLatestSuiSystemState",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": "some_system_state",
"id": 1
}
suix_getReferenceGasPrice
Return the reference gas price for the network
Parameters
None
Result
BigInt<u64>< BigInt_for_uint64 >
Example
Gets reference gas price information for the network.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getReferenceGasPrice",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": 1000,
"id": 1
}
suix_getStakes
Return all [DelegatedStake].
Parameters
Result
Vec<DelegatedStake><[ DelegatedStake ]>
Example
Returns the staking information for the address the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getStakes",
"params": [
"0x3befb84f03a24386492bd3b05b1fd386172eb450e5059ce7df0ea6d9d6cefcaa"
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"validatorAddress": "0x9a95cf69368e31b4dbe8ee9bdb3c0587bbc79d8fc6edf4007e185a962fd906df",
"stakingPool": "0xb4eeb46b70f0bebcae832aeef9f7c5db76052ab656e5f81853d0cf701cdbc8eb",
"stakes": [
{
"stakedSuiId": "0xf27ab513fc6ef8c344406c78da3d5ad3a5fcc295dc8803c15989a62d33ee8590",
"stakeRequestEpoch": "62",
"stakeActiveEpoch": "63",
"principal": "200000000000",
"status": "Active",
"estimatedReward": "520000000"
},
{
"stakedSuiId": "0x14cfd5e91c13a481370240e392464c329a203fb9f0a8158aaab9b2a90044b26e",
"stakeRequestEpoch": "142",
"stakeActiveEpoch": "143",
"principal": "200000000000",
"status": "Pending"
}
]
},
{
"validatorAddress": "0x14cc7fee4100fdcabda6d15c63c4b49c45ae23f2b936495cd38b1a4b04010295",
"stakingPool": "0xbaa75ac72e548aeecf2ce8b4e88530651d6e8f93e0fb79b4bc65a512beb5b9f3",
"stakes": [
{
"stakedSuiId": "0x378423de90ed03b694cecf443c72b5387b29a731d26d98108d7abc4902107d7d",
"stakeRequestEpoch": "244",
"stakeActiveEpoch": "245",
"principal": "200000000000",
"status": "Unstaked"
}
]
}
],
"id": 1
}
suix_getStakesByIds
Return one or more [DelegatedStake]. If a Stake was withdrawn its status will be Unstaked.
Parameters
Result
Vec<DelegatedStake><[ DelegatedStake ]>
Example
Returns the staking information for the address the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getStakesByIds",
"params": [
[
"0x6a8e0f8fea6fda5488462e58724c034462b6064a08845e2ae2942fe7c4ee816d",
"0x754eb2eed23e6c6bb32c89fe1f21ab588374445e72e0402aea014b2956105799"
]
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"validatorAddress": "0x63ee67e81398729f87d81d62f399c041b0f8d0938923ea7e3917608ee62df437",
"stakingPool": "0x6710024f81dd33ab6833482ee8034e779a48e6ef635c7f856df4905022458bfb",
"stakes": [
{
"stakedSuiId": "0x6a8e0f8fea6fda5488462e58724c034462b6064a08845e2ae2942fe7c4ee816d",
"stakeRequestEpoch": "62",
"stakeActiveEpoch": "63",
"principal": "200000000000",
"status": "Active",
"estimatedReward": "520000000"
},
{
"stakedSuiId": "0x754eb2eed23e6c6bb32c89fe1f21ab588374445e72e0402aea014b2956105799",
"stakeRequestEpoch": "244",
"stakeActiveEpoch": "245",
"principal": "200000000000",
"status": "Unstaked"
}
]
},
"id": 1
}
suix_getValidatorsApy
Return the validator APY
Parameters
None
Result
ValidatorApys< ValidatorApys >
Example
Gets the APY for all validators.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getValidatorsApy",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": {
"apys": [
{
"address": "0x27838b06db0346808ffb0676099de0408b31759f57b69c52e09410a66f9a23c3",
"apy": 0.06
},
{
"address": "0x4be9913b6697a5e83e02e2a0fc747057ba0901e4d9b1e04de75ea2699a441321",
"apy": 0.02
},
{
"address": "0x5612581eba57ebe7e594b809ccceec2be4dac6ff6945d49b3ecc043d049611f6",
"apy": 0.05
}
],
"epoch": "420"
},
"id": 1
}
Move Utils
sui_getMoveFunctionArgTypes
Return the argument types of a Move function, based on normalized Type.
Parameters
Result
Vec<MoveFunctionArgType><[ MoveFunctionArgType ]>
Example
Returns the argument types for the package and function the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getMoveFunctionArgTypes",
"params": [
"0x9c4eb6769ca8b6a23efeb7298cf0a8d0b837b78749c2cfc711c42036cc6b7621",
"suifrens",
"mint"
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"Object": "ByMutableReference"
},
"Pure",
"Pure",
{
"Object": "ByValue"
},
{
"Object": "ByImmutableReference"
},
{
"Object": "ByValue"
},
{
"Object": "ByMutableReference"
}
],
"id": 1
}
sui_getNormalizedMoveFunction
Return a structured representation of Move function
Parameters
Result
SuiMoveNormalizedFunction< SuiMoveNormalizedFunction >
Example
Returns the structured representation of the function the request provides.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getNormalizedMoveFunction",
"params": [
"0x1639f3606a53f61f3a566963b3eac49fe3bb57d304a454ed2f4859b44f4e4918",
"moduleName",
"functionName"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"visibility": "Public",
"isEntry": false,
"typeParameters": [
{
"abilities": [
"Store",
"Key"
]
}
],
"parameters": [
"U64"
],
"return": [
"U64"
]
},
"id": 1
}
sui_getNormalizedMoveModule
Return a structured representation of Move module
Parameters
Result
SuiMoveNormalizedModule< SuiMoveNormalizedModule >
Example
Gets a structured representation of the Move module for the package in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getNormalizedMoveModule",
"params": [
"0x800105867da4655eca6d9eb1258bfd1ad92af329a07781ee71e60065e00f2de9",
"module"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"fileFormatVersion": 6,
"address": "0x0047d5fa0a823e7d0ff4d55c32b09995a0ae1eedfee9c7b1354e805ed10ee3d0",
"name": "module",
"friends": [],
"structs": {},
"exposedFunctions": {}
},
"id": 1
}
sui_getNormalizedMoveModulesByPackage
Return structured representations of all modules in the given package
Parameters
Result
BTreeMap<String,SuiMoveNormalizedModule>< SuiMoveNormalizedModule >
Example
Gets structured representations of all the modules for the package in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getNormalizedMoveModulesByPackage",
"params": [
"0xc95b9e341bc3aba1654bdbad707dcd773bd6309363447ef3fe58a960de92aa93"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"fileFormatVersion": 6,
"address": "0x61630d3505f8905a0f4d42c6ff39a78a6ba2b28f68a3299ec3417bbabc6717dc",
"name": "module",
"friends": [],
"structs": {},
"exposedFunctions": {}
},
"id": 1
}
sui_getNormalizedMoveStruct
Return a structured representation of Move struct
Parameters
Result
SuiMoveNormalizedStruct< SuiMoveNormalizedStruct >
Example
Gets a structured representation of the struct in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getNormalizedMoveStruct",
"params": [
"0x77b3482580ee8d5bdc5b824808df54bfec4fc817622e5add0e48f749f01def98",
"module",
"StructName"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"abilities": {
"abilities": [
"Store",
"Key"
]
},
"typeParameters": [],
"fields": []
},
"id": 1
}
Read API
sui_getChainIdentifier
Return the first four bytes of the chain's genesis checkpoint digest.
Parameters
None
Result
String< string >
Example
Gets the identifier for the chain receiving the POST.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getChainIdentifier",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": "4c78adac",
"id": 1
}
sui_getCheckpoint
Return a checkpoint
Parameters
Result
Checkpoint< Checkpoint >
Example
Gets checkpoint information for the checkpoint ID in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getCheckpoint",
"params": [
"1000"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"epoch": "5000",
"sequenceNumber": "1000",
"digest": "G6Dtzr1ZSfHFhotGsTE3cLENa7L1ooe1BBvknAUsARbV",
"networkTotalTransactions": "792385",
"previousDigest": "6tBy8RXZKrdrB4XkMQn7J3MNG4fQCo9XcRduFFvYrL5Z",
"epochRollingGasCostSummary": {
"computationCost": "0",
"storageCost": "0",
"storageRebate": "0",
"nonRefundableStorageFee": "0"
},
"timestampMs": "1676911928",
"transactions": [
"mN8YNBgVR3wB7vfXmjVgDRF4oqxVRRjzmJ6U4mzbq77"
],
"checkpointCommitments": [],
"validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
"id": 1
}
sui_getCheckpoints
Return paginated list of checkpoints
Parameters
Result
CheckpointPage< Page_for_Checkpoint_and_BigInt_for_uint64 >
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Example
Gets a paginated list in descending order of all checkpoints starting at the provided cursor. Each page of results has a maximum number of checkpoints set by the provided limit.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getCheckpoints",
"params": [
"1004",
4,
false
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"epoch": "5000",
"sequenceNumber": "1005",
"digest": "9zA7Q9Ka1ykvYjSQGhQCdCf32FZkcWNWx7L22JczXGsk",
"networkTotalTransactions": "792385",
"previousDigest": "8BLFxLTjWZ2KqaGc3FjR1o9aL6kbyYrmhuNfJLU1ehYt",
"epochRollingGasCostSummary": {
"computationCost": "0",
"storageCost": "0",
"storageRebate": "0",
"nonRefundableStorageFee": "0"
},
"timestampMs": "1676911928",
"transactions": [
"7RudGLkQDBNJyqrptkrNU66Zd3pvq8MHVAHYz9WpBm59"
],
"checkpointCommitments": [],
"validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
{
"epoch": "5000",
"sequenceNumber": "1006",
"digest": "FAUWHyWacmb4Vg4QGi9a6gqeVb7ixAZiL73FaGd6WpoV",
"networkTotalTransactions": "792385",
"previousDigest": "6Pn25cieaE62AT6BwCeBoca13AGZuneucaaTGqt3gNCo",
"epochRollingGasCostSummary": {
"computationCost": "0",
"storageCost": "0",
"storageRebate": "0",
"nonRefundableStorageFee": "0"
},
"timestampMs": "1676911928",
"transactions": [
"7r7tmP5hzgrusiN6cucFwfTveqDb7K75tMJ7oNCyoDmy"
],
"checkpointCommitments": [],
"validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
{
"epoch": "5000",
"sequenceNumber": "1007",
"digest": "B3mzC6gy87SomUQwPsmVY7mtwkZLxfm5WwNi3kKyEb3x",
"networkTotalTransactions": "792385",
"previousDigest": "CnHTfdUJr1UUqwXkYUhbQjXeM16xR33UR62jE72toCis",
"epochRollingGasCostSummary": {
"computationCost": "0",
"storageCost": "0",
"storageRebate": "0",
"nonRefundableStorageFee": "0"
},
"timestampMs": "1676911928",
"transactions": [
"Gb1UDqhmKMzMJ5FL37kBqCcuy4TtBL2ay3qec8tEUBLj"
],
"checkpointCommitments": [],
"validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
{
"epoch": "5000",
"sequenceNumber": "1008",
"digest": "HunuJWKu7azBfS47rJTq9FHTMvUDNVo2SK4hQeh5brXp",
"networkTotalTransactions": "792385",
"previousDigest": "38fLUfuigyzLPEDrsmRhcQmhKtbEUohuFBP9NDcWBmFz",
"epochRollingGasCostSummary": {
"computationCost": "0",
"storageCost": "0",
"storageRebate": "0",
"nonRefundableStorageFee": "0"
},
"timestampMs": "1676911928",
"transactions": [
"GWTS9QR7mjNz9fBWGkk4JZU3mrzMXrmj74uS59Cd5und"
],
"checkpointCommitments": [],
"validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
}
],
"nextCursor": "1008",
"hasNextPage": true
},
"id": 1
}
sui_getEvents
Return transaction events.
Parameters
Result
Vec<SuiEvent><[ Event ]>
Example
Returns the events the transaction in the request emits.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getEvents",
"params": [
"11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"id": {
"txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
"eventSeq": "0"
},
"packageId": "0xc54ab30a3d9adc07c1429c4d6bbecaf9457c9af77a91f631760853934d383634",
"transactionModule": "test_module",
"sender": "0xbcf7c32655009a61f1de0eae420a2e4ae1bb772ab2dd5d5a7dfa949c0ef06908",
"type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestEvent",
"parsedJson": {
"test": "example value"
},
"bcs": ""
}
],
"nextCursor": {
"txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
"eventSeq": "5"
},
"hasNextPage": false
},
"id": 1
}
sui_getLatestCheckpointSequenceNumber
Return the sequence number of the latest checkpoint that has been executed
Parameters
None
Result
BigInt<u64>< BigInt_for_uint64 >
Example
Gets the sequence number for the latest checkpoint.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getLatestCheckpointSequenceNumber",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": "507021",
"id": 1
}
sui_getObject
Return the object information for a specified object
Parameters
Result
SuiObjectResponse< SuiObjectResponse >
Example
Gets Object data for the ID in the request.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getObject",
"params": [
"0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
{
"showType": true,
"showOwner": true,
"showPreviousTransaction": true,
"showDisplay": false,
"showContent": true,
"showBcs": false,
"showStorageRebate": true
}
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"data": {
"objectId": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
"version": "1",
"digest": "33K5ZXJ3RyubvYaHuEnQ1QXmmbhgtrFwp199dnEbL4n7",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0xc8ec1d5b84dd6289e193b9f88de4a994358c9f856135236c3e75a925e1c77ac3"
},
"previousTransaction": "5PLgmQye6rraDYqpV3npV6H1cUXoJZgJh1dPCyRa3WCv",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809"
}
}
}
}
},
"id": 1
}
sui_getProtocolConfig
Return the protocol config table for the given version number. If the version number is not specified, If none is specified, the node uses the version of the latest epoch it has processed.
Parameters
Result
ProtocolConfigResponse< ProtocolConfig >
Example
Returns the protocol config for the given protocol version. If none is specified, the node uses the version of the latest epoch it has processed
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getProtocolConfig",
"params": [
6
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"minSupportedProtocolVersion": "1",
"maxSupportedProtocolVersion": "67",
"protocolVersion": "6",
"featureFlags": {
"accept_zklogin_in_multisig": false,
"advance_epoch_start_time_in_safe_mode": true,
"advance_to_highest_supported_protocol_version": false,
"allow_receiving_object_id": false,
"authority_capabilities_v2": false,
"ban_entry_init": false,
"bridge": false,
"commit_root_state_digest": false,
"consensus_distributed_vote_scoring_strategy": false,
"consensus_order_end_of_epoch_last": true,
"consensus_round_prober": false,
"disable_invariant_violation_check_in_swap_loc": false,
"disallow_adding_abilities_on_upgrade": false,
"disallow_change_struct_type_params_on_upgrade": false,
"enable_coin_deny_list": false,
"enable_coin_deny_list_v2": false,
"enable_effects_v2": false,
"enable_group_ops_native_function_msm": false,
"enable_group_ops_native_functions": false,
"enable_jwk_consensus_updates": false,
"enable_poseidon": false,
"enable_vdf": false,
"end_of_epoch_transaction_supported": false,
"fresh_vm_on_framework_upgrade": false,
"hardened_otw_check": false,
"include_consensus_digest_in_prologue": false,
"loaded_child_object_format": false,
"loaded_child_object_format_type": false,
"loaded_child_objects_fixed": true,
"missing_type_is_compatibility_error": true,
"mysticeti_fastpath": false,
"mysticeti_leader_scoring_and_schedule": false,
"mysticeti_use_committed_subdag_digest": false,
"narwhal_certificate_v2": false,
"narwhal_new_leader_election_schedule": false,
"narwhal_versioned_metadata": false,
"no_extraneous_module_bytes": false,
"package_digest_hash_module": false,
"package_upgrades": true,
"passkey_auth": false,
"prepend_prologue_tx_in_consensus_commit_in_checkpoints": false,
"random_beacon": false,
"receive_objects": false,
"recompute_has_public_transfer_in_execution": false,
"record_consensus_determined_version_assignments_in_prologue": false,
"reject_mutable_random_on_entry_functions": false,
"relocate_event_module": false,
"reshare_at_same_initial_version": false,
"resolve_abort_locations_to_package_id": false,
"rethrow_serialization_type_layout_errors": false,
"scoring_decision_with_validity_cutoff": true,
"shared_object_deletion": false,
"simple_conservation_checks": false,
"simplified_unwrap_then_delete": false,
"soft_bundle": false,
"throughput_aware_consensus_submission": false,
"txn_base_cost_as_multiplier": false,
"upgraded_multisig_supported": false,
"validate_identifier_inputs": false,
"verify_legacy_zklogin_address": false,
"zklogin_auth": false
},
"attributes": {
"address_from_bytes_cost_base": {
"u64": "52"
},
"address_from_u256_cost_base": {
"u64": "52"
},
"address_to_u256_cost_base": {
"u64": "52"
},
"base_tx_cost_fixed": {
"u64": "2000"
},
"base_tx_cost_per_byte": {
"u64": "0"
},
"bcs_failure_cost": null,
"bcs_legacy_min_output_size_cost": null,
"bcs_per_byte_serialized_cost": null,
"binary_address_identifiers": null,
"binary_constant_pool": null,
"binary_enum_def_instantiations": null,
"binary_enum_defs": null,
"binary_field_handles": null,
"binary_field_instantiations": null,
"binary_friend_decls": null,
"binary_function_defs": null,
"binary_function_handles": null,
"binary_function_instantiations": null,
"binary_identifiers": null,
"binary_module_handles": null,
"binary_signatures": null,
"binary_struct_def_instantiations": null,
"binary_struct_defs": null,
"binary_struct_handles": null,
"binary_variant_handles": null,
"binary_variant_instantiation_handles": null,
"bls12381_bls12381_min_pk_verify_cost_base": {
"u64": "52"
},
"bls12381_bls12381_min_pk_verify_msg_cost_per_block": {
"u64": "2"
},
"bls12381_bls12381_min_pk_verify_msg_cost_per_byte": {
"u64": "2"
},
"bls12381_bls12381_min_sig_verify_cost_base": {
"u64": "52"
},
"bls12381_bls12381_min_sig_verify_msg_cost_per_block": {
"u64": "2"
},
"bls12381_bls12381_min_sig_verify_msg_cost_per_byte": {
"u64": "2"
},
"bridge_should_try_to_finalize_committee": null,
"buffer_stake_for_protocol_upgrade_bps": {
"u64": "5000"
},
"check_zklogin_id_cost_base": null,
"check_zklogin_issuer_cost_base": null,
"checkpoint_summary_version_specific_data": null,
"config_read_setting_impl_cost_base": null,
"config_read_setting_impl_cost_per_byte": null,
"consensus_bad_nodes_stake_threshold": null,
"consensus_gc_depth": null,
"consensus_max_num_transactions_in_block": null,
"consensus_max_transaction_size_bytes": null,
"consensus_max_transactions_in_block_bytes": null,
"crypto_invalid_arguments_cost": {
"u64": "100"
},
"debug_print_base_cost": null,
"debug_print_stack_trace_base_cost": null,
"dynamic_field_add_child_object_cost_base": {
"u64": "100"
},
"dynamic_field_add_child_object_struct_tag_cost_per_byte": {
"u64": "10"
},
"dynamic_field_add_child_object_type_cost_per_byte": {
"u64": "10"
},
"dynamic_field_add_child_object_value_cost_per_byte": {
"u64": "10"
},
"dynamic_field_borrow_child_object_child_ref_cost_per_byte": {
"u64": "10"
},
"dynamic_field_borrow_child_object_cost_base": {
"u64": "100"
},
"dynamic_field_borrow_child_object_type_cost_per_byte": {
"u64": "10"
},
"dynamic_field_has_child_object_cost_base": {
"u64": "100"
},
"dynamic_field_has_child_object_with_ty_cost_base": {
"u64": "100"
},
"dynamic_field_has_child_object_with_ty_type_cost_per_byte": {
"u64": "2"
},
"dynamic_field_has_child_object_with_ty_type_tag_cost_per_byte": {
"u64": "2"
},
"dynamic_field_hash_type_and_key_cost_base": {
"u64": "100"
},
"dynamic_field_hash_type_and_key_type_cost_per_byte": {
"u64": "2"
},
"dynamic_field_hash_type_and_key_type_tag_cost_per_byte": {
"u64": "2"
},
"dynamic_field_hash_type_and_key_value_cost_per_byte": {
"u64": "2"
},
"dynamic_field_remove_child_object_child_cost_per_byte": {
"u64": "2"
},
"dynamic_field_remove_child_object_cost_base": {
"u64": "100"
},
"dynamic_field_remove_child_object_type_cost_per_byte": {
"u64": "2"
},
"ecdsa_k1_decompress_pubkey_cost_base": {
"u64": "52"
},
"ecdsa_k1_ecrecover_keccak256_cost_base": {
"u64": "52"
},
"ecdsa_k1_ecrecover_keccak256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_k1_ecrecover_keccak256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_k1_ecrecover_sha256_cost_base": {
"u64": "52"
},
"ecdsa_k1_ecrecover_sha256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_k1_ecrecover_sha256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_k1_secp256k1_verify_keccak256_cost_base": {
"u64": "52"
},
"ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_k1_secp256k1_verify_sha256_cost_base": {
"u64": "52"
},
"ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_r1_ecrecover_keccak256_cost_base": {
"u64": "52"
},
"ecdsa_r1_ecrecover_keccak256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_r1_ecrecover_keccak256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_r1_ecrecover_sha256_cost_base": {
"u64": "52"
},
"ecdsa_r1_ecrecover_sha256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_r1_ecrecover_sha256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_r1_secp256r1_verify_keccak256_cost_base": {
"u64": "52"
},
"ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_byte": {
"u64": "2"
},
"ecdsa_r1_secp256r1_verify_sha256_cost_base": {
"u64": "52"
},
"ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_block": {
"u64": "2"
},
"ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_byte": {
"u64": "2"
},
"ecvrf_ecvrf_verify_alpha_string_cost_per_block": {
"u64": "2"
},
"ecvrf_ecvrf_verify_alpha_string_cost_per_byte": {
"u64": "2"
},
"ecvrf_ecvrf_verify_cost_base": {
"u64": "52"
},
"ed25519_ed25519_verify_cost_base": {
"u64": "52"
},
"ed25519_ed25519_verify_msg_cost_per_block": {
"u64": "2"
},
"ed25519_ed25519_verify_msg_cost_per_byte": {
"u64": "2"
},
"event_emit_cost_base": {
"u64": "52"
},
"event_emit_output_cost_per_byte": {
"u64": "10"
},
"event_emit_tag_size_derivation_cost_per_byte": {
"u64": "5"
},
"event_emit_value_size_derivation_cost_per_byte": {
"u64": "2"
},
"execution_version": null,
"gas_budget_based_txn_cost_cap_factor": null,
"gas_model_version": {
"u64": "5"
},
"gas_rounding_step": null,
"groth16_prepare_verifying_key_bls12381_cost_base": {
"u64": "52"
},
"groth16_prepare_verifying_key_bn254_cost_base": {
"u64": "52"
},
"groth16_verify_groth16_proof_internal_bls12381_cost_base": {
"u64": "52"
},
"groth16_verify_groth16_proof_internal_bls12381_cost_per_public_input": {
"u64": "2"
},
"groth16_verify_groth16_proof_internal_bn254_cost_base": {
"u64": "52"
},
"groth16_verify_groth16_proof_internal_bn254_cost_per_public_input": {
"u64": "2"
},
"groth16_verify_groth16_proof_internal_public_input_cost_per_byte": {
"u64": "2"
},
"group_ops_bls12381_decode_g1_cost": null,
"group_ops_bls12381_decode_g2_cost": null,
"group_ops_bls12381_decode_gt_cost": null,
"group_ops_bls12381_decode_scalar_cost": null,
"group_ops_bls12381_g1_add_cost": null,
"group_ops_bls12381_g1_div_cost": null,
"group_ops_bls12381_g1_hash_to_base_cost": null,
"group_ops_bls12381_g1_hash_to_cost_per_byte": null,
"group_ops_bls12381_g1_msm_base_cost": null,
"group_ops_bls12381_g1_msm_base_cost_per_input": null,
"group_ops_bls12381_g1_mul_cost": null,
"group_ops_bls12381_g1_sub_cost": null,
"group_ops_bls12381_g2_add_cost": null,
"group_ops_bls12381_g2_div_cost": null,
"group_ops_bls12381_g2_hash_to_base_cost": null,
"group_ops_bls12381_g2_hash_to_cost_per_byte": null,
"group_ops_bls12381_g2_msm_base_cost": null,
"group_ops_bls12381_g2_msm_base_cost_per_input": null,
"group_ops_bls12381_g2_mul_cost": null,
"group_ops_bls12381_g2_sub_cost": null,
"group_ops_bls12381_gt_add_cost": null,
"group_ops_bls12381_gt_div_cost": null,
"group_ops_bls12381_gt_mul_cost": null,
"group_ops_bls12381_gt_sub_cost": null,
"group_ops_bls12381_msm_max_len": null,
"group_ops_bls12381_pairing_cost": null,
"group_ops_bls12381_scalar_add_cost": null,
"group_ops_bls12381_scalar_div_cost": null,
"group_ops_bls12381_scalar_mul_cost": null,
"group_ops_bls12381_scalar_sub_cost": null,
"hash_blake2b256_cost_base": {
"u64": "52"
},
"hash_blake2b256_data_cost_per_block": {
"u64": "2"
},
"hash_blake2b256_data_cost_per_byte": {
"u64": "2"
},
"hash_keccak256_cost_base": {
"u64": "52"
},
"hash_keccak256_data_cost_per_block": {
"u64": "2"
},
"hash_keccak256_data_cost_per_byte": {
"u64": "2"
},
"hash_sha2_256_base_cost": null,
"hash_sha2_256_legacy_min_input_len_cost": null,
"hash_sha2_256_per_byte_cost": null,
"hash_sha3_256_base_cost": null,
"hash_sha3_256_legacy_min_input_len_cost": null,
"hash_sha3_256_per_byte_cost": null,
"hmac_hmac_sha3_256_cost_base": {
"u64": "52"
},
"hmac_hmac_sha3_256_input_cost_per_block": {
"u64": "2"
},
"hmac_hmac_sha3_256_input_cost_per_byte": {
"u64": "2"
},
"max_accumulated_txn_cost_per_object_in_mysticeti_commit": null,
"max_accumulated_txn_cost_per_object_in_narwhal_commit": null,
"max_age_of_jwk_in_epochs": null,
"max_arguments": {
"u32": "512"
},
"max_back_edges_per_function": {
"u64": "10000"
},
"max_back_edges_per_module": {
"u64": "10000"
},
"max_basic_blocks": {
"u64": "1024"
},
"max_checkpoint_size_bytes": {
"u64": "31457280"
},
"max_deferral_rounds_for_congestion_control": null,
"max_dependency_depth": {
"u64": "100"
},
"max_event_emit_size": {
"u64": "256000"
},
"max_event_emit_size_total": null,
"max_fields_in_struct": {
"u64": "32"
},
"max_function_definitions": {
"u64": "1000"
},
"max_function_parameters": {
"u64": "128"
},
"max_gas_computation_bucket": {
"u64": "5000000"
},
"max_gas_payment_objects": {
"u32": "256"
},
"max_gas_price": {
"u64": "100000"
},
"max_generic_instantiation_length": {
"u64": "32"
},
"max_input_objects": {
"u64": "2048"
},
"max_jwk_votes_per_validator_per_epoch": null,
"max_loop_depth": {
"u64": "5"
},
"max_meter_ticks_per_module": {
"u64": "6000000"
},
"max_meter_ticks_per_package": null,
"max_modules_in_publish": {
"u32": "128"
},
"max_move_enum_variants": null,
"max_move_identifier_len": null,
"max_move_object_size": {
"u64": "256000"
},
"max_move_package_size": {
"u64": "102400"
},
"max_move_value_depth": null,
"max_move_vector_len": {
"u64": "262144"
},
"max_num_deleted_move_object_ids": {
"u64": "2048"
},
"max_num_deleted_move_object_ids_system_tx": {
"u64": "32768"
},
"max_num_event_emit": {
"u64": "256"
},
"max_num_new_move_object_ids": {
"u64": "2048"
},
"max_num_new_move_object_ids_system_tx": {
"u64": "32768"
},
"max_num_transferred_move_object_ids": {
"u64": "2048"
},
"max_num_transferred_move_object_ids_system_tx": {
"u64": "32768"
},
"max_package_dependencies": null,
"max_programmable_tx_commands": {
"u32": "1024"
},
"max_publish_or_upgrade_per_ptb": null,
"max_pure_argument_size": {
"u32": "16384"
},
"max_push_size": {
"u64": "10000"
},
"max_serialized_tx_effects_size_bytes": {
"u64": "524288"
},
"max_serialized_tx_effects_size_bytes_system_tx": {
"u64": "8388608"
},
"max_size_written_objects": {
"u64": "5000000"
},
"max_size_written_objects_system_tx": {
"u64": "50000000"
},
"max_soft_bundle_size": null,
"max_struct_definitions": {
"u64": "200"
},
"max_transactions_per_checkpoint": {
"u64": "10000"
},
"max_tx_gas": {
"u64": "50000000000"
},
"max_tx_size_bytes": {
"u64": "131072"
},
"max_type_argument_depth": {
"u32": "16"
},
"max_type_arguments": {
"u32": "16"
},
"max_type_nodes": {
"u64": "256"
},
"max_type_to_layout_nodes": null,
"max_value_stack_size": {
"u64": "1024"
},
"max_verifier_meter_ticks_per_function": {
"u64": "6000000"
},
"min_checkpoint_interval_ms": null,
"min_move_binary_format_version": null,
"move_binary_format_version": {
"u32": "6"
},
"obj_access_cost_delete_per_byte": {
"u64": "40"
},
"obj_access_cost_mutate_per_byte": {
"u64": "40"
},
"obj_access_cost_read_per_byte": {
"u64": "15"
},
"obj_access_cost_verify_per_byte": {
"u64": "200"
},
"obj_data_cost_refundable": {
"u64": "100"
},
"obj_metadata_cost_non_refundable": {
"u64": "50"
},
"object_borrow_uid_cost_base": {
"u64": "52"
},
"object_delete_impl_cost_base": {
"u64": "52"
},
"object_record_new_uid_cost_base": {
"u64": "52"
},
"object_runtime_max_num_cached_objects": {
"u64": "1000"
},
"object_runtime_max_num_cached_objects_system_tx": {
"u64": "16000"
},
"object_runtime_max_num_store_entries": {
"u64": "1000"
},
"object_runtime_max_num_store_entries_system_tx": {
"u64": "16000"
},
"package_publish_cost_fixed": {
"u64": "1000"
},
"package_publish_cost_per_byte": {
"u64": "80"
},
"poseidon_bn254_cost_base": null,
"poseidon_bn254_cost_per_block": null,
"random_beacon_dkg_timeout_round": null,
"random_beacon_dkg_version": null,
"random_beacon_min_round_interval_ms": null,
"random_beacon_reduction_allowed_delta": null,
"random_beacon_reduction_lower_bound": null,
"reward_slashing_rate": {
"u64": "10000"
},
"storage_fund_reinvest_rate": {
"u64": "500"
},
"storage_gas_price": {
"u64": "76"
},
"storage_rebate_rate": {
"u64": "9900"
},
"string_check_utf8_base_cost": null,
"string_check_utf8_per_byte_cost": null,
"string_index_of_base_cost": null,
"string_index_of_per_byte_pattern_cost": null,
"string_index_of_per_byte_searched_cost": null,
"string_is_char_boundary_base_cost": null,
"string_sub_string_base_cost": null,
"string_sub_string_per_byte_cost": null,
"transfer_freeze_object_cost_base": {
"u64": "52"
},
"transfer_receive_object_cost_base": null,
"transfer_share_object_cost_base": {
"u64": "52"
},
"transfer_transfer_internal_cost_base": {
"u64": "52"
},
"tx_context_derive_id_cost_base": {
"u64": "52"
},
"type_name_get_base_cost": null,
"type_name_get_per_byte_cost": null,
"types_is_one_time_witness_cost_base": {
"u64": "52"
},
"types_is_one_time_witness_type_cost_per_byte": {
"u64": "2"
},
"types_is_one_time_witness_type_tag_cost_per_byte": {
"u64": "2"
},
"validator_validate_metadata_cost_base": {
"u64": "52"
},
"validator_validate_metadata_data_cost_per_byte": {
"u64": "2"
},
"vdf_hash_to_input_cost": null,
"vdf_verify_vdf_cost": null,
"vector_borrow_base_cost": null,
"vector_destroy_empty_base_cost": null,
"vector_empty_base_cost": null,
"vector_length_base_cost": null,
"vector_pop_back_base_cost": null,
"vector_push_back_base_cost": null,
"vector_push_back_legacy_per_abstract_memory_unit_cost": null,
"vector_swap_base_cost": null
}
},
"id": 1
}
sui_getTotalTransactionBlocks
Return the total number of transaction blocks known to the server.
Parameters
None
Result
BigInt<u64>< BigInt_for_uint64 >
Example
Gets total number of transactions on the network.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getTotalTransactionBlocks",
"params": []
}
Response
{
"jsonrpc": "2.0",
"result": "2451485",
"id": 1
}
sui_getTransactionBlock
Return the transaction response object.
Parameters
Result
SuiTransactionBlockResponse< TransactionBlockResponse >
show_raw_transaction
is falseExample
Returns the transaction response object for specified transaction digest.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getTransactionBlock",
"params": [
"Hay2tj3GcDYcE3AMHrej5WDsHGPVAYsegcubixLUvXUF",
{
"showInput": true,
"showRawInput": false,
"showEffects": true,
"showEvents": true,
"showObjectChanges": false,
"showBalanceChanges": false,
"showRawEffects": false
}
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"digest": "Hay2tj3GcDYcE3AMHrej5WDsHGPVAYsegcubixLUvXUF",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
"version": "2",
"digest": "GK4NxEKSrK88XkPNeuBqtJYPmU9yMTWMD7K9TdU4ybKN"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66",
"gasData": {
"payment": [
{
"objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
"version": 2,
"digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
}
],
"owner": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"AMU7cJTEsJ5WoVlKZ2zsVuGMk9linDuNqLV9eGIIrqarP2x4R9riuvmmMgXfdxMm7jTzYxbHrsDNMwlxpTbbFghtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA=="
]
},
"rawTransaction": "AQAAAAAAAgAggZbQSLem0EyO3IlXnYb9P8kMUvmhTGuBK5T+YTxbzrsBAF7rHUSeJRYWbVfXH96xVNDcns23swBX0KkyaEysNSzcAgAAAAAAAAAg43+UGkUe+CCaD7+/G1SbK7Jrjq7giJUUbfJ7w88mEMEBAQEBAQABAACCF5xX1Ylbq/tlXNYujohqUzNLXnvpvmWOt1nMNeP8ZgEaPomAKdAk7sHUTGr14vrN7YTQO1NzUU8W49ZuAAgQUQIAAAAAAAAAIGS7c6HtWLLBiwy/N3eS4gbmuA1NXupk4ucFY7FYkCbEghecV9WJW6v7ZVzWLo6IalMzS1576b5ljrdZzDXj/GYKAAAAAAAAAKCGAQAAAAAAAAFhAMU7cJTEsJ5WoVlKZ2zsVuGMk9linDuNqLV9eGIIrqarP2x4R9riuvmmMgXfdxMm7jTzYxbHrsDNMwlxpTbbFghtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "6AyFnAuKAKCqm1cD94EyGzBqJCDDJ716ojjmsKF2rqoi",
"mutated": [
{
"owner": {
"AddressOwner": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66"
},
"reference": {
"objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
"version": 2,
"digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
}
},
{
"owner": {
"AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
},
"reference": {
"objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
"version": 2,
"digest": "GK4NxEKSrK88XkPNeuBqtJYPmU9yMTWMD7K9TdU4ybKN"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66"
},
"reference": {
"objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
"version": 2,
"digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
}
},
"eventsDigest": "9BQobwxQvJ1JxSXNn8v8htZPTu8FEzJJGgcD4kgLUuMd"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66",
"recipient": {
"AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
},
"objectType": "0x2::example::Object",
"objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
"version": "2",
"digest": "64UQ3a7m1mjWuzgyGoH8RnMyPGDN4XYTC9dS4qiSfdK4"
}
]
},
"id": 1
}
sui_multiGetObjects
Return the object data for a list of objects
Parameters
Result
Vec<SuiObjectResponse><[ SuiObjectResponse ]>
Example
Gets objects by IDs.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_multiGetObjects",
"params": [
[
"0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e",
"0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134",
"0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656",
"0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685",
"0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6"
],
{
"showType": true,
"showOwner": true,
"showPreviousTransaction": true,
"showDisplay": false,
"showContent": true,
"showBcs": false,
"showStorageRebate": true
}
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"data": {
"objectId": "0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e",
"version": "1",
"digest": "AibMqH69gKT5t7rVTsDZFy2X5iHtoNDobKaZ62mg3FCU",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0xe8070b5f56bb10bafa0e2261d819b2582f82ab308bf9c96dfb22ec7345db1b5f"
},
"previousTransaction": "2QwXW3qzMEZPAyyP9VHtXbC2tp7iomypQc5XnkyPsu5d",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e"
}
}
}
}
},
{
"data": {
"objectId": "0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134",
"version": "1",
"digest": "D5W76mT1A3tqCmE1Z5MdV5obNzesMXLfLKpRDHSp1fyz",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x5594d02890c986dbf328d28d21acece356d10d89e75f565b0934851ba8d5bc59"
},
"previousTransaction": "5itvhMFvtJcV6fY2VY4x7F9Ex18q2N4Rr5WU4FXTJsFU",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134"
}
}
}
}
},
{
"data": {
"objectId": "0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656",
"version": "1",
"digest": "H2o2pWgceQgTtYrMacR4xnCi4vqGiuozDA6k2rBc4m3q",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0xda104dde1de9880be827a1a753e502ebcdfec53f33e745e3f021366b7bc47c2b"
},
"previousTransaction": "8rsTRNPs13DZvD2xneZEtf2nAAipep6uHXPXWVXfzDBr",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656"
}
}
}
}
},
{
"data": {
"objectId": "0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685",
"version": "1",
"digest": "3ovR1s3bZt6AN1AQ7QhGUfX9BSwgjJPvL6XaczgeSKXU",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x00a65bf5fdccb50582333b61721e6963a25f25ac8ead5916a83f49a7b372eae7"
},
"previousTransaction": "3w6ars2tmgBST4ozGxPWzSpEGyn4AdxMBv3K9sdkCWfR",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685"
}
}
}
}
},
{
"data": {
"objectId": "0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6",
"version": "1",
"digest": "25QdFqrh9FgxhGQyAxZsNEakYmHezqmU3FMPud7JGRB5",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x3e7f360c51d035a6470f09c8d23716e4085025b89d176840d61dde92a452a72f"
},
"previousTransaction": "BE9GoMd7Mr8fGte3EdsXxUMwYjcErW71n6Gsm4iPvDmv",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "100000000",
"id": {
"id": "0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6"
}
}
}
}
}
],
"id": 1
}
sui_multiGetTransactionBlocks
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
Parameters
Result
Vec<SuiTransactionBlockResponse><[ TransactionBlockResponse ]>
Example
Returns the transaction data for specified digest.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_multiGetTransactionBlocks",
"params": [
[
"CKzxe1mN72xVrq5BadAzVu1Lk61AYzuRSEQ3zWK2zbGs",
"2jinTmZQ8aModigpcbYcKELwRrTcqosbMmqsiEopvMy9",
"BCyCzV64UgrX5vr2kdtzhrojLwaZ9gasnhVV8TQeY1EA"
],
{
"showInput": true,
"showRawInput": false,
"showEffects": true,
"showEvents": true,
"showObjectChanges": false,
"showBalanceChanges": false,
"showRawEffects": false
}
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"digest": "CKzxe1mN72xVrq5BadAzVu1Lk61AYzuRSEQ3zWK2zbGs",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
"version": "2",
"digest": "3gmeyj5oEdE8A4PvjWsDSHchC6tb6YQj18gnD7xnDqGz"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x576f8e1fdc514e8cf2e0453a0b29ade149b33004c56deab5428239942aef9ec2",
"gasData": {
"payment": [
{
"objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
"version": 2,
"digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
}
],
"owner": "0x576f8e1fdc514e8cf2e0453a0b29ade149b33004c56deab5428239942aef9ec2",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"AAjABbK1jtt2/3ixW3D0YWrDscRT5oevWGf1yJD4KNqudiehykWXtHx7aipTKNx+5dbpTtEwPLI2dTB0CyORlg+nSicGHWn+0mf3oSb/LUa5i+dDAEb1qsgy7LkQ8hbr+w=="
]
},
"rawTransaction": "AQAAAAAAAgAgeo6aDQdPkP3bQs2Sj3S5hsb1Oac089fJp1qcsifsMVcBACSWLuQZPIwNL7KLvg60ul/IeixtGnwSyUVIcsXqBtXhAgAAAAAAAAAgJ+eEST+x3M3niTo6xcZ80sTidUC1LugoCWsqpf5Qp+8BAQEBAQABAABXb44f3FFOjPLgRToLKa3hSbMwBMVt6rVCgjmUKu+ewgGVhdVZFSG/0S3sOjcu/VORCLqAeg2r7W5doPF078P1jgIAAAAAAAAAIP8RnpL1eudNGyUNXfLLUXB4KopDj79oHt7U0eCizX37V2+OH9xRTozy4EU6Cymt4UmzMATFbeq1QoI5lCrvnsIKAAAAAAAAAKCGAQAAAAAAAAFhAAjABbK1jtt2/3ixW3D0YWrDscRT5oevWGf1yJD4KNqudiehykWXtHx7aipTKNx+5dbpTtEwPLI2dTB0CyORlg+nSicGHWn+0mf3oSb/LUa5i+dDAEb1qsgy7LkQ8hbr+w==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "2SY11dmdTQv6JLD2wqcsMiJNqXbXUkn87Rzw5NHib8Mf",
"mutated": [
{
"owner": {
"AddressOwner": "0x576f8e1fdc514e8cf2e0453a0b29ade149b33004c56deab5428239942aef9ec2"
},
"reference": {
"objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
"version": 2,
"digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
}
},
{
"owner": {
"AddressOwner": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
},
"reference": {
"objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
"version": 2,
"digest": "3gmeyj5oEdE8A4PvjWsDSHchC6tb6YQj18gnD7xnDqGz"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x576f8e1fdc514e8cf2e0453a0b29ade149b33004c56deab5428239942aef9ec2"
},
"reference": {
"objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
"version": 2,
"digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
}
},
"eventsDigest": "DkaTtjSfULiQ7FT48kzuS7yKj2JUAWGgjDBXddqn1z9o"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x576f8e1fdc514e8cf2e0453a0b29ade149b33004c56deab5428239942aef9ec2",
"recipient": {
"AddressOwner": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
},
"objectType": "0x2::example::Object",
"objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
"version": "2",
"digest": "J4k64LwycebB7TQhKrPaZ954yCK64rwbDJMSrSUW4Ba4"
}
]
},
{
"digest": "2jinTmZQ8aModigpcbYcKELwRrTcqosbMmqsiEopvMy9",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
"version": "2",
"digest": "HyJbrm9Th6ox4oU9vrrRzgZSaCu1n3omMJ1fAcHswvvo"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x994b906032a82b0d9f48030d74c092647d92266b13a63049e6027468c199666e",
"gasData": {
"payment": [
{
"objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
"version": 2,
"digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
}
],
"owner": "0x994b906032a82b0d9f48030d74c092647d92266b13a63049e6027468c199666e",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"AFumlgf6FRg/Hav9rJrEtmSzVW1iHCGixLA/lxj4ojn5ati0aXW8NnOwYe97d68oG1vjFfmid20XrO69XUh6eQULoJG5hufQ9rzjXn1UVSbD7HyPVZykOZAICGCiqQMgGw=="
]
},
"rawTransaction": "AQAAAAAAAgAgw+T4RqKCdUlG4YHgD0NBpTteiV747Dxz0jeKChGCXiMBAC+sGnDiDhRvsTA71g60vqm9RT5QaQtCMkHw4um+q9YBAgAAAAAAAAAg/Cdq6qc8DsEltgkKJ7uvql/DLnVzYS0husigmreRU3QBAQEBAQABAACZS5BgMqgrDZ9IAw10wJJkfZImaxOmMEnmAnRowZlmbgG72r8oKO6cp+QiemHP+FH++ftqCK5ETJb5gQJ11q+XPAIAAAAAAAAAIA0CLbniGg8JvLiQdz0RwavXF2ex9nqAQCZ3iCA/OXcimUuQYDKoKw2fSAMNdMCSZH2SJmsTpjBJ5gJ0aMGZZm4KAAAAAAAAAKCGAQAAAAAAAAFhAFumlgf6FRg/Hav9rJrEtmSzVW1iHCGixLA/lxj4ojn5ati0aXW8NnOwYe97d68oG1vjFfmid20XrO69XUh6eQULoJG5hufQ9rzjXn1UVSbD7HyPVZykOZAICGCiqQMgGw==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "69bh3Q9RhRgMFKwmQn8LYE8vYujFTpYyUSVBht3oYkm6",
"mutated": [
{
"owner": {
"AddressOwner": "0x994b906032a82b0d9f48030d74c092647d92266b13a63049e6027468c199666e"
},
"reference": {
"objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
"version": 2,
"digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
}
},
{
"owner": {
"AddressOwner": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
},
"reference": {
"objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
"version": 2,
"digest": "HyJbrm9Th6ox4oU9vrrRzgZSaCu1n3omMJ1fAcHswvvo"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x994b906032a82b0d9f48030d74c092647d92266b13a63049e6027468c199666e"
},
"reference": {
"objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
"version": 2,
"digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
}
},
"eventsDigest": "4Vh6HmG6PwdbZbMiMwj9YnKvsMnP3gfhLmAd288eujv4"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x994b906032a82b0d9f48030d74c092647d92266b13a63049e6027468c199666e",
"recipient": {
"AddressOwner": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
},
"objectType": "0x2::example::Object",
"objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
"version": "2",
"digest": "CHia3BiES8mt5kqMYhzBpjAeLRpjcsMNDMFakBAdcVAg"
}
]
},
{
"digest": "BCyCzV64UgrX5vr2kdtzhrojLwaZ9gasnhVV8TQeY1EA",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
"version": "2",
"digest": "6jsxetsBSZJ5ozgZuDmHXJzn9ZBp8emivfYHe6tnHg7C"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0xb6c36d992a3b50f3acf8e3c9a0fb909eacbfc249eaf66616ad6712409d2ee563",
"gasData": {
"payment": [
{
"objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
"version": 2,
"digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
}
],
"owner": "0xb6c36d992a3b50f3acf8e3c9a0fb909eacbfc249eaf66616ad6712409d2ee563",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"ALp3VT1YKzOOGLARJCrDqBbMScEPcFq2vWNJ68Zzr3+v5sEK+44cfPlQfMY0UZWyhA86viiG8yd4eLWmnzzU2gXBLYrHKlE7PwRVuJjmBwbiSpqS0m/j+PFnALfPM5bN1Q=="
]
},
"rawTransaction": "AQAAAAAAAgAgA4jCjd1Zd6WOIGrNGWOch1pPvs8zQrglyDhDAKx+O60BAMggp1tXQiS5IKqbAFCTuCDfJO+LQ3FUmfT/9OBWwM1cAgAAAAAAAAAgVUZy4Te1Cxp8iyTYMxDI9sRo5v6QbaCnpymsaNySaNMBAQEBAQABAAC2w22ZKjtQ86z448mg+5CerL/CSer2ZhatZxJAnS7lYwHYAktLOaf+0nE0sHPahjhFQRE5ZRk3noiMg6uvDmAFBAIAAAAAAAAAIHnkVv8BP1ZT2rttbJXd19NaQtMfOpvru2g9tm6KBnBotsNtmSo7UPOs+OPJoPuQnqy/wknq9mYWrWcSQJ0u5WMKAAAAAAAAAKCGAQAAAAAAAAFhALp3VT1YKzOOGLARJCrDqBbMScEPcFq2vWNJ68Zzr3+v5sEK+44cfPlQfMY0UZWyhA86viiG8yd4eLWmnzzU2gXBLYrHKlE7PwRVuJjmBwbiSpqS0m/j+PFnALfPM5bN1Q==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "DzJWHtFNHttaBdpECZGDMF7tcx5NYZfNfCk5NsaaRgmn",
"mutated": [
{
"owner": {
"AddressOwner": "0xb6c36d992a3b50f3acf8e3c9a0fb909eacbfc249eaf66616ad6712409d2ee563"
},
"reference": {
"objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
"version": 2,
"digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
}
},
{
"owner": {
"AddressOwner": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
},
"reference": {
"objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
"version": 2,
"digest": "6jsxetsBSZJ5ozgZuDmHXJzn9ZBp8emivfYHe6tnHg7C"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0xb6c36d992a3b50f3acf8e3c9a0fb909eacbfc249eaf66616ad6712409d2ee563"
},
"reference": {
"objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
"version": 2,
"digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
}
},
"eventsDigest": "Bbh3U8fCxVzdX6uZUNWRzZrUktcUfWcydhWCMyWJSPpt"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0xb6c36d992a3b50f3acf8e3c9a0fb909eacbfc249eaf66616ad6712409d2ee563",
"recipient": {
"AddressOwner": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
},
"objectType": "0x2::example::Object",
"objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
"version": "2",
"digest": "HaFQHEJugXDGh95A9Ye1tp7GikbuAQNiEanrQuVLvpfz"
}
]
}
],
"id": 1
}
sui_tryGetPastObject
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
Parameters
Result
SuiPastObjectResponse< ObjectRead >
Example
Gets Past Object data.
Request
{
"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
}
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"status": "VersionFound",
"details": {
"objectId": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760",
"version": "4",
"digest": "5VPAwDXy3BL72ehFc7gSJoz27ahMd6spUg5YwYc4ibcv",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x3568c40e814d9d5396d23087a0fd641e91e0e00df6c012cded9ef9ba5e5bf042"
},
"previousTransaction": "5jQByoouHBwaico5pQB73GdbzerC2StjTiHh5garBjiV",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "10000",
"id": {
"id": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760"
}
}
}
}
},
"id": 1
}
sui_tryMultiGetPastObjects
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
Parameters
Result
Vec<SuiPastObjectResponse><[ ObjectRead ]>
Example
Gets Past Object data for a vector of objects.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_tryMultiGetPastObjects",
"params": [
[
{
"objectId": "0xceaf9ee4582d3a233101e322a22cb2a5bea2e681ea5af4e59bd1abb0bb4fcb27",
"version": "4"
},
{
"objectId": "0x47866ff92885a3c21a7703f564721c198308aa0c71b771ada6b96c16fc9c0fa7",
"version": "12"
}
],
{
"showType": true,
"showOwner": true,
"showPreviousTransaction": true,
"showDisplay": false,
"showContent": true,
"showBcs": false,
"showStorageRebate": true
}
]
}
Response
{
"jsonrpc": "2.0",
"result": [
{
"status": "VersionFound",
"details": {
"objectId": "0xceaf9ee4582d3a233101e322a22cb2a5bea2e681ea5af4e59bd1abb0bb4fcb27",
"version": "4",
"digest": "CE9bNT96Sa2BxQQH2id4PRxTgW5TW7zm6VVhDeRNBegW",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x54b3c61936f77fcfdaa213c2f7b4fb1b51ef9f3ed66000c0e45697dbee095479"
},
"previousTransaction": "hvBGBXvKVhC7XYgVPujuiLjxASR6UGAkSFrCRtVxX1F",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "10000",
"id": {
"id": "0xceaf9ee4582d3a233101e322a22cb2a5bea2e681ea5af4e59bd1abb0bb4fcb27"
}
}
}
}
},
{
"status": "VersionFound",
"details": {
"objectId": "0x47866ff92885a3c21a7703f564721c198308aa0c71b771ada6b96c16fc9c0fa7",
"version": "12",
"digest": "3pRSYsCdrDkfMDwecvKZ1zgSEpwUo52VcLE95iK9ap1N",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x998aaf3d11da24c49e014d4ccb1d7d0cd09d3cc1679290f1df2803b32b76ba03"
},
"previousTransaction": "B5z4YkAgTi78fdxMbxG3fv2V4YBkhpc8PRCPz8MzLtbf",
"storageRebate": "100",
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "20000",
"id": {
"id": "0xceaf9ee4582d3a233101e322a22cb2a5bea2e681ea5af4e59bd1abb0bb4fcb27"
}
}
}
}
}
],
"id": 1
}
Transaction Builder API
unsafe_batchTransaction
Create an unsigned batched transaction.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_mergeCoins
Create an unsigned transaction to merge multiple coins into one coin.
Parameters
primary_coin
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_moveCall
Create an unsigned transaction to execute a Move call on the network, by calling the specified function in the module of a given package.
Parameters
0x2
pay
split
SuiTransactionBlockBuilderMode::Commit
when it's None.Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_pay
Send Coin<T>
to a list of addresses, where T
can be any coin type, following a list of amounts, The object specified in the gas
field will be used to pay the gas fee for the transaction. The gas object can not appear in input_coins
. If the gas object is not specified, the RPC server will auto-select one.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_payAllSui
Send all SUI coins to one recipient. This is for SUI coin only and does not require a separate gas coin object. Specifically, what pay_all_sui does are: 1. accumulate all SUI from input coins and deposit all SUI to the first input coin 2. transfer the updated first coin to the recipient and also use this first coin as gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - actual_gas_cost. 4. all other input coins other than the first are deleted.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_paySui
Send SUI coins to a list of addresses, following a list of amounts. This is for SUI coin only and does not require a separate gas coin object. Specifically, what pay_sui does are: 1. debit each input_coin to create new coin following the order of amounts and assign it to the corresponding recipient. 2. accumulate all residual SUI from input coins left and deposit all SUI to the first input coin, then use the first input coin as the gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - sum(amounts) - actual_gas_cost 4. all other input coints other than the first one are deleted.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_publish
Create an unsigned transaction to publish a Move package.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_requestAddStake
Add stake to a validator's staking pool using multiple coins and amount.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_requestWithdrawStake
Withdraw stake from a validator's staking pool.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_splitCoin
Create an unsigned transaction to split a coin object into multiple coins.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_splitCoinEqual
Create an unsigned transaction to split a coin object into multiple equal-size coins.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_transferObject
Create an unsigned transaction to transfer an object from one address to another. The object's type must allow public transfers
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
unsafe_transferSui
Create an unsigned transaction to send SUI coin object to a Sui address. The SUI object is also used as the gas object.
Parameters
Result
TransactionBlockBytes< TransactionBlockBytes >
Write API
sui_devInspectTransactionBlock
Runs the transaction in dev-inspect mode. Which allows for nearly any transaction (or Move call) with any arguments. Detailed results are provided, including both the transaction effects and any return values.
Parameters
Result
DevInspectResults< DevInspectResults >
The response from processing a dev inspect transaction
Example
Runs the transaction in dev-inspect mode. Which allows for nearly any transaction (or Move call) with any arguments. Detailed results are provided, including both the transaction effects and any return values.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_devInspectTransactionBlock",
"params": [
"0xd70420418b84502e506794227f897237764dde8d79a01ab2104bf742a277a2ab",
"AAACACBnxtMcbJcOVn8D72fYEaT4Q2ZbjePygvpIs+AQO6m77QEAagYVO5/EhuEB8OnicDrIZm0GrsxN3355JqNhlwxlpbECAAAAAAAAACDoQ3EipycU+/EOvBcDPFtMkZiSbdzWAw3CwdmQCAtBWAEBAQEBAAEAAC9cVD1xauQ9RT3rOxmbva8bxwMMdoL4dwPc5DEkj+3gASxDgF0Nb1QCp60Npb3sVJx83qBrxKHTOaIlIe6pM7iJAgAAAAAAAAAgnvsgc1pPauyCE27/c+aBnHN3fSsxRAWdEJYzYFOryNAvXFQ9cWrkPUU96zsZm72vG8cDDHaC+HcD3OQxJI/t4AoAAAAAAAAAoIYBAAAAAAAA",
1000,
8888,
null
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "76gyHCk7FRrGACRqXM7Ybj5uJLtAzgEMJ5P9CeEzxZSG",
"mutated": [
{
"owner": {
"AddressOwner": "0x2f5c543d716ae43d453deb3b199bbdaf1bc7030c7682f87703dce431248fede0"
},
"reference": {
"objectId": "0x2c43805d0d6f5402a7ad0da5bdec549c7cdea06bc4a1d339a22521eea933b889",
"version": 2,
"digest": "BhbWpBeESxuRWvmvLMyb2JNUuFa6j4aG1T4WUiPgKAHm"
}
},
{
"owner": {
"AddressOwner": "0x67c6d31c6c970e567f03ef67d811a4f843665b8de3f282fa48b3e0103ba9bbed"
},
"reference": {
"objectId": "0x6a06153b9fc486e101f0e9e2703ac8666d06aecc4ddf7e7926a361970c65a5b1",
"version": 2,
"digest": "GdfET1avZReDftpJNB8LSuHJ2cKUheSbEaLMzuPVXHsM"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x2f5c543d716ae43d453deb3b199bbdaf1bc7030c7682f87703dce431248fede0"
},
"reference": {
"objectId": "0x2c43805d0d6f5402a7ad0da5bdec549c7cdea06bc4a1d339a22521eea933b889",
"version": 2,
"digest": "BhbWpBeESxuRWvmvLMyb2JNUuFa6j4aG1T4WUiPgKAHm"
}
},
"eventsDigest": "6kerMphN4S5QTfd9TAhwMiFq1q9c2YwfpheBfWm85vUq"
},
"events": []
},
"id": 1
}
sui_dryRunTransactionBlock
Return transaction execution effects including the gas cost summary, while the effects are not committed to the chain.
Parameters
Result
DryRunTransactionBlockResponse< DryRunTransactionBlockResponse >
Example
Dry runs a transaction block to get back estimated gas fees and other potential effects.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_dryRunTransactionBlock",
"params": [
"AAACACB7qR3cfnF89wjJNwYPBASHNuwz+xdG2Zml5YzVxnftgAEAT4LxyFh7mNZMAL+0bDhDvYv2zPp8ZahhOGmM0f3Kw9wCAAAAAAAAACCxDABG4pPAjOwPQHg9msS/SrtNf4IGR/2F0ZGD3ufH/wEBAQEBAAEAAGH7tbTzQqQL2/h/5KlGueONGM+P/HsAALl1F1x7apV2AejYx86GPzE9o9vZKoPvJtEouI/ma/JuDg0Jza9yfR2EAgAAAAAAAAAgzMqpegLMOpgEFnDhYJ23FOmFjJbp5GmFXxzzv9+X6GVh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgoAAAAAAAAAoIYBAAAAAAAA"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"digest": "DNtx7EmGqSywGbnSC1CKoqmBFEXGvApXpRVt6bU855xP",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": "2",
"digest": "Cv7n2YaM7Am1ssZGu4khsFkcKHnpgVhwFCSs4kLjrtLW"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"gasData": {
"payment": [
{
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
],
"owner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"AG+AHZMT7BZWQVagaGfENXyiFQ2nYRkG4XdnwqwToeJEmZ4J1IxKw0xKzTATGiUzFedY/nxKVuHikFibNlZ3wg9Dij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ=="
]
},
"rawTransaction": "AQAAAAAAAgAge6kd3H5xfPcIyTcGDwQEhzbsM/sXRtmZpeWM1cZ37YABAE+C8chYe5jWTAC/tGw4Q72L9sz6fGWoYThpjNH9ysPcAgAAAAAAAAAgsQwARuKTwIzsD0B4PZrEv0q7TX+CBkf9hdGRg97nx/8BAQEBAQABAABh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgHo2MfOhj8xPaPb2SqD7ybRKLiP5mvybg4NCc2vcn0dhAIAAAAAAAAAIMzKqXoCzDqYBBZw4WCdtxTphYyW6eRphV8c87/fl+hlYfu1tPNCpAvb+H/kqUa5440Yz4/8ewAAuXUXXHtqlXYKAAAAAAAAAKCGAQAAAAAAAAFhAG+AHZMT7BZWQVagaGfENXyiFQ2nYRkG4XdnwqwToeJEmZ4J1IxKw0xKzTATGiUzFedY/nxKVuHikFibNlZ3wg9Dij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "8UExPV121BEfWkbymSPDYhh23rVNh3MSWtC5juJ9JGMJ",
"mutated": [
{
"owner": {
"AddressOwner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576"
},
"reference": {
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
},
{
"owner": {
"AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
"reference": {
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": 2,
"digest": "Cv7n2YaM7Am1ssZGu4khsFkcKHnpgVhwFCSs4kLjrtLW"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576"
},
"reference": {
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
},
"eventsDigest": "55TNn3v5vpuXjQfjqamw76P9GZD522pumo4NuT7RYeFB"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"recipient": {
"AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
"objectType": "0x2::example::Object",
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": "2",
"digest": "B3xLC8EbyvTxy5pgiwTNUzHLa6kS7uwD6sZdErKB8F8f"
}
]
},
"id": 1
}
sui_executeTransactionBlock
Execute the transaction and wait for results if desired. Request types: 1. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client. This mode is a proxy for transaction finality. 2. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node executed the transaction locally before returning the client. The local execution makes sure this node is aware of this transaction when client fires subsequent queries. However if the node fails to execute the transaction locally in a timely manner, a bool type in the response is set to false to indicated the case. request_type is default to be WaitForEffectsCert
unless options.show_events or options.show_effects is true
Parameters
flag || signature || pubkey
bytes, as base-64 encoded string). Signature is committed to the intent message of the transaction data, as base-64 encoded string.SuiTransactionBlockResponseOptions
if NoneResult
SuiTransactionBlockResponse< TransactionBlockResponse >
show_raw_transaction
is falseExample
Executes a transaction with serialized signatures.
Request
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_executeTransactionBlock",
"params": [
"AAACACBqEB6aOvXIBwES+Ahkizbvv43uihqC3kbZUE6WoRCKFwEAjvdvVsOZYzousxC8qRJOXy84znOeqsu2YAaIgE4HhEgCAAAAAAAAACB9w3+ufZMpihJFwxtCBojBaGy00TVtFxgN2C6TpIPFqwEBAQEBAAEAAAS0l6kWtGVmCaf6gnoJGE1vR2gdO6dM4NejbGSysfiHAZ+Q9/hmzCnfsdpjc86U+dldylpA9OF2mRjuv5+64AvTAgAAAAAAAAAgjleHL0UiRGjh/BfIFHCJ3EMY/dQA22c2TvNQyVJnbYUEtJepFrRlZgmn+oJ6CRhNb0doHTunTODXo2xksrH4hwoAAAAAAAAAoIYBAAAAAAAA",
[
"AKD4XdltkCyBi1Heb4EJJ3lzuV3F4u7+CYeaE+Fd7qXpaT17yd4tHWjMf4CWq3TuXBLxTpkc2MV39P6p7eMV8QnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
],
{
"showInput": true,
"showRawInput": true,
"showEffects": true,
"showEvents": true,
"showObjectChanges": true,
"showBalanceChanges": true,
"showRawEffects": false
},
"WaitForLocalExecution"
]
}
Response
{
"jsonrpc": "2.0",
"result": {
"digest": "Gx7V6EteEAqSsptc1kbi1nUEMP7mhr4qV2cYS7JjzbBd",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x6a101e9a3af5c8070112f808648b36efbf8dee8a1a82de46d9504e96a1108a17"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
"version": "2",
"digest": "9Tvs1pGrMbNv7kkr1PoKLsWamyQpaFz5UWbL2AQ1ezk2"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x04b497a916b4656609a7fa827a09184d6f47681d3ba74ce0d7a36c64b2b1f887",
"gasData": {
"payment": [
{
"objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
"version": 2,
"digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
}
],
"owner": "0x04b497a916b4656609a7fa827a09184d6f47681d3ba74ce0d7a36c64b2b1f887",
"price": "10",
"budget": "100000"
}
},
"txSignatures": [
"AKD4XdltkCyBi1Heb4EJJ3lzuV3F4u7+CYeaE+Fd7qXpaT17yd4tHWjMf4CWq3TuXBLxTpkc2MV39P6p7eMV8QnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
]
},
"rawTransaction": "AQAAAAAAAgAgahAemjr1yAcBEvgIZIs277+N7ooagt5G2VBOlqEQihcBAI73b1bDmWM6LrMQvKkSTl8vOM5znqrLtmAGiIBOB4RIAgAAAAAAAAAgfcN/rn2TKYoSRcMbQgaIwWhstNE1bRcYDdguk6SDxasBAQEBAQABAAAEtJepFrRlZgmn+oJ6CRhNb0doHTunTODXo2xksrH4hwGfkPf4Zswp37HaY3POlPnZXcpaQPThdpkY7r+fuuAL0wIAAAAAAAAAII5Xhy9FIkRo4fwXyBRwidxDGP3UANtnNk7zUMlSZ22FBLSXqRa0ZWYJp/qCegkYTW9HaB07p0zg16NsZLKx+IcKAAAAAAAAAKCGAQAAAAAAAAFhAKD4XdltkCyBi1Heb4EJJ3lzuV3F4u7+CYeaE+Fd7qXpaT17yd4tHWjMf4CWq3TuXBLxTpkc2MV39P6p7eMV8QnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "9agZ3azEMgMqxrDVG8P4GddELfWag2HhimEkpjixHhGE",
"mutated": [
{
"owner": {
"AddressOwner": "0x04b497a916b4656609a7fa827a09184d6f47681d3ba74ce0d7a36c64b2b1f887"
},
"reference": {
"objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
"version": 2,
"digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
}
},
{
"owner": {
"AddressOwner": "0x6a101e9a3af5c8070112f808648b36efbf8dee8a1a82de46d9504e96a1108a17"
},
"reference": {
"objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
"version": 2,
"digest": "9Tvs1pGrMbNv7kkr1PoKLsWamyQpaFz5UWbL2AQ1ezk2"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x04b497a916b4656609a7fa827a09184d6f47681d3ba74ce0d7a36c64b2b1f887"
},
"reference": {
"objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
"version": 2,
"digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
}
},
"eventsDigest": "816hEv4WAW2reK9xkf11PeHiaZJrp7PQT9oGJZhdf9TN"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x04b497a916b4656609a7fa827a09184d6f47681d3ba74ce0d7a36c64b2b1f887",
"recipient": {
"AddressOwner": "0x6a101e9a3af5c8070112f808648b36efbf8dee8a1a82de46d9504e96a1108a17"
},
"objectType": "0x2::example::Object",
"objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
"version": "2",
"digest": "7PsBHpUW6yfGNov2WrbVafLjgT9nYziQ3gVDbRq6zTbF"
}
]
},
"id": 1
}
Component schemas
AuthorityPublicKeyBytes
Defines the compressed version of the public key that we pass around in Sui
Toggle raw JSON
"AuthorityPublicKeyBytes": {
"description": "Defines the compressed version of the public key that we pass around in Sui",
"allOf": [
{
"$ref": "#/components/schemas/Base64"
}
]
}
Balance
Object
Property | Type | Req? | Description |
---|---|---|---|
coinObjectCount | integer | Yes | |
coinType | string | Yes | |
lockedBalance | object | Yes | |
Additional properties | BigInt_for_uint128 | ||
totalBalance | BigInt_for_uint128 | Yes |
Toggle raw JSON
"Balance": {
"type": "object",
"required": [
"coinObjectCount",
"coinType",
"lockedBalance",
"totalBalance"
],
"properties": {
"coinObjectCount": {
"type": "integer",
"format": "uint",
"minimum": 0
},
"coinType": {
"type": "string"
},
"lockedBalance": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/BigInt_for_uint128"
}
},
"totalBalance": {
"$ref": "#/components/schemas/BigInt_for_uint128"
}
}
}
BalanceChange
Object
Property | Type | Req? | Description |
---|---|---|---|
amount | string | Yes | The amount indicate the balance value changes, negative amount means spending coin value and positive means receiving coin value. |
coinType | string | Yes | |
owner | Yes | Owner of the balance change |
Toggle raw JSON
"BalanceChange": {
"type": "object",
"required": [
"amount",
"coinType",
"owner"
],
"properties": {
"amount": {
"description": "The amount indicate the balance value changes, negative amount means spending coin value and positive means receiving coin value.",
"type": "string"
},
"coinType": {
"type": "string"
},
"owner": {
"description": "Owner of the balance change",
"allOf": [
{
"$ref": "#/components/schemas/Owner"
}
]
}
}
}
Base58
String
Toggle raw JSON
"Base58": {
"type": "string"
}
Base64
Base64 encoding
String
Toggle raw JSON
"Base64": {
"description": "Base64 encoding",
"type": "string"
}
BigInt_for_uint128
String
Toggle raw JSON
"BigInt_for_uint128": {
"type": "string"
}
BigInt_for_uint16
String
Toggle raw JSON
"BigInt_for_uint16": {
"type": "string"
}
BigInt_for_uint32
String
Toggle raw JSON
"BigInt_for_uint32": {
"type": "string"
}
BigInt_for_uint64
String
Toggle raw JSON
"BigInt_for_uint64": {
"type": "string"
}
Bn254FqElement
A struct that stores a Bn254 Fq field element as 32 bytes.
String
Toggle raw JSON
"Bn254FqElement": {
"description": "A struct that stores a Bn254 Fq field element as 32 bytes.",
"type": "string"
}
Bn254FrElement
A struct that stores a Bn254 Fr field element as 32 bytes.
String
Toggle raw JSON
"Bn254FrElement": {
"description": "A struct that stores a Bn254 Fr field element as 32 bytes.",
"type": "string"
}
Checkpoint
Object
Property | Type | Req? | Description |
---|---|---|---|
checkpointCommitments | array | Yes | Commitments to checkpoint state |
digest | Yes | Checkpoint digest | |
endOfEpochData | EndOfEpochData | null | No | Present only on the final checkpoint of the epoch. |
epoch | Yes | Checkpoint's epoch ID | |
epochRollingGasCostSummary | Yes | The running total gas costs of all transactions included in the current epoch so far until this checkpoint. | |
networkTotalTransactions | Yes | Total number of transactions committed since genesis, including those in this checkpoint. | |
previousDigest | CheckpointDigest | null | No | Digest of the previous checkpoint |
sequenceNumber | Yes | Checkpoint sequence number | |
timestampMs | Yes | Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have same timestamp if they originate from the same underlining consensus commit | |
transactions | array | Yes | Transaction digests |
validatorSignature | Yes | Validator Signature |
Toggle raw JSON
"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": {
"description": "Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have same timestamp if they originate from the same underlining consensus commit",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"transactions": {
"description": "Transaction digests",
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionDigest"
}
},
"validatorSignature": {
"description": "Validator Signature",
"allOf": [
{
"$ref": "#/components/schemas/Base64"
}
]
}
}
}
CheckpointCommitment
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
ECMHLiveObjectSetDigest | ECMHLiveObjectSetDigest | Yes |
Toggle raw JSON
"CheckpointCommitment": {
"oneOf": [
{
"type": "object",
"required": [
"ECMHLiveObjectSetDigest"
],
"properties": {
"ECMHLiveObjectSetDigest": {
"$ref": "#/components/schemas/ECMHLiveObjectSetDigest"
}
},
"additionalProperties": false
}
]
}
CheckpointDigest
Representation of a Checkpoint's digest
Toggle raw JSON
"CheckpointDigest": {
"description": "Representation of a Checkpoint's digest",
"allOf": [
{
"$ref": "#/components/schemas/Digest"
}
]
}
CheckpointId
Toggle raw JSON
"CheckpointId": {
"anyOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
},
{
"$ref": "#/components/schemas/CheckpointDigest"
}
]
}
Claim
A claim consists of value and index_mod_4.
Object
Property | Type | Req? | Description |
---|---|---|---|
indexMod4 | integer | Yes | |
value | string | Yes |
Toggle raw JSON
"Claim": {
"description": "A claim consists of value and index_mod_4.",
"type": "object",
"required": [
"indexMod4",
"value"
],
"properties": {
"indexMod4": {
"type": "integer",
"format": "uint8",
"minimum": 0
},
"value": {
"type": "string"
}
}
}
Coin
Object
Property | Type | Req? | Description |
---|---|---|---|
balance | BigInt_for_uint64 | Yes | |
coinObjectId | ObjectID | Yes | |
coinType | string | Yes | |
digest | ObjectDigest | Yes | |
previousTransaction | TransactionDigest | Yes | |
version | SequenceNumber | Yes |
Toggle raw JSON
"Coin": {
"type": "object",
"required": [
"balance",
"coinObjectId",
"coinType",
"digest",
"previousTransaction",
"version"
],
"properties": {
"balance": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"coinObjectId": {
"$ref": "#/components/schemas/ObjectID"
},
"coinType": {
"type": "string"
},
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"previousTransaction": {
"$ref": "#/components/schemas/TransactionDigest"
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
}
CommitteeInfo
RPC representation of the [Committee] type.
Object
Property | Type | Req? | Description |
---|---|---|---|
epoch | BigInt_for_uint64 | Yes | |
validators | array | Yes |
Toggle raw JSON
"CommitteeInfo": {
"description": "RPC representation of the [Committee] type.",
"type": "object",
"required": [
"epoch",
"validators"
],
"properties": {
"epoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"validators": {
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/AuthorityPublicKeyBytes"
},
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
],
"maxItems": 2,
"minItems": 2
}
}
}
}
CompressedSignature
Unlike [enum Signature], [enum CompressedSignature] does not contain public key.
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
Ed25519 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256k1 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256r1 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ZkLogin | ZkLoginAuthenticatorAsBytes | Yes |
Toggle raw JSON
"CompressedSignature": {
"description": "Unlike [enum Signature], [enum CompressedSignature] does not contain public key.",
"oneOf": [
{
"type": "object",
"required": [
"Ed25519"
],
"properties": {
"Ed25519": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256k1"
],
"properties": {
"Secp256k1": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256r1"
],
"properties": {
"Secp256r1": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ZkLogin"
],
"properties": {
"ZkLogin": {
"$ref": "#/components/schemas/ZkLoginAuthenticatorAsBytes"
}
},
"additionalProperties": false
}
]
}
ConsensusCommitDigest
DigestToggle raw JSON
"ConsensusCommitDigest": {
"$ref": "#/components/schemas/Digest"
}
ConsensusDeterminedVersionAssignments
Uses an enum to allow for future expansion of the ConsensusDeterminedVersionAssignments.
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
CancelledTransactions | array | Yes |
Toggle raw JSON
"ConsensusDeterminedVersionAssignments": {
"description": "Uses an enum to allow for future expansion of the 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
}
]
}
Data
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
dataType | string enum [ "moveObject" ] | Yes | |
fields | MoveStruct | Yes | |
hasPublicTransfer | boolean | Yes | |
type | string | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
dataType | string enum [ "package" ] | Yes | |
disassembled | object | Yes | |
Additional properties | true |
Toggle raw JSON
"Data": {
"oneOf": [
{
"type": "object",
"required": [
"dataType",
"fields",
"hasPublicTransfer",
"type"
],
"properties": {
"dataType": {
"type": "string",
"enum": [
"moveObject"
]
},
"fields": {
"$ref": "#/components/schemas/MoveStruct"
},
"hasPublicTransfer": {
"type": "boolean"
},
"type": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"dataType",
"disassembled"
],
"properties": {
"dataType": {
"type": "string",
"enum": [
"package"
]
},
"disassembled": {
"type": "object",
"additionalProperties": true
}
}
}
]
}
DelegatedStake
Object
Property | Type | Req? | Description |
---|---|---|---|
stakes | array | Yes | |
stakingPool | Yes | Staking pool object id. | |
validatorAddress | Yes | Validator's Address. |
Toggle raw JSON
"DelegatedStake": {
"type": "object",
"required": [
"stakes",
"stakingPool",
"validatorAddress"
],
"properties": {
"stakes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Stake"
}
},
"stakingPool": {
"description": "Staking pool object id.",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"validatorAddress": {
"description": "Validator's Address.",
"allOf": [
{
"$ref": "#/components/schemas/SuiAddress"
}
]
}
}
}
DevInspectArgs
Additional rguments supplied to dev inspect beyond what is allowed in today's API.
Object
Property | Type | Req? | Description |
---|---|---|---|
gasBudget | BigInt_for_uint64 | null | No | The gas budget for the transaction. |
gasObjects | array | null | No | The gas objects used to pay for the transaction. |
gasSponsor | SuiAddress | null | No | The sponsor of the gas for the transaction, might be different from the sender. |
showRawTxnDataAndEffects | boolean | null | No | Whether to return the raw transaction data and effects. |
skipChecks | boolean | null | No | Whether to skip transaction checks for the transaction. |
Toggle raw JSON
"DevInspectArgs": {
"description": "Additional rguments supplied to dev inspect beyond what is allowed in today's API.",
"type": "object",
"properties": {
"gasBudget": {
"description": "The gas budget for the transaction.",
"anyOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
},
{
"type": "null"
}
]
},
"gasObjects": {
"description": "The gas objects used to pay for the transaction.",
"type": [
"array",
"null"
],
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"$ref": "#/components/schemas/SequenceNumber2"
},
{
"$ref": "#/components/schemas/ObjectDigest"
}
],
"maxItems": 3,
"minItems": 3
}
},
"gasSponsor": {
"description": "The sponsor of the gas for the transaction, might be different from the sender.",
"anyOf": [
{
"$ref": "#/components/schemas/SuiAddress"
},
{
"type": "null"
}
]
},
"showRawTxnDataAndEffects": {
"description": "Whether to return the raw transaction data and effects.",
"type": [
"boolean",
"null"
]
},
"skipChecks": {
"description": "Whether to skip transaction checks for the transaction.",
"type": [
"boolean",
"null"
]
}
}
}
DevInspectResults
The response from processing a dev inspect transaction
Object
Property | Type | Req? | Description |
---|---|---|---|
effects | Yes | Summary of effects that likely would be generated if the transaction is actually run. Note however, that not all dev-inspect transactions are actually usable as transactions so it might not be possible actually generate these effects from a normal transaction. | |
error | string | null | No | Execution error from executing the transactions |
events | array | Yes | Events that likely would be generated if the transaction is actually run. |
rawEffects | array | No | The raw effects of the transaction that was dev inspected. |
rawTxnData | array | No | The raw transaction data that was dev inspected. |
results | array | null | No | Execution results (including return values) from executing the transactions |
Toggle raw JSON
"DevInspectResults": {
"description": "The response from processing a dev inspect transaction",
"type": "object",
"required": [
"effects",
"events"
],
"properties": {
"effects": {
"description": "Summary of effects that likely would be generated if the transaction is actually run. Note however, that not all dev-inspect transactions are actually usable as transactions so it might not be possible actually generate these effects from a normal transaction.",
"allOf": [
{
"$ref": "#/components/schemas/TransactionBlockEffects"
}
]
},
"error": {
"description": "Execution error from executing the transactions",
"type": [
"string",
"null"
]
},
"events": {
"description": "Events that likely would be generated if the transaction is actually run.",
"type": "array",
"items": {
"$ref": "#/components/schemas/Event"
}
},
"rawEffects": {
"description": "The raw effects of the transaction that was dev inspected.",
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0
}
},
"rawTxnData": {
"description": "The raw transaction data that was dev inspected.",
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0
}
},
"results": {
"description": "Execution results (including return values) from executing the transactions",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/components/schemas/SuiExecutionResult"
}
}
}
}
Digest
A representation of a 32 byte digest
Toggle raw JSON
"Digest": {
"description": "A representation of a 32 byte digest",
"allOf": [
{
"$ref": "#/components/schemas/Base58"
}
]
}
DisplayFieldsResponse
Object
Property | Type | Req? | Description |
---|---|---|---|
data | object | null | No | |
error | ObjectResponseError | null | No |
Toggle raw JSON
"DisplayFieldsResponse": {
"type": "object",
"properties": {
"data": {
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "string"
}
},
"error": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectResponseError"
},
{
"type": "null"
}
]
}
}
}
DryRunTransactionBlockResponse
Object
Property | Type | Req? | Description |
---|---|---|---|
balanceChanges | array | Yes | |
effects | TransactionBlockEffects | Yes | |
events | array | Yes | |
input | TransactionBlockData | Yes | |
objectChanges | array | Yes |
Toggle raw JSON
"DryRunTransactionBlockResponse": {
"type": "object",
"required": [
"balanceChanges",
"effects",
"events",
"input",
"objectChanges"
],
"properties": {
"balanceChanges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BalanceChange"
}
},
"effects": {
"$ref": "#/components/schemas/TransactionBlockEffects"
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Event"
}
},
"input": {
"$ref": "#/components/schemas/TransactionBlockData"
},
"objectChanges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectChange"
}
}
}
}
DynamicFieldInfo
Object
Property | Type | Req? | Description |
---|---|---|---|
bcsName | Base58 | Yes | |
digest | ObjectDigest | Yes | |
name | DynamicFieldName | Yes | |
objectId | ObjectID | Yes | |
objectType | string | Yes | |
type | DynamicFieldType | Yes | |
version | SequenceNumber2 | Yes |
Toggle raw JSON
"DynamicFieldInfo": {
"type": "object",
"required": [
"bcsName",
"digest",
"name",
"objectId",
"objectType",
"type",
"version"
],
"properties": {
"bcsName": {
"$ref": "#/components/schemas/Base58"
},
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"name": {
"$ref": "#/components/schemas/DynamicFieldName"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/DynamicFieldType"
},
"version": {
"$ref": "#/components/schemas/SequenceNumber2"
}
}
}
DynamicFieldName
Object
Property | Type | Req? | Description |
---|---|---|---|
type | string | Yes | |
value | true | Yes |
Toggle raw JSON
"DynamicFieldName": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string"
},
"value": true
}
}
DynamicFieldType
String enum [ "DynamicField" | "DynamicObject" ]
Toggle raw JSON
"DynamicFieldType": {
"type": "string",
"enum": [
"DynamicField",
"DynamicObject"
]
}
ECMHLiveObjectSetDigest
The Sha256 digest of an EllipticCurveMultisetHash committing to the live object set.
Object
Property | Type | Req? | Description |
---|---|---|---|
digest | array | Yes |
Toggle raw JSON
"ECMHLiveObjectSetDigest": {
"description": "The Sha256 digest of an EllipticCurveMultisetHash committing to the live object set.",
"type": "object",
"required": [
"digest"
],
"properties": {
"digest": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0
},
"maxItems": 32,
"minItems": 32
}
}
}
Ed25519SuiSignature
Base64Toggle raw JSON
"Ed25519SuiSignature": {
"$ref": "#/components/schemas/Base64"
}
EndOfEpochData
Object
Property | Type | Req? | Description |
---|---|---|---|
epochCommitments | array | Yes | Commitments to epoch specific state (e.g. live object set) |
nextEpochCommittee | array | Yes | next_epoch_committee is `Some` if and only if the current checkpoint is the last checkpoint of an epoch. Therefore next_epoch_committee can be used to pick the last checkpoint of an epoch, which is often useful to get epoch level summary stats like total gas cost of an epoch, or the total number of transactions from genesis to the end of an epoch. The committee is stored as a vector of validator pub key and stake pairs. The vector should be sorted based on the Committee data structure. |
nextEpochProtocolVersion | Yes | The protocol version that is in effect during the epoch that starts immediately after this checkpoint. |
Toggle raw JSON
"EndOfEpochData": {
"type": "object",
"required": [
"epochCommitments",
"nextEpochCommittee",
"nextEpochProtocolVersion"
],
"properties": {
"epochCommitments": {
"description": "Commitments to epoch specific state (e.g. live object set)",
"type": "array",
"items": {
"$ref": "#/components/schemas/CheckpointCommitment"
}
},
"nextEpochCommittee": {
"description": "next_epoch_committee is `Some` if and only if the current checkpoint is the last checkpoint of an epoch. Therefore next_epoch_committee can be used to pick the last checkpoint of an epoch, which is often useful to get epoch level summary stats like total gas cost of an epoch, or the total number of transactions from genesis to the end of an epoch. The committee is stored as a vector of validator pub key and stake pairs. The vector should be sorted based on the Committee data structure.",
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/AuthorityPublicKeyBytes"
},
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
],
"maxItems": 2,
"minItems": 2
}
},
"nextEpochProtocolVersion": {
"description": "The protocol version that is in effect during the epoch that starts immediately after this checkpoint.",
"allOf": [
{
"$ref": "#/components/schemas/ProtocolVersion"
}
]
}
}
}
Event
Object
Property | Type | Req? | Description |
---|---|---|---|
bcs | Yes | Base 58 encoded bcs bytes of the move event | |
id | Yes | Sequential event ID, ie (transaction seq number, event seq number). 1) Serves as a unique event ID for each fullnode 2) Also serves to sequence events for the purposes of pagination and querying. A higher id is an event seen later by that fullnode. This ID is the "cursor" for event querying. | |
packageId | Yes | Move package where this event was emitted. | |
parsedJson | Yes | Parsed json value of the event | |
sender | Yes | Sender's Sui address. | |
timestampMs | BigInt_for_uint64 | null | No | UTC timestamp in milliseconds since epoch (1/1/1970) |
transactionModule | string | Yes | Move module where this event was emitted. |
type | string | Yes | Move event type. |
Toggle raw JSON
"Event": {
"type": "object",
"required": [
"bcs",
"id",
"packageId",
"parsedJson",
"sender",
"transactionModule",
"type"
],
"properties": {
"bcs": {
"description": "Base 58 encoded bcs bytes of the move event",
"allOf": [
{
"$ref": "#/components/schemas/Base58"
}
]
},
"id": {
"description": "Sequential event ID, ie (transaction seq number, event seq number). 1) Serves as a unique event ID for each fullnode 2) Also serves to sequence events for the purposes of pagination and querying. A higher id is an event seen later by that fullnode. This ID is the \"cursor\" for event querying.",
"allOf": [
{
"$ref": "#/components/schemas/EventID"
}
]
},
"packageId": {
"description": "Move package where this event was emitted.",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"parsedJson": {
"description": "Parsed json value of the event"
},
"sender": {
"description": "Sender's Sui address.",
"allOf": [
{
"$ref": "#/components/schemas/SuiAddress"
}
]
},
"timestampMs": {
"description": "UTC timestamp in milliseconds since epoch (1/1/1970)",
"anyOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
},
{
"type": "null"
}
]
},
"transactionModule": {
"description": "Move module where this event was emitted.",
"type": "string"
},
"type": {
"description": "Move event type.",
"type": "string"
}
}
}
EventFilter
One of
Object
Return all events.
Property | Type | Req? | Description |
---|---|---|---|
All | array | Yes |
Object
Return events that match any of the given filters. Only supported on event subscriptions.
Property | Type | Req? | Description |
---|---|---|---|
Any | array | Yes |
Object
Return events emitted by the given transaction.
Property | Type | Req? | Description |
---|---|---|---|
Transaction | TransactionDigest | Yes |
Object
Return events emitted in a specified Move module. If the event is defined in Module A but emitted in a tx with Module B, query MoveModule
by module B returns the event. Query MoveEventModule
by module A returns the event too.
Property | Type | Req? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MoveModule | object | Yes | |||||||||||||
|
Object
Return events with the given Move event struct name (struct tag). For example, if the event is defined in 0xabcd::MyModule
, and named Foo
, then the struct tag is 0xabcd::MyModule::Foo
.
Property | Type | Req? | Description |
---|---|---|---|
MoveEventType | string | Yes |
Object
Return events with the given Move module name where the event struct is defined. If the event is defined in Module A but emitted in a tx with Module B, query MoveEventModule
by module A returns the event. Query MoveModule
by module B returns the event too.
Property | Type | Req? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MoveEventModule | object | Yes | |||||||||||||
|
Object
Return events emitted in [start_time, end_time] interval
Property | Type | Req? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TimeRange | object | Yes | |||||||||||||
|
Toggle raw JSON
"EventFilter": {
"oneOf": [
{
"description": "Return all events.",
"type": "object",
"required": [
"All"
],
"properties": {
"All": {
"type": "array",
"maxItems": 0
}
},
"additionalProperties": false
},
{
"description": "Return events that match any of the given filters. Only supported on event subscriptions.",
"type": "object",
"required": [
"Any"
],
"properties": {
"Any": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventFilter"
}
}
},
"additionalProperties": false
},
{
"description": "Query by sender address.",
"type": "object",
"required": [
"Sender"
],
"properties": {
"Sender": {
"$ref": "#/components/schemas/SuiAddress"
}
},
"additionalProperties": false
},
{
"description": "Return events emitted by the given transaction.",
"type": "object",
"required": [
"Transaction"
],
"properties": {
"Transaction": {
"$ref": "#/components/schemas/TransactionDigest"
}
},
"additionalProperties": false
},
{
"description": "Return events emitted in a specified Move module. If the event is defined in Module A but emitted in a tx with Module B, query `MoveModule` by module B returns the event. Query `MoveEventModule` by module A returns the event too.",
"type": "object",
"required": [
"MoveModule"
],
"properties": {
"MoveModule": {
"type": "object",
"required": [
"module",
"package"
],
"properties": {
"module": {
"description": "the module name",
"type": "string"
},
"package": {
"description": "the Move package ID",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
}
}
}
},
"additionalProperties": false
},
{
"description": "Return events with the given Move event struct name (struct tag). For example, if the event is defined in `0xabcd::MyModule`, and named `Foo`, then the struct tag is `0xabcd::MyModule::Foo`.",
"type": "object",
"required": [
"MoveEventType"
],
"properties": {
"MoveEventType": {
"type": "string"
}
},
"additionalProperties": false
},
{
"description": "Return events with the given Move module name where the event struct is defined. If the event is defined in Module A but emitted in a tx with Module B, query `MoveEventModule` by module A returns the event. Query `MoveModule` by module B returns the event too.",
"type": "object",
"required": [
"MoveEventModule"
],
"properties": {
"MoveEventModule": {
"type": "object",
"required": [
"module",
"package"
],
"properties": {
"module": {
"description": "the module name",
"type": "string"
},
"package": {
"description": "the Move package ID",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
}
}
}
},
"additionalProperties": false
},
{
"description": "Return events emitted in [start_time, end_time] interval",
"type": "object",
"required": [
"TimeRange"
],
"properties": {
"TimeRange": {
"type": "object",
"required": [
"endTime",
"startTime"
],
"properties": {
"endTime": {
"description": "right endpoint of time interval, milliseconds since epoch, exclusive",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"startTime": {
"description": "left endpoint of time interval, milliseconds since epoch, inclusive",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
}
}
}
},
"additionalProperties": false
}
]
}
EventID
Unique ID of a Sui Event, the ID is a combination of transaction digest and event seq number.
Object
Property | Type | Req? | Description |
---|---|---|---|
eventSeq | BigInt_for_uint64 | Yes | |
txDigest | TransactionDigest | Yes |
Toggle raw JSON
"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"
}
}
}
ExecuteTransactionRequestType
String enum [ "WaitForEffectsCert" | "WaitForLocalExecution" ]
Toggle raw JSON
"ExecuteTransactionRequestType": {
"type": "string",
"enum": [
"WaitForEffectsCert",
"WaitForLocalExecution"
]
}
ExecutionStatus
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
status | string enum [ "success" ] | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
error | string | Yes | |
status | string enum [ "failure" ] | Yes |
Toggle raw JSON
"ExecutionStatus": {
"oneOf": [
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"success"
]
}
}
},
{
"type": "object",
"required": [
"error",
"status"
],
"properties": {
"error": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"failure"
]
}
}
}
]
}
GasCostSummary
Summary of the charges in a transaction. Storage is charged independently of computation. There are 3 parts to the storage charges: storage_cost
: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte storage_rebate
: this is the amount a user gets back when manipulating an object. The storage_rebate
is the storage_cost
for an object minus fees. non_refundable_storage_fee
: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge.
When looking at a gas cost summary the amount charged to the user is computation_cost + storage_cost - storage_rebate
and that is the amount that is deducted from the gas coins. non_refundable_storage_fee
is collected from the objects being mutated/deleted and it is tracked by the system in storage funds.
Objects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of "potential rebate". This rebate then is reduced by the "nonrefundable rate" such that: potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee
Object
Property | Type | Req? | Description |
---|---|---|---|
computationCost | Yes | Cost of computation/execution | |
nonRefundableStorageFee | Yes | The fee for the rebate. The portion of the storage rebate kept by the system. | |
storageCost | Yes | Storage cost, it's the sum of all storage cost for all objects created or mutated. | |
storageRebate | Yes | The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction. |
Toggle raw JSON
"GasCostSummary": {
"description": "Summary of the charges in a transaction. Storage is charged independently of computation. There are 3 parts to the storage charges: `storage_cost`: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte `storage_rebate`: this is the amount a user gets back when manipulating an object. The `storage_rebate` is the `storage_cost` for an object minus fees. `non_refundable_storage_fee`: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge.\n\nWhen looking at a gas cost summary the amount charged to the user is `computation_cost + storage_cost - storage_rebate` and that is the amount that is deducted from the gas coins. `non_refundable_storage_fee` is collected from the objects being mutated/deleted and it is tracked by the system in storage funds.\n\nObjects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of \"potential rebate\". This rebate then is reduced by the \"nonrefundable rate\" such that: `potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee`",
"type": "object",
"required": [
"computationCost",
"nonRefundableStorageFee",
"storageCost",
"storageRebate"
],
"properties": {
"computationCost": {
"description": "Cost of computation/execution",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"nonRefundableStorageFee": {
"description": "The fee for the rebate. The portion of the storage rebate kept by the system.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"storageCost": {
"description": "Storage cost, it's the sum of all storage cost for all objects created or mutated.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"storageRebate": {
"description": "The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
}
}
}
GasData
Object
Property | Type | Req? | Description |
---|---|---|---|
budget | BigInt_for_uint64 | Yes | |
owner | SuiAddress | Yes | |
payment | array | Yes | |
price | BigInt_for_uint64 | Yes |
Toggle raw JSON
"GasData": {
"type": "object",
"required": [
"budget",
"owner",
"payment",
"price"
],
"properties": {
"budget": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"owner": {
"$ref": "#/components/schemas/SuiAddress"
},
"payment": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectRef"
}
},
"price": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
}
}
GenericSignature
Due to the incompatibility of [enum Signature] (which dispatches a trait that assumes signature and pubkey bytes for verification), here we add a wrapper enum where member can just implement a lightweight [trait AuthenticatorTrait]. This way MultiSig (and future Authenticators) can implement its own verify
.
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
MultiSig | MultiSig | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
MultiSigLegacy | MultiSigLegacy | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Signature | Signature | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ZkLoginAuthenticator | ZkLoginAuthenticator | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
PasskeyAuthenticator | PasskeyAuthenticator | Yes |
Toggle raw JSON
"GenericSignature": {
"description": "Due to the incompatibility of [enum Signature] (which dispatches a trait that assumes signature and pubkey bytes for verification), here we add a wrapper enum where member can just implement a lightweight [trait AuthenticatorTrait]. This way MultiSig (and future Authenticators) can implement its own `verify`.",
"oneOf": [
{
"type": "object",
"required": [
"MultiSig"
],
"properties": {
"MultiSig": {
"$ref": "#/components/schemas/MultiSig"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"MultiSigLegacy"
],
"properties": {
"MultiSigLegacy": {
"$ref": "#/components/schemas/MultiSigLegacy"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Signature"
],
"properties": {
"Signature": {
"$ref": "#/components/schemas/Signature"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ZkLoginAuthenticator"
],
"properties": {
"ZkLoginAuthenticator": {
"$ref": "#/components/schemas/ZkLoginAuthenticator"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"PasskeyAuthenticator"
],
"properties": {
"PasskeyAuthenticator": {
"$ref": "#/components/schemas/PasskeyAuthenticator"
}
},
"additionalProperties": false
}
]
}
GetPastObjectRequest
Object
Property | Type | Req? | Description |
---|---|---|---|
objectId | Yes | the ID of the queried object | |
version | Yes | the version of the queried object. |
Toggle raw JSON
"GetPastObjectRequest": {
"type": "object",
"required": [
"objectId",
"version"
],
"properties": {
"objectId": {
"description": "the ID of the queried object",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"version": {
"description": "the version of the queried object.",
"allOf": [
{
"$ref": "#/components/schemas/SequenceNumber"
}
]
}
}
}
Hex
Hex string encoding.
String
Toggle raw JSON
"Hex": {
"description": "Hex string encoding.",
"type": "string"
}
InputObjectKind
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
MovePackage | ObjectID | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ImmOrOwnedMoveObject | ObjectRef | Yes |
Object
Property | Type | Req? | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SharedMoveObject | object | Yes | |||||||||||||||||
|
Toggle raw JSON
"InputObjectKind": {
"oneOf": [
{
"type": "object",
"required": [
"MovePackage"
],
"properties": {
"MovePackage": {
"$ref": "#/components/schemas/ObjectID"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ImmOrOwnedMoveObject"
],
"properties": {
"ImmOrOwnedMoveObject": {
"$ref": "#/components/schemas/ObjectRef"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"SharedMoveObject"
],
"properties": {
"SharedMoveObject": {
"type": "object",
"required": [
"id",
"initial_shared_version"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ObjectID"
},
"initial_shared_version": {
"$ref": "#/components/schemas/SequenceNumber2"
},
"mutable": {
"default": true,
"type": "boolean"
}
}
}
},
"additionalProperties": false
}
]
}
MoveCallParams
Object
Property | Type | Req? | Description |
---|---|---|---|
arguments | array | Yes | |
function | string | Yes | |
module | string | Yes | |
packageObjectId | ObjectID | Yes | |
typeArguments | array | No |
Toggle raw JSON
"MoveCallParams": {
"type": "object",
"required": [
"arguments",
"function",
"module",
"packageObjectId"
],
"properties": {
"arguments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiJsonValue"
}
},
"function": {
"type": "string"
},
"module": {
"type": "string"
},
"packageObjectId": {
"$ref": "#/components/schemas/ObjectID"
},
"typeArguments": {
"default": [],
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeTag"
}
}
}
}
MoveFunctionArgType
One of
String enum: [ "Pure" ]
Object
Property | Type | Req? | Description |
---|---|---|---|
Object | ObjectValueKind | Yes |
Toggle raw JSON
"MoveFunctionArgType": {
"oneOf": [
{
"type": "string",
"enum": [
"Pure"
]
},
{
"type": "object",
"required": [
"Object"
],
"properties": {
"Object": {
"$ref": "#/components/schemas/ObjectValueKind"
}
},
"additionalProperties": false
}
]
}
MoveStruct
Any of
Toggle raw JSON
"MoveStruct": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MoveValue"
}
},
{
"type": "object",
"required": [
"fields",
"type"
],
"properties": {
"fields": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MoveValue"
}
},
"type": {
"type": "string"
}
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MoveValue"
}
}
]
}
MoveValue
Any of
Toggle raw JSON
"MoveValue": {
"anyOf": [
{
"type": "integer",
"format": "uint32",
"minimum": 0
},
{
"type": "boolean"
},
{
"$ref": "#/components/schemas/SuiAddress"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/MoveValue"
}
},
{
"type": "string"
},
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/ObjectID"
}
}
},
{
"$ref": "#/components/schemas/MoveStruct"
},
{
"anyOf": [
{
"$ref": "#/components/schemas/MoveValue"
},
{
"type": "null"
}
]
},
{
"$ref": "#/components/schemas/MoveVariant"
}
]
}
MoveVariant
Object
Property | Type | Req? | Description |
---|---|---|---|
fields | object | Yes | |
Additional properties | MoveValue | ||
type | string | Yes | |
variant | string | Yes |
Toggle raw JSON
"MoveVariant": {
"type": "object",
"required": [
"fields",
"type",
"variant"
],
"properties": {
"fields": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MoveValue"
}
},
"type": {
"type": "string"
},
"variant": {
"type": "string"
}
}
}
MultiSig
The struct that contains signatures and public keys necessary for authenticating a MultiSig.
Object
Property | Type | Req? | Description |
---|---|---|---|
bitmap | integer | Yes | A bitmap that indicates the position of which public key the signature should be authenticated with. |
multisig_pk | Yes | The public key encoded with each public key with its signature scheme used along with the corresponding weight. | |
sigs | array | Yes | The plain signature encoded with signature scheme. |
Toggle raw JSON
"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
},
"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"
}
}
}
}
MultiSigLegacy
Deprecated, use [struct MultiSig] instead. The struct that contains signatures and public keys necessary for authenticating a MultiSigLegacy.
Object
Property | Type | Req? | Description |
---|---|---|---|
bitmap | Yes | A bitmap that indicates the position of which public key the signature should be authenticated with. | |
multisig_pk | Yes | The public key encoded with each public key with its signature scheme used along with the corresponding weight. | |
sigs | array | Yes | The plain signature encoded with signature scheme. |
Toggle raw JSON
"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"
}
}
}
}
MultiSigPublicKey
The struct that contains the public key used for authenticating a MultiSig.
Object
Property | Type | Req? | Description |
---|---|---|---|
pk_map | array | Yes | A list of public key and its corresponding weight. |
threshold | integer | Yes | If the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified. |
Toggle raw JSON
"MultiSigPublicKey": {
"description": "The struct that contains the public key used for authenticating a MultiSig.",
"type": "object",
"required": [
"pk_map",
"threshold"
],
"properties": {
"pk_map": {
"description": "A list of public key and its corresponding weight.",
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/PublicKey"
},
{
"type": "integer",
"format": "uint8",
"minimum": 0
}
],
"maxItems": 2,
"minItems": 2
}
},
"threshold": {
"description": "If the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified.",
"type": "integer",
"format": "uint16",
"minimum": 0
}
}
}
MultiSigPublicKeyLegacy
Deprecated, use [struct MultiSigPublicKey] instead. The struct that contains the public key used for authenticating a MultiSig.
Object
Property | Type | Req? | Description |
---|---|---|---|
pk_map | array | Yes | A list of public key and its corresponding weight. |
threshold | integer | Yes | If the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified. |
Toggle raw JSON
"MultiSigPublicKeyLegacy": {
"description": "Deprecated, use [struct MultiSigPublicKey] instead. The struct that contains the public key used for authenticating a MultiSig.",
"type": "object",
"required": [
"pk_map",
"threshold"
],
"properties": {
"pk_map": {
"description": "A list of public key and its corresponding weight.",
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/PublicKey"
},
{
"type": "integer",
"format": "uint8",
"minimum": 0
}
],
"maxItems": 2,
"minItems": 2
}
},
"threshold": {
"description": "If the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified.",
"type": "integer",
"format": "uint16",
"minimum": 0
}
}
}
ObjectChange
ObjectChange are derived from the object mutations in the TransactionEffect to provide richer object information.
One of
Object
Module published
Property | Type | Req? | Description |
---|---|---|---|
digest | ObjectDigest | Yes | |
modules | array | Yes | |
packageId | ObjectID | Yes | |
type | string enum [ "published" ] | Yes | |
version | SequenceNumber | Yes |
Object
Transfer objects to new address / wrap in another object
Property | Type | Req? | Description |
---|---|---|---|
digest | ObjectDigest | Yes | |
objectId | ObjectID | Yes | |
objectType | string | Yes | |
recipient | Owner | Yes | |
sender | SuiAddress | Yes | |
type | string enum [ "transferred" ] | Yes | |
version | SequenceNumber | Yes |
Object
Object mutated.
Property | Type | Req? | Description |
---|---|---|---|
digest | ObjectDigest | Yes | |
objectId | ObjectID | Yes | |
objectType | string | Yes | |
owner | Owner | Yes | |
previousVersion | SequenceNumber | Yes | |
sender | SuiAddress | Yes | |
type | string enum [ "mutated" ] | Yes | |
version | SequenceNumber | Yes |
Object
Delete object
Property | Type | Req? | Description |
---|---|---|---|
objectId | ObjectID | Yes | |
objectType | string | Yes | |
sender | SuiAddress | Yes | |
type | string enum [ "deleted" ] | Yes | |
version | SequenceNumber | Yes |
Object
Wrapped object
Property | Type | Req? | Description |
---|---|---|---|
objectId | ObjectID | Yes | |
objectType | string | Yes | |
sender | SuiAddress | Yes | |
type | string enum [ "wrapped" ] | Yes | |
version | SequenceNumber | Yes |
Object
New object creation
Property | Type | Req? | Description |
---|---|---|---|
digest | ObjectDigest | Yes | |
objectId | ObjectID | Yes | |
objectType | string | Yes | |
owner | Owner | Yes | |
sender | SuiAddress | Yes | |
type | string enum [ "created" ] | Yes | |
version | SequenceNumber | Yes |
Toggle raw JSON
"ObjectChange": {
"description": "ObjectChange are derived from the object mutations in the TransactionEffect to provide richer object information.",
"oneOf": [
{
"description": "Module published",
"type": "object",
"required": [
"digest",
"modules",
"packageId",
"type",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"modules": {
"type": "array",
"items": {
"type": "string"
}
},
"packageId": {
"$ref": "#/components/schemas/ObjectID"
},
"type": {
"type": "string",
"enum": [
"published"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"description": "Transfer objects to new address / wrap in another object",
"type": "object",
"required": [
"digest",
"objectId",
"objectType",
"recipient",
"sender",
"type",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"recipient": {
"$ref": "#/components/schemas/Owner"
},
"sender": {
"$ref": "#/components/schemas/SuiAddress"
},
"type": {
"type": "string",
"enum": [
"transferred"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"description": "Object mutated.",
"type": "object",
"required": [
"digest",
"objectId",
"objectType",
"owner",
"previousVersion",
"sender",
"type",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"owner": {
"$ref": "#/components/schemas/Owner"
},
"previousVersion": {
"$ref": "#/components/schemas/SequenceNumber"
},
"sender": {
"$ref": "#/components/schemas/SuiAddress"
},
"type": {
"type": "string",
"enum": [
"mutated"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"description": "Delete object",
"type": "object",
"required": [
"objectId",
"objectType",
"sender",
"type",
"version"
],
"properties": {
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/SuiAddress"
},
"type": {
"type": "string",
"enum": [
"deleted"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"description": "Wrapped object",
"type": "object",
"required": [
"objectId",
"objectType",
"sender",
"type",
"version"
],
"properties": {
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"sender": {
"$ref": "#/components/schemas/SuiAddress"
},
"type": {
"type": "string",
"enum": [
"wrapped"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"description": "New object creation",
"type": "object",
"required": [
"digest",
"objectId",
"objectType",
"owner",
"sender",
"type",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string"
},
"owner": {
"$ref": "#/components/schemas/Owner"
},
"sender": {
"$ref": "#/components/schemas/SuiAddress"
},
"type": {
"type": "string",
"enum": [
"created"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
}
]
}
ObjectData
Object
Property | Type | Req? | Description |
---|---|---|---|
bcs | RawData | null | No | Move object content or package content in BCS, default to be None unless SuiObjectDataOptions.showBcs is set to true |
content | Data | null | No | Move object content or package content, default to be None unless SuiObjectDataOptions.showContent is set to true |
digest | Yes | Base64 string representing the object digest | |
display | DisplayFieldsResponse | null | No | 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 <https://forums.sui.io/t/nft-object-display-proposal/4872> |
objectId | ObjectID | Yes | |
owner | Owner | null | No | The owner of this object. Default to be None unless SuiObjectDataOptions.showOwner is set to true |
previousTransaction | TransactionDigest | null | No | The digest of the transaction that created or last mutated this object. Default to be None unless SuiObjectDataOptions.showPreviousTransaction is set to true |
storageRebate | BigInt_for_uint64 | null | No | The amount of SUI we would rebate if this object gets deleted. This number is re-calculated each time the object is mutated based on the present storage gas price. |
type | string | null | No | The type of the object. Default to be None unless SuiObjectDataOptions.showType is set to true |
version | Yes | Object version. |
Toggle raw JSON
"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 <https://forums.sui.io/t/nft-object-display-proposal/4872>",
"anyOf": [
{
"$ref": "#/components/schemas/DisplayFieldsResponse"
},
{
"type": "null"
}
]
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"owner": {
"description": "The owner of this object. Default to be None unless SuiObjectDataOptions.showOwner is set to true",
"anyOf": [
{
"$ref": "#/components/schemas/Owner"
},
{
"type": "null"
}
]
},
"previousTransaction": {
"description": "The digest of the transaction that created or last mutated this object. Default to be None unless SuiObjectDataOptions.showPreviousTransaction is set to true",
"anyOf": [
{
"$ref": "#/components/schemas/TransactionDigest"
},
{
"type": "null"
}
]
},
"storageRebate": {
"description": "The amount of SUI we would rebate if this object gets deleted. This number is re-calculated each time the object is mutated based on the present storage gas price.",
"anyOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
},
{
"type": "null"
}
]
},
"type": {
"description": "The type of the object. Default to be None unless SuiObjectDataOptions.showType is set to true",
"type": [
"string",
"null"
]
},
"version": {
"description": "Object version.",
"allOf": [
{
"$ref": "#/components/schemas/SequenceNumber"
}
]
}
}
}
ObjectDataOptions
Object
Property | Type | Req? | Description |
---|---|---|---|
showBcs | boolean | No | Whether to show the content in BCS format. Default to be False |
showContent | boolean | No | Whether to show the content(i.e., package content or Move struct content) of the object. Default to be False |
showDisplay | boolean | No | Whether to show the Display metadata of the object for frontend rendering. Default to be False |
showOwner | boolean | No | Whether to show the owner of the object. Default to be False |
showPreviousTransaction | boolean | No | Whether to show the previous transaction digest of the object. Default to be False |
showStorageRebate | boolean | No | Whether to show the storage rebate of the object. Default to be False |
showType | boolean | No | Whether to show the type of the object. Default to be False |
Toggle raw JSON
"ObjectDataOptions": {
"type": "object",
"properties": {
"showBcs": {
"description": "Whether to show the content in BCS format. Default to be False",
"default": false,
"type": "boolean"
},
"showContent": {
"description": "Whether to show the content(i.e., package content or Move struct content) of the object. Default to be False",
"default": false,
"type": "boolean"
},
"showDisplay": {
"description": "Whether to show the Display metadata of the object for frontend rendering. Default to be False",
"default": false,
"type": "boolean"
},
"showOwner": {
"description": "Whether to show the owner of the object. Default to be False",
"default": false,
"type": "boolean"
},
"showPreviousTransaction": {
"description": "Whether to show the previous transaction digest of the object. Default to be False",
"default": false,
"type": "boolean"
},
"showStorageRebate": {
"description": "Whether to show the storage rebate of the object. Default to be False",
"default": false,
"type": "boolean"
},
"showType": {
"description": "Whether to show the type of the object. Default to be False",
"default": false,
"type": "boolean"
}
}
}
ObjectRead
One of
Object
The object exists and is found with this version
Property | Type | Req? | Description |
---|---|---|---|
details | ObjectData | Yes | |
status | string enum [ "VersionFound" ] | Yes |
Object
The object does not exist
Property | Type | Req? | Description |
---|---|---|---|
details | ObjectID | Yes | |
status | string enum [ "ObjectNotExists" ] | Yes |
Object
The object is found to be deleted with this version
Property | Type | Req? | Description |
---|---|---|---|
details | ObjectRef | Yes | |
status | string enum [ "ObjectDeleted" ] | Yes |
Object
The object exists but not found with this version
Property | Type | Req? | Description |
---|---|---|---|
details | array | Yes | |
status | string enum [ "VersionNotFound" ] | Yes |
Object
The asked object version is higher than the latest
Property | Type | Req? | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
details | object | Yes | |||||||||||||||||
| |||||||||||||||||||
status | string enum [ "VersionTooHigh" ] | Yes |
Toggle raw JSON
"ObjectRead": {
"oneOf": [
{
"description": "The object exists and is found with this version",
"type": "object",
"required": [
"details",
"status"
],
"properties": {
"details": {
"$ref": "#/components/schemas/ObjectData"
},
"status": {
"type": "string",
"enum": [
"VersionFound"
]
}
}
},
{
"description": "The object does not exist",
"type": "object",
"required": [
"details",
"status"
],
"properties": {
"details": {
"$ref": "#/components/schemas/ObjectID"
},
"status": {
"type": "string",
"enum": [
"ObjectNotExists"
]
}
}
},
{
"description": "The object is found to be deleted with this version",
"type": "object",
"required": [
"details",
"status"
],
"properties": {
"details": {
"$ref": "#/components/schemas/ObjectRef"
},
"status": {
"type": "string",
"enum": [
"ObjectDeleted"
]
}
}
},
{
"description": "The object exists but not found with this version",
"type": "object",
"required": [
"details",
"status"
],
"properties": {
"details": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"$ref": "#/components/schemas/SequenceNumber2"
}
],
"maxItems": 2,
"minItems": 2
},
"status": {
"type": "string",
"enum": [
"VersionNotFound"
]
}
}
},
{
"description": "The asked object version is higher than the latest",
"type": "object",
"required": [
"details",
"status"
],
"properties": {
"details": {
"type": "object",
"required": [
"asked_version",
"latest_version",
"object_id"
],
"properties": {
"asked_version": {
"$ref": "#/components/schemas/SequenceNumber2"
},
"latest_version": {
"$ref": "#/components/schemas/SequenceNumber2"
},
"object_id": {
"$ref": "#/components/schemas/ObjectID"
}
}
},
"status": {
"type": "string",
"enum": [
"VersionTooHigh"
]
}
}
}
]
}
ObjectRef
Object
Property | Type | Req? | Description |
---|---|---|---|
digest | Yes | Base64 string representing the object digest | |
objectId | Yes | Hex code as string representing the object id | |
version | Yes | Object version. |
Toggle raw JSON
"ObjectRef": {
"type": "object",
"required": [
"digest",
"objectId",
"version"
],
"properties": {
"digest": {
"description": "Base64 string representing the object digest",
"allOf": [
{
"$ref": "#/components/schemas/ObjectDigest"
}
]
},
"objectId": {
"description": "Hex code as string representing the object id",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"version": {
"description": "Object version.",
"allOf": [
{
"$ref": "#/components/schemas/SequenceNumber"
}
]
}
}
}
ObjectResponseError
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
code | string enum [ "notExists" ] | Yes | |
object_id | ObjectID | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
code | string enum [ "dynamicFieldNotFound" ] | Yes | |
parent_object_id | ObjectID | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
code | string enum [ "deleted" ] | Yes | |
digest | Yes | Base64 string representing the object digest | |
object_id | ObjectID | Yes | |
version | Yes | Object version. |
Object
Property | Type | Req? | Description |
---|---|---|---|
code | string enum [ "unknown" ] | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
code | string enum [ "displayError" ] | Yes | |
error | string | Yes |
Toggle raw JSON
"ObjectResponseError": {
"oneOf": [
{
"type": "object",
"required": [
"code",
"object_id"
],
"properties": {
"code": {
"type": "string",
"enum": [
"notExists"
]
},
"object_id": {
"$ref": "#/components/schemas/ObjectID"
}
}
},
{
"type": "object",
"required": [
"code",
"parent_object_id"
],
"properties": {
"code": {
"type": "string",
"enum": [
"dynamicFieldNotFound"
]
},
"parent_object_id": {
"$ref": "#/components/schemas/ObjectID"
}
}
},
{
"type": "object",
"required": [
"code",
"digest",
"object_id",
"version"
],
"properties": {
"code": {
"type": "string",
"enum": [
"deleted"
]
},
"digest": {
"description": "Base64 string representing the object digest",
"allOf": [
{
"$ref": "#/components/schemas/ObjectDigest"
}
]
},
"object_id": {
"$ref": "#/components/schemas/ObjectID"
},
"version": {
"description": "Object version.",
"allOf": [
{
"$ref": "#/components/schemas/SequenceNumber2"
}
]
}
}
},
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"enum": [
"unknown"
]
}
}
},
{
"type": "object",
"required": [
"code",
"error"
],
"properties": {
"code": {
"type": "string",
"enum": [
"displayError"
]
},
"error": {
"type": "string"
}
}
}
]
}
ObjectResponseQuery
Object
Property | Type | Req? | Description |
---|---|---|---|
filter | SuiObjectDataFilter | null | No | If None, no filter will be applied |
options | ObjectDataOptions | null | No | config which fields to include in the response, by default only digest is included |
Toggle raw JSON
"ObjectResponseQuery": {
"type": "object",
"properties": {
"filter": {
"description": "If None, no filter will be applied",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/SuiObjectDataFilter"
},
{
"type": "null"
}
]
},
"options": {
"description": "config which fields to include in the response, by default only digest is included",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/ObjectDataOptions"
},
{
"type": "null"
}
]
}
}
}
ObjectValueKind
String enum [ "ByImmutableReference" | "ByMutableReference" | "ByValue" ]
Toggle raw JSON
"ObjectValueKind": {
"type": "string",
"enum": [
"ByImmutableReference",
"ByMutableReference",
"ByValue"
]
}
OwnedObjectRef
Object
Property | Type | Req? | Description |
---|---|---|---|
owner | Owner | Yes | |
reference | ObjectRef | Yes |
Toggle raw JSON
"OwnedObjectRef": {
"type": "object",
"required": [
"owner",
"reference"
],
"properties": {
"owner": {
"$ref": "#/components/schemas/Owner"
},
"reference": {
"$ref": "#/components/schemas/ObjectRef"
}
}
}
Owner
One of
Object
Object is exclusively owned by a single address, and is mutable.
Property | Type | Req? | Description |
---|---|---|---|
AddressOwner | SuiAddress | Yes |
Object
Object is exclusively owned by a single object, and is mutable. The object ID is converted to SuiAddress as SuiAddress is universal.
Property | Type | Req? | Description |
---|---|---|---|
ObjectOwner | SuiAddress | Yes |
Object
Object is shared, can be used by any address, and is mutable.
Property | Type | Req? | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Shared | object | Yes | |||||||||
|
String enum: [ "Immutable" ]
Object is immutable, and hence ownership doesn't matter.
Toggle raw JSON
"Owner": {
"oneOf": [
{
"description": "Object is exclusively owned by a single address, and is mutable.",
"type": "object",
"required": [
"AddressOwner"
],
"properties": {
"AddressOwner": {
"$ref": "#/components/schemas/SuiAddress"
}
},
"additionalProperties": false
},
{
"description": "Object is exclusively owned by a single object, and is mutable. The object ID is converted to SuiAddress as SuiAddress is universal.",
"type": "object",
"required": [
"ObjectOwner"
],
"properties": {
"ObjectOwner": {
"$ref": "#/components/schemas/SuiAddress"
}
},
"additionalProperties": false
},
{
"description": "Object is shared, can be used by any address, and is mutable.",
"type": "object",
"required": [
"Shared"
],
"properties": {
"Shared": {
"type": "object",
"required": [
"initial_shared_version"
],
"properties": {
"initial_shared_version": {
"description": "The version at which the object became shared",
"allOf": [
{
"$ref": "#/components/schemas/SequenceNumber2"
}
]
}
}
}
},
"additionalProperties": false
},
{
"description": "Object is immutable, and hence ownership doesn't matter.",
"type": "string",
"enum": [
"Immutable"
]
}
]
}
Page_for_Checkpoint_and_BigInt_for_uint64
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | BigInt_for_uint64 | null | No |
Toggle raw JSON
"Page_for_Checkpoint_and_BigInt_for_uint64": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Checkpoint"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
},
{
"type": "null"
}
]
}
}
}
Page_for_Coin_and_ObjectID
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | ObjectID | null | No |
Toggle raw JSON
"Page_for_Coin_and_ObjectID": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Coin"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"type": "null"
}
]
}
}
}
Page_for_DynamicFieldInfo_and_ObjectID
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | ObjectID | null | No |
Toggle raw JSON
"Page_for_DynamicFieldInfo_and_ObjectID": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DynamicFieldInfo"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"type": "null"
}
]
}
}
}
Page_for_Event_and_EventID
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | EventID | null | No |
Toggle raw JSON
"Page_for_Event_and_EventID": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Event"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/EventID"
},
{
"type": "null"
}
]
}
}
}
Page_for_String_and_ObjectID
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | ObjectID | null | No |
Toggle raw JSON
"Page_for_String_and_ObjectID": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "string"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"type": "null"
}
]
}
}
}
Page_for_SuiObjectResponse_and_ObjectID
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | ObjectID | null | No |
Toggle raw JSON
"Page_for_SuiObjectResponse_and_ObjectID": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiObjectResponse"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"type": "null"
}
]
}
}
}
Page_for_TransactionBlockResponse_and_TransactionDigest
next_cursor
points to the last item in the page; Reading with next_cursor
will start from the next item after next_cursor
if next_cursor
is Some
, otherwise it will start from the first item.
Object
Property | Type | Req? | Description |
---|---|---|---|
data | array | Yes | |
hasNextPage | boolean | Yes | |
nextCursor | TransactionDigest | null | No |
Toggle raw JSON
"Page_for_TransactionBlockResponse_and_TransactionDigest": {
"description": "`next_cursor` points to the last item in the page; Reading with `next_cursor` will start from the next item after `next_cursor` if `next_cursor` is `Some`, otherwise it will start from the first item.",
"type": "object",
"required": [
"data",
"hasNextPage"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TransactionBlockResponse"
}
},
"hasNextPage": {
"type": "boolean"
},
"nextCursor": {
"anyOf": [
{
"$ref": "#/components/schemas/TransactionDigest"
},
{
"type": "null"
}
]
}
}
}
PasskeyAuthenticator
An passkey authenticator with parsed fields. See field defition below. Can be initialized from [struct RawPasskeyAuthenticator].
Object
Property | Type | Req? | Description |
---|---|---|---|
authenticator_data | array | Yes | `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. |
client_data_json | string | Yes | `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)) |
Toggle raw JSON
"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
}
},
"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"
}
}
}
ProtocolConfig
Object
Property | Type | Req? | Description |
---|---|---|---|
attributes | object | Yes | |
Additional properties | ProtocolConfigValue | null | ||
featureFlags | object | Yes | |
Additional properties | boolean | ||
maxSupportedProtocolVersion | ProtocolVersion | Yes | |
minSupportedProtocolVersion | ProtocolVersion | Yes | |
protocolVersion | ProtocolVersion | Yes |
Toggle raw JSON
"ProtocolConfig": {
"type": "object",
"required": [
"attributes",
"featureFlags",
"maxSupportedProtocolVersion",
"minSupportedProtocolVersion",
"protocolVersion"
],
"properties": {
"attributes": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"$ref": "#/components/schemas/ProtocolConfigValue"
},
{
"type": "null"
}
]
}
},
"featureFlags": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"maxSupportedProtocolVersion": {
"$ref": "#/components/schemas/ProtocolVersion"
},
"minSupportedProtocolVersion": {
"$ref": "#/components/schemas/ProtocolVersion"
},
"protocolVersion": {
"$ref": "#/components/schemas/ProtocolVersion"
}
}
}
ProtocolConfigValue
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
u16 | BigInt_for_uint16 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
u32 | BigInt_for_uint32 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
u64 | BigInt_for_uint64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
f64 | string | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
bool | string | Yes |
Toggle raw JSON
"ProtocolConfigValue": {
"oneOf": [
{
"type": "object",
"required": [
"u16"
],
"properties": {
"u16": {
"$ref": "#/components/schemas/BigInt_for_uint16"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"u32"
],
"properties": {
"u32": {
"$ref": "#/components/schemas/BigInt_for_uint32"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"u64"
],
"properties": {
"u64": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"f64"
],
"properties": {
"f64": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"bool"
],
"properties": {
"bool": {
"type": "string"
}
},
"additionalProperties": false
}
]
}
ProtocolVersion
BigInt_for_uint64Toggle raw JSON
"ProtocolVersion": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
PublicKey
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
Ed25519 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256k1 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256r1 | Base64 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ZkLogin | ZkLoginPublicIdentifier | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Passkey | Base64 | Yes |
Toggle raw JSON
"PublicKey": {
"oneOf": [
{
"type": "object",
"required": [
"Ed25519"
],
"properties": {
"Ed25519": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256k1"
],
"properties": {
"Secp256k1": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256r1"
],
"properties": {
"Secp256r1": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ZkLogin"
],
"properties": {
"ZkLogin": {
"$ref": "#/components/schemas/ZkLoginPublicIdentifier"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Passkey"
],
"properties": {
"Passkey": {
"$ref": "#/components/schemas/Base64"
}
},
"additionalProperties": false
}
]
}
RPCTransactionRequestParams
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
transferObjectRequestParams | TransferObjectParams | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
moveCallRequestParams | MoveCallParams | Yes |
Toggle raw JSON
"RPCTransactionRequestParams": {
"oneOf": [
{
"type": "object",
"required": [
"transferObjectRequestParams"
],
"properties": {
"transferObjectRequestParams": {
"$ref": "#/components/schemas/TransferObjectParams"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"moveCallRequestParams"
],
"properties": {
"moveCallRequestParams": {
"$ref": "#/components/schemas/MoveCallParams"
}
},
"additionalProperties": false
}
]
}
RawData
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
bcsBytes | Base64 | Yes | |
dataType | string enum [ "moveObject" ] | Yes | |
hasPublicTransfer | boolean | Yes | |
type | string | Yes | |
version | SequenceNumber2 | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
dataType | string enum [ "package" ] | Yes | |
id | ObjectID | Yes | |
linkageTable | object | Yes | |
Additional properties | UpgradeInfo | ||
moduleMap | object | Yes | |
Additional properties | Base64 | ||
typeOriginTable | array | Yes | |
version | SequenceNumber2 | Yes |
Toggle raw JSON
"RawData": {
"oneOf": [
{
"type": "object",
"required": [
"bcsBytes",
"dataType",
"hasPublicTransfer",
"type",
"version"
],
"properties": {
"bcsBytes": {
"$ref": "#/components/schemas/Base64"
},
"dataType": {
"type": "string",
"enum": [
"moveObject"
]
},
"hasPublicTransfer": {
"type": "boolean"
},
"type": {
"type": "string"
},
"version": {
"$ref": "#/components/schemas/SequenceNumber2"
}
}
},
{
"type": "object",
"required": [
"dataType",
"id",
"linkageTable",
"moduleMap",
"typeOriginTable",
"version"
],
"properties": {
"dataType": {
"type": "string",
"enum": [
"package"
]
},
"id": {
"$ref": "#/components/schemas/ObjectID"
},
"linkageTable": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/UpgradeInfo"
}
},
"moduleMap": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Base64"
}
},
"typeOriginTable": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeOrigin"
}
},
"version": {
"$ref": "#/components/schemas/SequenceNumber2"
}
}
}
]
}
Secp256k1SuiSignature
Base64Toggle raw JSON
"Secp256k1SuiSignature": {
"$ref": "#/components/schemas/Base64"
}
Secp256r1SuiSignature
Base64Toggle raw JSON
"Secp256r1SuiSignature": {
"$ref": "#/components/schemas/Base64"
}
SequenceNumber
Integer
Toggle raw JSON
"SequenceNumber": {
"type": "integer",
"format": "uint64",
"minimum": 0
}
SequenceNumber2
BigInt_for_uint64Toggle raw JSON
"SequenceNumber2": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
Signature
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
Ed25519SuiSignature | Ed25519SuiSignature | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256k1SuiSignature | Secp256k1SuiSignature | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Secp256r1SuiSignature | Secp256r1SuiSignature | Yes |
Toggle raw JSON
"Signature": {
"oneOf": [
{
"type": "object",
"required": [
"Ed25519SuiSignature"
],
"properties": {
"Ed25519SuiSignature": {
"$ref": "#/components/schemas/Ed25519SuiSignature"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256k1SuiSignature"
],
"properties": {
"Secp256k1SuiSignature": {
"$ref": "#/components/schemas/Secp256k1SuiSignature"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Secp256r1SuiSignature"
],
"properties": {
"Secp256r1SuiSignature": {
"$ref": "#/components/schemas/Secp256r1SuiSignature"
}
},
"additionalProperties": false
}
]
}
Stake
Object
Property | Type | Req? | Description |
---|---|---|---|
principal | BigInt_for_uint64 | Yes | |
stakeActiveEpoch | BigInt_for_uint64 | Yes | |
stakeRequestEpoch | BigInt_for_uint64 | Yes | |
stakedSuiId | Yes | ID of the StakedSui receipt object. |
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
status | string enum [ "Pending" ] | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
estimatedReward | BigInt_for_uint64 | Yes | |
status | string enum [ "Active" ] | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
status | string enum [ "Unstaked" ] | Yes |
Toggle raw JSON
"Stake": {
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"Pending"
]
}
}
},
{
"type": "object",
"required": [
"estimatedReward",
"status"
],
"properties": {
"estimatedReward": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"status": {
"type": "string",
"enum": [
"Active"
]
}
}
},
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"Unstaked"
]
}
}
}
],
"required": [
"principal",
"stakeActiveEpoch",
"stakeRequestEpoch",
"stakedSuiId"
],
"properties": {
"principal": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"stakeActiveEpoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"stakeRequestEpoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"stakedSuiId": {
"description": "ID of the StakedSui receipt object.",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
}
}
}
SuiActiveJwk
Object
Property | Type | Req? | Description |
---|---|---|---|
epoch | BigInt_for_uint64 | Yes | |
jwk | SuiJWK | Yes | |
jwk_id | SuiJwkId | Yes |
Toggle raw JSON
"SuiActiveJwk": {
"type": "object",
"required": [
"epoch",
"jwk",
"jwk_id"
],
"properties": {
"epoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"jwk": {
"$ref": "#/components/schemas/SuiJWK"
},
"jwk_id": {
"$ref": "#/components/schemas/SuiJwkId"
}
}
}
SuiArgument
An argument to a transaction in a programmable transaction block
One of
String enum: [ "GasCoin" ]
The gas coin. The gas coin can only be used by-ref, except for with TransferObjects
, which can use it by-value.
Object
One of the input objects or primitive values (from ProgrammableTransactionBlock
inputs)
Property | Type | Req? | Description |
---|---|---|---|
Input | integer | Yes |
Object
The result of another transaction (from ProgrammableTransactionBlock
transactions)
Property | Type | Req? | Description |
---|---|---|---|
Result | integer | Yes |
Object
Like a Result
but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.
Property | Type | Req? | Description |
---|---|---|---|
NestedResult | array | Yes |
Toggle raw JSON
"SuiArgument": {
"description": "An argument to a transaction in a programmable transaction block",
"oneOf": [
{
"description": "The gas coin. The gas coin can only be used by-ref, except for with `TransferObjects`, which can use it by-value.",
"type": "string",
"enum": [
"GasCoin"
]
},
{
"description": "One of the input objects or primitive values (from `ProgrammableTransactionBlock` inputs)",
"type": "object",
"required": [
"Input"
],
"properties": {
"Input": {
"type": "integer",
"format": "uint16",
"minimum": 0
}
},
"additionalProperties": false
},
{
"description": "The result of another transaction (from `ProgrammableTransactionBlock` transactions)",
"type": "object",
"required": [
"Result"
],
"properties": {
"Result": {
"type": "integer",
"format": "uint16",
"minimum": 0
}
},
"additionalProperties": false
},
{
"description": "Like a `Result` but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.",
"type": "object",
"required": [
"NestedResult"
],
"properties": {
"NestedResult": {
"type": "array",
"items": [
{
"type": "integer",
"format": "uint16",
"minimum": 0
},
{
"type": "integer",
"format": "uint16",
"minimum": 0
}
],
"maxItems": 2,
"minItems": 2
}
},
"additionalProperties": false
}
]
}
SuiAuthenticatorStateExpire
Object
Property | Type | Req? | Description |
---|---|---|---|
min_epoch | BigInt_for_uint64 | Yes |
Toggle raw JSON
"SuiAuthenticatorStateExpire": {
"type": "object",
"required": [
"min_epoch"
],
"properties": {
"min_epoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
}
}
SuiCallArg
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
type | string enum [ "object" ] | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
type | string enum [ "pure" ] | Yes | |
value | SuiJsonValue | Yes | |
valueType | string | null | No |
Toggle raw JSON
"SuiCallArg": {
"oneOf": [
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"digest",
"objectId",
"objectType",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string",
"enum": [
"immOrOwnedObject"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
},
{
"type": "object",
"required": [
"initialSharedVersion",
"mutable",
"objectId",
"objectType"
],
"properties": {
"initialSharedVersion": {
"$ref": "#/components/schemas/SequenceNumber"
},
"mutable": {
"type": "boolean"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string",
"enum": [
"sharedObject"
]
}
}
},
{
"type": "object",
"required": [
"digest",
"objectId",
"objectType",
"version"
],
"properties": {
"digest": {
"$ref": "#/components/schemas/ObjectDigest"
},
"objectId": {
"$ref": "#/components/schemas/ObjectID"
},
"objectType": {
"type": "string",
"enum": [
"receiving"
]
},
"version": {
"$ref": "#/components/schemas/SequenceNumber"
}
}
}
],
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"object"
]
}
}
},
{
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"enum": [
"pure"
]
},
"value": {
"$ref": "#/components/schemas/SuiJsonValue"
},
"valueType": {
"default": null,
"type": [
"string",
"null"
]
}
}
}
]
}
SuiChangeEpoch
Object
Property | Type | Req? | Description |
---|---|---|---|
computation_charge | BigInt_for_uint64 | Yes | |
epoch | BigInt_for_uint64 | Yes | |
epoch_start_timestamp_ms | BigInt_for_uint64 | Yes | |
storage_charge | BigInt_for_uint64 | Yes | |
storage_rebate | BigInt_for_uint64 | Yes |
Toggle raw JSON
"SuiChangeEpoch": {
"type": "object",
"required": [
"computation_charge",
"epoch",
"epoch_start_timestamp_ms",
"storage_charge",
"storage_rebate"
],
"properties": {
"computation_charge": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"epoch": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"epoch_start_timestamp_ms": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"storage_charge": {
"$ref": "#/components/schemas/BigInt_for_uint64"
},
"storage_rebate": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
}
}
SuiCoinMetadata
Object
Property | Type | Req? | Description |
---|---|---|---|
decimals | integer | Yes | Number of decimal places the coin uses. |
description | string | Yes | Description of the token |
iconUrl | string | null | No | URL for the token logo |
id | ObjectID | null | No | Object id for the CoinMetadata object |
name | string | Yes | Name for the token |
symbol | string | Yes | Symbol for the token |
Toggle raw JSON
"SuiCoinMetadata": {
"type": "object",
"required": [
"decimals",
"description",
"name",
"symbol"
],
"properties": {
"decimals": {
"description": "Number of decimal places the coin uses.",
"type": "integer",
"format": "uint8",
"minimum": 0
},
"description": {
"description": "Description of the token",
"type": "string"
},
"iconUrl": {
"description": "URL for the token logo",
"type": [
"string",
"null"
]
},
"id": {
"description": "Object id for the CoinMetadata object",
"anyOf": [
{
"$ref": "#/components/schemas/ObjectID"
},
{
"type": "null"
}
]
},
"name": {
"description": "Name for the token",
"type": "string"
},
"symbol": {
"description": "Symbol for the token",
"type": "string"
}
}
}
SuiEndOfEpochTransactionKind
One of
String enum: [ "AuthenticatorStateCreate" | "RandomnessStateCreate" | "CoinDenyListStateCreate" ]
Object
Property | Type | Req? | Description |
---|---|---|---|
ChangeEpoch | SuiChangeEpoch | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
AuthenticatorStateExpire | SuiAuthenticatorStateExpire | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
BridgeStateCreate | CheckpointDigest | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
BridgeCommitteeUpdate | SequenceNumber2 | Yes |
Toggle raw JSON
"SuiEndOfEpochTransactionKind": {
"oneOf": [
{
"type": "string",
"enum": [
"AuthenticatorStateCreate",
"RandomnessStateCreate",
"CoinDenyListStateCreate"
]
},
{
"type": "object",
"required": [
"ChangeEpoch"
],
"properties": {
"ChangeEpoch": {
"$ref": "#/components/schemas/SuiChangeEpoch"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"AuthenticatorStateExpire"
],
"properties": {
"AuthenticatorStateExpire": {
"$ref": "#/components/schemas/SuiAuthenticatorStateExpire"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"BridgeStateCreate"
],
"properties": {
"BridgeStateCreate": {
"$ref": "#/components/schemas/CheckpointDigest"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"BridgeCommitteeUpdate"
],
"properties": {
"BridgeCommitteeUpdate": {
"$ref": "#/components/schemas/SequenceNumber2"
}
},
"additionalProperties": false
}
]
}
SuiExecutionResult
Object
Property | Type | Req? | Description |
---|---|---|---|
mutableReferenceOutputs | array | No | The value of any arguments that were mutably borrowed. Non-mut borrowed values are not included |
returnValues | array | No | The return values from the transaction |
Toggle raw JSON
"SuiExecutionResult": {
"type": "object",
"properties": {
"mutableReferenceOutputs": {
"description": "The value of any arguments that were mutably borrowed. Non-mut borrowed values are not included",
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/SuiArgument"
},
{
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0
}
},
{
"$ref": "#/components/schemas/TypeTag"
}
],
"maxItems": 3,
"minItems": 3
}
},
"returnValues": {
"description": "The return values from the transaction",
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0
}
},
{
"$ref": "#/components/schemas/TypeTag"
}
],
"maxItems": 2,
"minItems": 2
}
}
}
}
SuiJWK
Object
Property | Type | Req? | Description |
---|---|---|---|
alg | string | Yes | |
e | string | Yes | |
kty | string | Yes | |
n | string | Yes |
Toggle raw JSON
"SuiJWK": {
"type": "object",
"required": [
"alg",
"e",
"kty",
"n"
],
"properties": {
"alg": {
"type": "string"
},
"e": {
"type": "string"
},
"kty": {
"type": "string"
},
"n": {
"type": "string"
}
}
}
SuiJsonValue
Toggle raw JSON
"SuiJsonValue": {}
SuiJwkId
Object
Property | Type | Req? | Description |
---|---|---|---|
iss | string | Yes | |
kid | string | Yes |
Toggle raw JSON
"SuiJwkId": {
"type": "object",
"required": [
"iss",
"kid"
],
"properties": {
"iss": {
"type": "string"
},
"kid": {
"type": "string"
}
}
}
SuiMoveAbility
String enum [ "Copy" | "Drop" | "Store" | "Key" ]
Toggle raw JSON
"SuiMoveAbility": {
"type": "string",
"enum": [
"Copy",
"Drop",
"Store",
"Key"
]
}
SuiMoveAbilitySet
Object
Property | Type | Req? | Description |
---|---|---|---|
abilities | array | Yes |
Toggle raw JSON
"SuiMoveAbilitySet": {
"type": "object",
"required": [
"abilities"
],
"properties": {
"abilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveAbility"
}
}
}
}
SuiMoveModuleId
Object
Property | Type | Req? | Description |
---|---|---|---|
address | string | Yes | |
name | string | Yes |
Toggle raw JSON
"SuiMoveModuleId": {
"type": "object",
"required": [
"address",
"name"
],
"properties": {
"address": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
SuiMoveNormalizedField
Object
Property | Type | Req? | Description |
---|---|---|---|
name | string | Yes | |
type | SuiMoveNormalizedType | Yes |
Toggle raw JSON
"SuiMoveNormalizedField": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
}
}
SuiMoveNormalizedFunction
Object
Property | Type | Req? | Description |
---|---|---|---|
isEntry | boolean | Yes | |
parameters | array | Yes | |
return | array | Yes | |
typeParameters | array | Yes | |
visibility | SuiMoveVisibility | Yes |
Toggle raw JSON
"SuiMoveNormalizedFunction": {
"type": "object",
"required": [
"isEntry",
"parameters",
"return",
"typeParameters",
"visibility"
],
"properties": {
"isEntry": {
"type": "boolean"
},
"parameters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
},
"return": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
},
"typeParameters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveAbilitySet"
}
},
"visibility": {
"$ref": "#/components/schemas/SuiMoveVisibility"
}
}
}
SuiMoveNormalizedModule
Object
Property | Type | Req? | Description |
---|---|---|---|
address | string | Yes | |
exposedFunctions | object | Yes | |
Additional properties | SuiMoveNormalizedFunction | ||
fileFormatVersion | integer | Yes | |
friends | array | Yes | |
name | string | Yes | |
structs | object | Yes | |
Additional properties | SuiMoveNormalizedStruct |
Toggle raw JSON
"SuiMoveNormalizedModule": {
"type": "object",
"required": [
"address",
"exposedFunctions",
"fileFormatVersion",
"friends",
"name",
"structs"
],
"properties": {
"address": {
"type": "string"
},
"exposedFunctions": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/SuiMoveNormalizedFunction"
}
},
"fileFormatVersion": {
"type": "integer",
"format": "uint32",
"minimum": 0
},
"friends": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveModuleId"
}
},
"name": {
"type": "string"
},
"structs": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/SuiMoveNormalizedStruct"
}
}
}
}
SuiMoveNormalizedStruct
Object
Property | Type | Req? | Description |
---|---|---|---|
abilities | SuiMoveAbilitySet | Yes | |
fields | array | Yes | |
typeParameters | array | Yes |
Toggle raw JSON
"SuiMoveNormalizedStruct": {
"type": "object",
"required": [
"abilities",
"fields",
"typeParameters"
],
"properties": {
"abilities": {
"$ref": "#/components/schemas/SuiMoveAbilitySet"
},
"fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveNormalizedField"
}
},
"typeParameters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveStructTypeParameter"
}
}
}
}
SuiMoveNormalizedType
One of
String enum: [ "Bool" | "U8" | "U16" | "U32" | "U64" | "U128" | "U256" | "Address" | "Signer" ]
Object
Property | Type | Req? | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Struct | object | Yes | |||||||||||||||||||||
|
Object
Property | Type | Req? | Description |
---|---|---|---|
Vector | SuiMoveNormalizedType | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
TypeParameter | integer | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Reference | SuiMoveNormalizedType | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
MutableReference | SuiMoveNormalizedType | Yes |
Toggle raw JSON
"SuiMoveNormalizedType": {
"oneOf": [
{
"type": "string",
"enum": [
"Bool",
"U8",
"U16",
"U32",
"U64",
"U128",
"U256",
"Address",
"Signer"
]
},
{
"type": "object",
"required": [
"Struct"
],
"properties": {
"Struct": {
"type": "object",
"required": [
"address",
"module",
"name",
"typeArguments"
],
"properties": {
"address": {
"type": "string"
},
"module": {
"type": "string"
},
"name": {
"type": "string"
},
"typeArguments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
}
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Vector"
],
"properties": {
"Vector": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"TypeParameter"
],
"properties": {
"TypeParameter": {
"type": "integer",
"format": "uint16",
"minimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Reference"
],
"properties": {
"Reference": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"MutableReference"
],
"properties": {
"MutableReference": {
"$ref": "#/components/schemas/SuiMoveNormalizedType"
}
},
"additionalProperties": false
}
]
}
SuiMoveStructTypeParameter
Object
Property | Type | Req? | Description |
---|---|---|---|
constraints | SuiMoveAbilitySet | Yes | |
isPhantom | boolean | Yes |
Toggle raw JSON
"SuiMoveStructTypeParameter": {
"type": "object",
"required": [
"constraints",
"isPhantom"
],
"properties": {
"constraints": {
"$ref": "#/components/schemas/SuiMoveAbilitySet"
},
"isPhantom": {
"type": "boolean"
}
}
}
SuiMoveVisibility
String enum [ "Private" | "Public" | "Friend" ]
Toggle raw JSON
"SuiMoveVisibility": {
"type": "string",
"enum": [
"Private",
"Public",
"Friend"
]
}
SuiObjectDataFilter
One of
Object
Property | Type | Req? | Description |
---|---|---|---|
MatchAll | array | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
MatchAny | array | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
MatchNone | array | Yes |
Object
Query by type a specified Move module.
Property | Type | Req? | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MoveModule | object | Yes | |||||||||||||
|
Object
Query by type
Property | Type | Req? | Description |
---|---|---|---|
StructType | string | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
AddressOwner | SuiAddress | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ObjectOwner | ObjectID | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ObjectId | ObjectID | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
ObjectIds | array | Yes |
Object
Property | Type | Req? | Description |
---|---|---|---|
Version | BigInt_for_uint64 | Yes |
Toggle raw JSON
"SuiObjectDataFilter": {
"oneOf": [
{
"type": "object",
"required": [
"MatchAll"
],
"properties": {
"MatchAll": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiObjectDataFilter"
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"MatchAny"
],
"properties": {
"MatchAny": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiObjectDataFilter"
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"MatchNone"
],
"properties": {
"MatchNone": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiObjectDataFilter"
}
}
},
"additionalProperties": false
},
{
"description": "Query by type a specified Package.",
"type": "object",
"required": [
"Package"
],
"properties": {
"Package": {
"$ref": "#/components/schemas/ObjectID"
}
},
"additionalProperties": false
},
{
"description": "Query by type a specified Move module.",
"type": "object",
"required": [
"MoveModule"
],
"properties": {
"MoveModule": {
"type": "object",
"required": [
"module",
"package"
],
"properties": {
"module": {
"description": "the module name",
"type": "string"
},
"package": {
"description": "the Move package ID",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
}
}
}
},
"additionalProperties": false
},
{
"description": "Query by type",
"type": "object",
"required": [
"StructType"
],
"properties": {
"StructType": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"AddressOwner"
],
"properties": {
"AddressOwner": {
"$ref": "#/components/schemas/SuiAddress"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ObjectOwner"
],
"properties": {
"ObjectOwner": {
"$ref": "#/components/schemas/ObjectID"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ObjectId"
],
"properties": {
"ObjectId": {
"$ref": "#/components/schemas/ObjectID"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ObjectIds"
],
"properties": {
"ObjectIds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectID"
}
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"Version"
],
"properties": {
"Version": {
"$ref": "#/components/schemas/BigInt_for_uint64"
}
},
"additionalProperties": false
}
]
}
SuiObjectResponse
Object
Property | Type | Req? | Description |
---|---|---|---|
data | ObjectData | null | No | |
error | ObjectResponseError | null | No |
Toggle raw JSON
"SuiObjectResponse": {
"type": "object",
"properties": {
"data": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectData"
},
{
"type": "null"
}
]
},
"error": {
"anyOf": [
{
"$ref": "#/components/schemas/ObjectResponseError"
},
{
"type": "null"
}
]
}
}
}
SuiProgrammableMoveCall
The transaction for calling a Move function, either an entry function or a public function (which cannot return references).
Object
Property | Type | Req? | Description |
---|---|---|---|
arguments | array | No | The arguments to the function. |
function | string | Yes | The function to be called. |
module | string | Yes | The specific module in the package containing the function. |
package | Yes | The package containing the module and function. | |
type_arguments | array | No | The type arguments to the function. |
Toggle raw JSON
"SuiProgrammableMoveCall": {
"description": "The transaction for calling a Move function, either an entry function or a public function (which cannot return references).",
"type": "object",
"required": [
"function",
"module",
"package"
],
"properties": {
"arguments": {
"description": "The arguments to the function.",
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiArgument"
}
},
"function": {
"description": "The function to be called.",
"type": "string"
},
"module": {
"description": "The specific module in the package containing the function.",
"type": "string"
},
"package": {
"description": "The package containing the module and function.",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"type_arguments": {
"description": "The type arguments to the function.",
"type": "array",
"items": {
"type": "string"
}
}
}
}
SuiSystemStateSummary
This is the JSON-RPC type for the SUI system state object. It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the SUI system state type.
Object
Property | Type | Req? | Description |
---|---|---|---|
activeValidators | array | Yes | The list of active validators in the current epoch. |
atRiskValidators | array | Yes | Map storing the number of epochs for which each validator has been below the low stake threshold. |
epoch | Yes | The current epoch ID, starting from 0. | |
epochDurationMs | Yes | The duration of an epoch, in milliseconds. | |
epochStartTimestampMs | Yes | Unix timestamp of the current epoch start | |
inactivePoolsId | Yes | ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool. | |
inactivePoolsSize | Yes | Number of inactive staking pools. | |
maxValidatorCount | Yes | Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this. | |
minValidatorJoiningStake | Yes | Lower-bound on the amount of stake required to become a validator. | |
pendingActiveValidatorsId | Yes | ID of the object that contains the list of new validators that will join at the end of the epoch. | |
pendingActiveValidatorsSize | Yes | Number of new validators that will join at the end of the epoch. | |
pendingRemovals | array | Yes | Removal requests from the validators. Each element is an index pointing to `active_validators`. |
protocolVersion | Yes | The current protocol version, starting from 1. | |
referenceGasPrice | Yes | The reference gas price for the current epoch. | |
safeMode | boolean | Yes | Whether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever we failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once we are able to successfully execute advance_epoch. |
safeModeComputationRewards | Yes | Amount of computation rewards accumulated (and not yet distributed) during safe mode. | |
safeModeNonRefundableStorageFee | Yes | Amount of non-refundable storage fee accumulated during safe mode. | |
safeModeStorageRebates | Yes | Amount of storage rebates accumulated (and not yet burned) during safe mode. | |
safeModeStorageRewards | Yes | Amount of storage rewards accumulated (and not yet distributed) during safe mode. | |
stakeSubsidyBalance | Yes | Balance of SUI set aside for stake subsidies that will be drawn down over time. | |
stakeSubsidyCurrentDistributionAmount | Yes | The amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time. | |
stakeSubsidyDecreaseRate | integer | Yes | The rate at which the distribution amount decays at the end of each period. Expressed in basis points. |
stakeSubsidyDistributionCounter | Yes | This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy. | |
stakeSubsidyPeriodLength | Yes | Number of distributions to occur before the distribution amount decays. | |
stakeSubsidyStartEpoch | Yes | The starting epoch in which stake subsidies start being paid out | |
stakingPoolMappingsId | Yes | ID of the object that maps from staking pool's ID to the sui address of a validator. | |
stakingPoolMappingsSize | Yes | Number of staking pool mappings. | |
storageFundNonRefundableBalance | Yes | The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards. | |
storageFundTotalObjectStorageRebates | Yes | The storage rebates of all the objects on-chain stored in the storage fund. | |
systemStateVersion | Yes | The current version of the system state data structure type. | |
totalStake | Yes | Total amount of stake from all active validators at the beginning of the epoch. | |
validatorCandidatesId | Yes | ID of the object that stores preactive validators, mapping their addresses to their `Validator` structs. | |
validatorCandidatesSize | Yes | Number of preactive validators. | |
validatorLowStakeGracePeriod | Yes | A validator can have stake below `validator_low_stake_threshold` for this many epochs before being kicked out. | |
validatorLowStakeThreshold | Yes | Validators with stake amount below `validator_low_stake_threshold` are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than `validator_low_stake_grace_period` number of epochs. | |
validatorReportRecords | array | Yes | A map storing the records of validator reporting each other. |
validatorVeryLowStakeThreshold | Yes | Validators with stake below `validator_very_low_stake_threshold` will be removed immediately at epoch change, no grace period. |
Toggle raw JSON
"SuiSystemStateSummary": {
"description": "This is the JSON-RPC type for the SUI system state object. It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the SUI system state type.",
"type": "object",
"required": [
"activeValidators",
"atRiskValidators",
"epoch",
"epochDurationMs",
"epochStartTimestampMs",
"inactivePoolsId",
"inactivePoolsSize",
"maxValidatorCount",
"minValidatorJoiningStake",
"pendingActiveValidatorsId",
"pendingActiveValidatorsSize",
"pendingRemovals",
"protocolVersion",
"referenceGasPrice",
"safeMode",
"safeModeComputationRewards",
"safeModeNonRefundableStorageFee",
"safeModeStorageRebates",
"safeModeStorageRewards",
"stakeSubsidyBalance",
"stakeSubsidyCurrentDistributionAmount",
"stakeSubsidyDecreaseRate",
"stakeSubsidyDistributionCounter",
"stakeSubsidyPeriodLength",
"stakeSubsidyStartEpoch",
"stakingPoolMappingsId",
"stakingPoolMappingsSize",
"storageFundNonRefundableBalance",
"storageFundTotalObjectStorageRebates",
"systemStateVersion",
"totalStake",
"validatorCandidatesId",
"validatorCandidatesSize",
"validatorLowStakeGracePeriod",
"validatorLowStakeThreshold",
"validatorReportRecords",
"validatorVeryLowStakeThreshold"
],
"properties": {
"activeValidators": {
"description": "The list of active validators in the current epoch.",
"type": "array",
"items": {
"$ref": "#/components/schemas/SuiValidatorSummary"
}
},
"atRiskValidators": {
"description": "Map storing the number of epochs for which each validator has been below the low stake threshold.",
"type": "array",
"items": {
"type": "array",
"items": [
{
"$ref": "#/components/schemas/SuiAddress"
},
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
],
"maxItems": 2,
"minItems": 2
}
},
"epoch": {
"description": "The current epoch ID, starting from 0.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"epochDurationMs": {
"description": "The duration of an epoch, in milliseconds.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"epochStartTimestampMs": {
"description": "Unix timestamp of the current epoch start",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"inactivePoolsId": {
"description": "ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.",
"allOf": [
{
"$ref": "#/components/schemas/ObjectID"
}
]
},
"inactivePoolsSize": {
"description": "Number of inactive staking pools.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_uint64"
}
]
},
"maxValidatorCount": {
"description": "Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.",
"allOf": [
{
"$ref": "#/components/schemas/BigInt_for_u