Skip to main content

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

Name<Type>
Required
Description
owner< SuiAddress >
Yes
The owner's Sui address

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

Name<Type>
Required
Description
owner< SuiAddress >
Yes
The owner's Sui address
cursor< ObjectID >
No
Optional paging cursor
limit< uint >
No
Maximum number of items per page

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.

Parameter
Required
Description
data<[ Coin ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< ObjectID | null >
No

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

Name<Type>
Required
Description
owner< SuiAddress >
Yes
The owner's Sui address
coin_type< string >
No
Optional type names for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), default to 0x2::sui::SUI if not specified.

Result

Balance< Balance >

Parameter
Required
Description
coinObjectCount< uint >
Yes
coinType< string >
Yes
lockedBalance< BigInt_for_uint128 >
Yes
totalBalance< BigInt_for_uint128 >
Yes

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

Name<Type>
Required
Description
coin_type< string >
Yes
Type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)

Result

SuiCoinMetadata< SuiCoinMetadata >

Parameter
Required
Description
decimals< uint8 >
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

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

Name<Type>
Required
Description
owner< SuiAddress >
Yes
The owner's Sui address
coin_type< string >
No
Optional type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), default to 0x2::sui::SUI if not specified.
cursor< ObjectID >
No
Optional paging cursor
limit< uint >
No
Maximum number of items per page

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.

Parameter
Required
Description
data<[ Coin ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< ObjectID | null >
No

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

Name<Type>
Required
Description
coin_type< string >
Yes
Type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)

Result

Supply< Supply >

Parameter
Required
Description
value< BigInt_for_uint64 >
Yes

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

Name<Type>
Required
Description
parent_object_id< ObjectID >
Yes
The ID of the queried parent object
name< DynamicFieldName >
Yes
The Name of the dynamic field

Result

SuiObjectResponse< SuiObjectResponse >

Parameter
Required
Description
data< ObjectData | null >
No
error< ObjectResponseError | null >
No

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

Name<Type>
Required
Description
parent_object_id< ObjectID >
Yes
The ID of the parent object
cursor< ObjectID >
No
An optional paging cursor. If provided, the query will start from the next item after the specified cursor. Default to start from the first item if not specified.
limit< uint >
No
Maximum item returned per page, default to [QUERY_MAX_RESULT_LIMIT] if not specified.

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.

Parameter
Required
Description
data<[ DynamicFieldInfo ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< ObjectID | null >
No

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

Name<Type>
Required
Description
address< SuiAddress >
Yes
The owner's Sui address
query< ObjectResponseQuery >
No
The objects query criteria.
cursor< ObjectID >
No
An optional paging cursor. If provided, the query will start from the next item after the specified cursor. Default to start from the first item if not specified.
limit< uint >
No
Max number of items returned per page, default to [QUERY_MAX_RESULT_LIMIT] if not specified.

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.

Parameter
Required
Description
data<[ SuiObjectResponse ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< ObjectID | null >
No

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

Name<Type>
Required
Description
query< EventFilter >
Yes
The event query criteria. See Event filter documentation for examples.
cursor< EventID >
No
Optional paging cursor
limit< uint >
No
Maximum number of items per page, default to [QUERY_MAX_RESULT_LIMIT] if not specified.
descending_order< Boolean >
No
Query result ordering, default to false (ascending order), oldest record first.

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.

Parameter
Required
Description
data<[ Event ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< EventID | null >
No

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

Name<Type>
Required
Description
query< TransactionBlockResponseQuery >
Yes
The transaction query criteria.
cursor< TransactionDigest >
No
An optional paging cursor. If provided, the query will start from the next item after the specified cursor. Default to start from the first item if not specified.
limit< uint >
No
Maximum item returned per page, default to QUERY_MAX_RESULT_LIMIT if not specified.
descending_order< Boolean >
No
Query result ordering, default to false (ascending order), oldest record first.

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.

Parameter
Required
Description
data<[ TransactionBlockResponse ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< TransactionDigest | null >
No

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

Name<Type>
Required
Description
name< string >
Yes
The name to resolve

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

Name<Type>
Required
Description
address< SuiAddress >
Yes
The address to resolve
cursor< ObjectID >
No
limit< uint >
No

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.

Parameter
Required
Description
data<[ string ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< ObjectID | null >
No

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

Name<Type>
Required
Description
filter< EventFilter >
Yes
The filter criteria of the event stream. See Event filter documentation for examples.

Result

SuiEvent< Event >

Parameter
Required
Description
bcs< Base58 >
Yes
Base 58 encoded bcs bytes of the move event
id< EventID >
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< ObjectID >
Yes
Move package where this event was emitted.
parsedJson< >
Yes
Parsed json value of the event
sender< SuiAddress >
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.

suix_subscribeTransaction

Subscribe to a stream of Sui transaction effects

Parameters

Name<Type>
Required
Description
filter< TransactionFilter >
Yes

Result

SuiTransactionBlockEffects< TransactionBlockEffects >

Governance Read API

suix_getCommitteeInfo

Return the committee information for the asked epoch.

Parameters

Name<Type>
Required
Description
epoch< BigInt_for_uint64 >
No
The epoch of interest. If None, default to the latest epoch

Result

SuiCommittee< CommitteeInfo >

RPC representation of the [Committee] type.

Parameter
Required
Description
epoch< BigInt_for_uint64 >
Yes
validators<[ AuthorityPublicKeyBytes, BigInt_for_uint64 ]>
Yes

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.

Parameter
Required
Description
activeValidators<[ SuiValidatorSummary ]>
Yes
The list of active validators in the current epoch.
atRiskValidators<[ SuiAddress, BigInt_for_uint64 ]>
Yes
Map storing the number of epochs for which each validator has been below the low stake threshold.
epoch< BigInt_for_uint64 >
Yes
The current epoch ID, starting from 0.
epochDurationMs< BigInt_for_uint64 >
Yes
The duration of an epoch, in milliseconds.
epochStartTimestampMs< BigInt_for_uint64 >
Yes
Unix timestamp of the current epoch start
inactivePoolsId< ObjectID >
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< BigInt_for_uint64 >
Yes
Number of inactive staking pools.
maxValidatorCount< BigInt_for_uint64 >
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< BigInt_for_uint64 >
Yes
Lower-bound on the amount of stake required to become a validator.
pendingActiveValidatorsId< ObjectID >
Yes
ID of the object that contains the list of new validators that will join at the end of the epoch.
pendingActiveValidatorsSize< BigInt_for_uint64 >
Yes
Number of new validators that will join at the end of the epoch.
pendingRemovals<[ BigInt_for_uint64 ]>
Yes
Removal requests from the validators. Each element is an index pointing to active_validators.
protocolVersion< BigInt_for_uint64 >
Yes
The current protocol version, starting from 1.
referenceGasPrice< BigInt_for_uint64 >
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< BigInt_for_uint64 >
Yes
Amount of computation rewards accumulated (and not yet distributed) during safe mode.
safeModeNonRefundableStorageFee< BigInt_for_uint64 >
Yes
Amount of non-refundable storage fee accumulated during safe mode.
safeModeStorageRebates< BigInt_for_uint64 >
Yes
Amount of storage rebates accumulated (and not yet burned) during safe mode.
safeModeStorageRewards< BigInt_for_uint64 >
Yes
Amount of storage rewards accumulated (and not yet distributed) during safe mode.
stakeSubsidyBalance< BigInt_for_uint64 >
Yes
Balance of SUI set aside for stake subsidies that will be drawn down over time.
stakeSubsidyCurrentDistributionAmount< BigInt_for_uint64 >
Yes
The amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.
stakeSubsidyDecreaseRate< uint16 >
Yes
The rate at which the distribution amount decays at the end of each period. Expressed in basis points.
stakeSubsidyDistributionCounter< BigInt_for_uint64 >
Yes
This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.
stakeSubsidyPeriodLength< BigInt_for_uint64 >
Yes
Number of distributions to occur before the distribution amount decays.
stakeSubsidyStartEpoch< BigInt_for_uint64 >
Yes
The starting epoch in which stake subsidies start being paid out
stakingPoolMappingsId< ObjectID >
Yes
ID of the object that maps from staking pool's ID to the sui address of a validator.
stakingPoolMappingsSize< BigInt_for_uint64 >
Yes
Number of staking pool mappings.
storageFundNonRefundableBalance< BigInt_for_uint64 >
Yes
The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.
storageFundTotalObjectStorageRebates< BigInt_for_uint64 >
Yes
The storage rebates of all the objects on-chain stored in the storage fund.
systemStateVersion< BigInt_for_uint64 >
Yes
The current version of the system state data structure type.
totalStake< BigInt_for_uint64 >
Yes
Total amount of stake from all active validators at the beginning of the epoch.
validatorCandidatesId< ObjectID >
Yes
ID of the object that stores preactive validators, mapping their addresses to their Validator structs.
validatorCandidatesSize< BigInt_for_uint64 >
Yes
Number of preactive validators.
validatorLowStakeGracePeriod< BigInt_for_uint64 >
Yes
A validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.
validatorLowStakeThreshold< BigInt_for_uint64 >
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<[ SuiAddress, array ]>
Yes
A map storing the records of validator reporting each other.
validatorVeryLowStakeThreshold< BigInt_for_uint64 >
Yes
Validators with stake below 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

Name<Type>
Required
Description
owner< SuiAddress >
Yes

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

Name<Type>
Required
Description
staked_sui_ids<[ ObjectID ]>
Yes

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 >

Parameter
Required
Description
apys<[ ValidatorApy ]>
Yes
epoch< BigInt_for_uint64 >
Yes

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

Name<Type>
Required
Description
package< ObjectID >
Yes
module< string >
Yes
function< string >
Yes

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

Name<Type>
Required
Description
package< ObjectID >
Yes
module_name< string >
Yes
function_name< string >
Yes

Result

SuiMoveNormalizedFunction< SuiMoveNormalizedFunction >

Parameter
Required
Description
isEntry< Boolean >
Yes
parameters<[ SuiMoveNormalizedType ]>
Yes
return<[ SuiMoveNormalizedType ]>
Yes
typeParameters<[ SuiMoveAbilitySet ]>
Yes
visibility< SuiMoveVisibility >
Yes

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

Name<Type>
Required
Description
package< ObjectID >
Yes
module_name< string >
Yes

Result

SuiMoveNormalizedModule< SuiMoveNormalizedModule >

Parameter
Required
Description
address< string >
Yes
exposedFunctions< SuiMoveNormalizedFunction >
Yes
fileFormatVersion< uint32 >
Yes
friends<[ SuiMoveModuleId ]>
Yes
name< string >
Yes
structs< SuiMoveNormalizedStruct >
Yes

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

Name<Type>
Required
Description
package< ObjectID >
Yes

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

Name<Type>
Required
Description
package< ObjectID >
Yes
module_name< string >
Yes
struct_name< string >
Yes

Result

SuiMoveNormalizedStruct< SuiMoveNormalizedStruct >

Parameter
Required
Description
abilities< SuiMoveAbilitySet >
Yes
fields<[ SuiMoveNormalizedField ]>
Yes
typeParameters<[ SuiMoveStructTypeParameter ]>
Yes

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

Name<Type>
Required
Description
id< CheckpointId >
Yes
Checkpoint identifier, can use either checkpoint digest, or checkpoint sequence number as input.

Result

Checkpoint< Checkpoint >

Parameter
Required
Description
checkpointCommitments<[ CheckpointCommitment ]>
Yes
Commitments to checkpoint state
digest< CheckpointDigest >
Yes
Checkpoint digest
endOfEpochData< EndOfEpochData | null >
No
Present only on the final checkpoint of the epoch.
epoch< BigInt_for_uint64 >
Yes
Checkpoint's epoch ID
epochRollingGasCostSummary< GasCostSummary >
Yes
The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
networkTotalTransactions< BigInt_for_uint64 >
Yes
Total number of transactions committed since genesis, including those in this checkpoint.
previousDigest< CheckpointDigest | null >
No
Digest of the previous checkpoint
sequenceNumber< BigInt_for_uint64 >
Yes
Checkpoint sequence number
timestampMs< BigInt_for_uint64 >
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<[ TransactionDigest ]>
Yes
Transaction digests
validatorSignature< Base64 >
Yes
Validator Signature

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

Name<Type>
Required
Description
cursor< BigInt_for_uint64 >
No
An optional paging cursor. If provided, the query will start from the next item after the specified cursor. Default to start from the first item if not specified.
limit< uint >
No
Maximum item returned per page, default to [QUERY_MAX_RESULT_LIMIT_CHECKPOINTS] if not specified.
descending_order< Boolean >
Yes
Query result ordering, default to false (ascending order), oldest record first.

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.

Parameter
Required
Description
data<[ Checkpoint ]>
Yes
hasNextPage< Boolean >
Yes
nextCursor< BigInt_for_uint64 | null >
No

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

Name<Type>
Required
Description
transaction_digest< TransactionDigest >
Yes
The event query criteria.

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

Name<Type>
Required
Description
object_id< ObjectID >
Yes
The ID of the queried object
options< ObjectDataOptions >
No
Options for specifying the content to be returned

Result

SuiObjectResponse< SuiObjectResponse >

Parameter
Required
Description
data< ObjectData | null >
No
error< ObjectResponseError | null >
No

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

Name<Type>
Required
Description
version< BigInt_for_uint64 >
No
An optional protocol version specifier. If omitted, the latest protocol config table for the node will be returned.

Result

ProtocolConfigResponse< ProtocolConfig >

Parameter
Required
Description
attributes< Boolean >
Yes
featureFlags< Boolean >
Yes
maxSupportedProtocolVersion< ProtocolVersion >
Yes
minSupportedProtocolVersion< ProtocolVersion >
Yes
protocolVersion< ProtocolVersion >
Yes

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

Name<Type>
Required
Description
digest< TransactionDigest >
Yes
The digest of the queried transaction
options< TransactionBlockResponseOptions >
No
Options for specifying the content to be returned

Result

SuiTransactionBlockResponse< TransactionBlockResponse >

Parameter
Required
Description
balanceChanges< BalanceChange [array,null] >
No
checkpoint< BigInt_for_uint64 | null >
No
The checkpoint number when this transaction was included and hence finalized. This is only returned in the read api, not in the transaction execution api.
confirmedLocalExecution< [boolean,null] >
No
digest< TransactionDigest >
Yes
effects< TransactionBlockEffects | null >
No
errors<[ string ]>
No
events< Event [array,null] >
No
objectChanges< ObjectChange [array,null] >
No
rawEffects<[ string ]>
No
rawTransaction< Base64 >
No
BCS encoded [SenderSignedData] that includes input object references returns empty array if show_raw_transaction is false
timestampMs< BigInt_for_uint64 | null >
No
transaction< TransactionBlock | null >
No
Transaction input data

Example

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

Name<Type>
Required
Description
object_ids<[ ObjectID ]>
Yes
The IDs of the queried objects
options< ObjectDataOptions >
No
Options for specifying the content to be returned

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

Name<Type>
Required
Description
digests<[ TransactionDigest ]>
Yes
A list of transaction digests.
options< TransactionBlockResponseOptions >
No
Config options to control which fields to fetch

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

Name<Type>
Required
Description
object_id< ObjectID >
Yes
The ID of the queried object
version< SequenceNumber2 >
Yes
The version of the queried object. If None, default to the latest known version
options< ObjectDataOptions >
No
Options for specifying the content to be returned

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

Name<Type>
Required
Description
past_objects<[ GetPastObjectRequest ]>
Yes
A vector of object and versions to be queried
options< ObjectDataOptions >
No
Options for specifying the content to be returned

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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
single_transaction_params<[ RPCTransactionRequestParams ]>
Yes
List of transaction request parameters
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget
txn_builder_mode< SuiTransactionBlockBuilderMode >
No
Whether this is a regular transaction or a Dev Inspect Transaction

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_mergeCoins

Create an unsigned transaction to merge multiple coins into one coin.

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
primary_coin< ObjectID >
Yes
The coin object to merge into, this coin will remain after the transaction
coin_to_merge< ObjectID >
Yes
The coin object to be merged, this coin will be destroyed, the balance will be added to primary_coin
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
package_object_id< ObjectID >
Yes
The Move package ID, e.g. 0x2
module< string >
Yes
The Move module name, e.g. pay
function< string >
Yes
The move function name, e.g. split
type_arguments<[ TypeTag ]>
Yes
The type arguments of the Move function
arguments<[ SuiJsonValue ]>
Yes
The arguments to be passed into the Move function, in SuiJson format
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget
execution_mode< SuiTransactionBlockBuilderMode >
No
Whether this is a Normal transaction or a Dev Inspect Transaction. Default to be SuiTransactionBlockBuilderMode::Commit when it's None.

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_pay

Send Coin&lt;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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
input_coins<[ ObjectID ]>
Yes
The Sui coins to be used in this transaction
recipients<[ SuiAddress ]>
Yes
The recipients' addresses, the length of this vector must be the same as amounts.
amounts<[ BigInt_for_uint64 ]>
Yes
The amounts to be transferred to recipients, following the same order
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
input_coins<[ ObjectID ]>
Yes
The Sui coins to be used in this transaction, including the coin for gas payment.
recipient< SuiAddress >
Yes
The recipient address,
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
input_coins<[ ObjectID ]>
Yes
The Sui coins to be used in this transaction, including the coin for gas payment.
recipients<[ SuiAddress ]>
Yes
The recipients' addresses, the length of this vector must be the same as amounts.
amounts<[ BigInt_for_uint64 ]>
Yes
The amounts to be transferred to recipients, following the same order
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_publish

Create an unsigned transaction to publish a Move package.

Parameters

Name<Type>
Required
Description
sender< SuiAddress >
Yes
The transaction signer's Sui address
compiled_modules<[ Base64 ]>
Yes
The compiled bytes of a Move package
dependencies<[ ObjectID ]>
Yes
A list of transitive dependency addresses that this set of modules depends on.
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_requestAddStake

Add stake to a validator's staking pool using multiple coins and amount.

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
coins<[ ObjectID ]>
Yes
Coin<SUI> object to stake
amount< BigInt_for_uint64 >
No
Stake amount
validator< SuiAddress >
Yes
The validator's Sui address
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_requestWithdrawStake

Withdraw stake from a validator's staking pool.

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
staked_sui< ObjectID >
Yes
StakedSui object ID
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_splitCoin

Create an unsigned transaction to split a coin object into multiple coins.

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
coin_object_id< ObjectID >
Yes
The coin object to be spilt
split_amounts<[ BigInt_for_uint64 ]>
Yes
The amounts to split out from the coin
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_splitCoinEqual

Create an unsigned transaction to split a coin object into multiple equal-size coins.

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
coin_object_id< ObjectID >
Yes
The coin object to be spilt
split_count< BigInt_for_uint64 >
Yes
The number of coins to split into
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_transferObject

Create an unsigned transaction to transfer an object from one address to another. The object's type must allow public transfers

Parameters

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
object_id< ObjectID >
Yes
The ID of the object to be transferred
gas< ObjectID >
No
Gas object to be used in this transaction, node will pick one from the signer's possession if not provided
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget
recipient< SuiAddress >
Yes
The recipient's Sui address

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

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

Name<Type>
Required
Description
signer< SuiAddress >
Yes
The transaction signer's Sui address
sui_object_id< ObjectID >
Yes
The Sui coin object to be used in this transaction
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget
recipient< SuiAddress >
Yes
The recipient's Sui address
amount< BigInt_for_uint64 >
No
The amount to be split out and transferred

Result

TransactionBlockBytes< TransactionBlockBytes >

Parameter
Required
Description
gas<[ ObjectRef ]>
Yes
the gas objects to be used
inputObjects<[ InputObjectKind ]>
Yes
objects to be used in this transaction
txBytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

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

Name<Type>
Required
Description
sender_address< SuiAddress >
Yes
tx_bytes< Base64 >
Yes
BCS encoded TransactionKind(as opposed to TransactionData, which include gasBudget and gasPrice)
gas_price< BigInt_for_uint64 >
No
Gas is not charged, but gas usage is still calculated. Default to use reference gas price
epoch< BigInt_for_uint64 >
No
The epoch to perform the call. Will be set from the system state object if not provided
additional_args< DevInspectArgs >
No
Additional arguments including gas_budget, gas_objects, gas_sponsor and skip_checks.

Result

DevInspectResults< DevInspectResults >

The response from processing a dev inspect transaction

Parameter
Required
Description
effects< TransactionBlockEffects >
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<[ Event ]>
Yes
Events that likely would be generated if the transaction is actually run.
rawEffects<[ string ]>
No
The raw effects of the transaction that was dev inspected.
rawTxnData<[ string ]>
No
The raw transaction data that was dev inspected.
results< SuiExecutionResult [array,null] >
No
Execution results (including return values) from executing the transactions

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

Name<Type>
Required
Description
tx_bytes< Base64 >
Yes

Result

DryRunTransactionBlockResponse< DryRunTransactionBlockResponse >

Parameter
Required
Description
balanceChanges<[ BalanceChange ]>
Yes
effects< TransactionBlockEffects >
Yes
events<[ Event ]>
Yes
input< TransactionBlockData >
Yes
objectChanges<[ ObjectChange ]>
Yes

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

Name<Type>
Required
Description
tx_bytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.
signatures<[ Base64 ]>
Yes
A list of signatures (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.
options< TransactionBlockResponseOptions >
No
Options for specifying the content to be returned
request_type< ExecuteTransactionRequestType >
No
The request type, derived from SuiTransactionBlockResponseOptions if None

Result

SuiTransactionBlockResponse< TransactionBlockResponse >

Parameter
Required
Description
balanceChanges< BalanceChange [array,null] >
No
checkpoint< BigInt_for_uint64 | null >
No
The checkpoint number when this transaction was included and hence finalized. This is only returned in the read api, not in the transaction execution api.
confirmedLocalExecution< [boolean,null] >
No
digest< TransactionDigest >
Yes
effects< TransactionBlockEffects | null >
No
errors<[ string ]>
No
events< Event [array,null] >
No
objectChanges< ObjectChange [array,null] >
No
rawEffects<[ string ]>
No
rawTransaction< Base64 >
No
BCS encoded [SenderSignedData] that includes input object references returns empty array if show_raw_transaction is false
timestampMs< BigInt_for_uint64 | null >
No
transaction< TransactionBlock | null >
No
Transaction input data

Example

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

PropertyTypeReq?Description
coinObjectCountintegerYes
coinTypestringYes
lockedBalanceobjectYes
Additional propertiesBigInt_for_uint128
totalBalanceBigInt_for_uint128Yes
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

PropertyTypeReq?Description
amountstringYesThe amount indicate the balance value changes, negative amount means spending coin value and positive means receiving coin value.
coinTypestringYes
ownerYesOwner 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

PropertyTypeReq?Description
checkpointCommitmentsarrayYesCommitments to checkpoint state
digestYesCheckpoint digest
endOfEpochDataNoPresent only on the final checkpoint of the epoch.
epochYesCheckpoint's epoch ID
epochRollingGasCostSummaryYesThe running total gas costs of all transactions included in the current epoch so far until this checkpoint.
networkTotalTransactionsYesTotal number of transactions committed since genesis, including those in this checkpoint.
previousDigestNoDigest of the previous checkpoint
sequenceNumberYesCheckpoint sequence number
timestampMsYesTimestamp 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
transactionsarrayYesTransaction digests
validatorSignatureYesValidator 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

PropertyTypeReq?Description
ECMHLiveObjectSetDigestECMHLiveObjectSetDigestYes
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

PropertyTypeReq?Description
indexMod4integerYes
valuestringYes
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

PropertyTypeReq?Description
balanceBigInt_for_uint64Yes
coinObjectIdObjectIDYes
coinTypestringYes
digestObjectDigestYes
previousTransactionTransactionDigestYes
versionSequenceNumberYes
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

PropertyTypeReq?Description
epochBigInt_for_uint64Yes
validatorsarrayYes
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

PropertyTypeReq?Description
Ed25519Base64Yes

Object

PropertyTypeReq?Description
Secp256k1Base64Yes

Object

PropertyTypeReq?Description
Secp256r1Base64Yes

Object

PropertyTypeReq?Description
ZkLoginZkLoginAuthenticatorAsBytesYes
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

Digest
Toggle raw JSON
"ConsensusCommitDigest":  {
  "$ref": "#/components/schemas/Digest"
}

ConsensusDeterminedVersionAssignments

Uses an enum to allow for future expansion of the ConsensusDeterminedVersionAssignments.

One of

Object

PropertyTypeReq?Description
CancelledTransactionsarrayYes
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

PropertyTypeReq?Description
dataTypestring enum [ "moveObject" ]Yes
fieldsMoveStructYes
hasPublicTransferbooleanYes
typestringYes

Object

PropertyTypeReq?Description
dataTypestring enum [ "package" ]Yes
disassembledobjectYes
Additional propertiestrue
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

PropertyTypeReq?Description
stakesarrayYes
stakingPoolYesStaking pool object id.
validatorAddressYesValidator'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

PropertyTypeReq?Description
gasBudgetNoThe gas budget for the transaction.
gasObjectsarray | nullNoThe gas objects used to pay for the transaction.
gasSponsor
SuiAddress | null
NoThe sponsor of the gas for the transaction, might be different from the sender.
showRawTxnDataAndEffectsboolean | nullNoWhether to return the raw transaction data and effects.
skipChecksboolean | nullNoWhether 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

PropertyTypeReq?Description
effectsYesSummary 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.
errorstring | nullNoExecution error from executing the transactions
eventsarrayYesEvents that likely would be generated if the transaction is actually run.
rawEffectsarrayNoThe raw effects of the transaction that was dev inspected.
rawTxnDataarrayNoThe raw transaction data that was dev inspected.
resultsarray | nullNoExecution 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

PropertyTypeReq?Description
dataobject | nullNo
errorNo
Toggle raw JSON
"DisplayFieldsResponse":  {
  "type": "object",
  "properties": {
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": "string"
      }
    },
    "error": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ObjectResponseError"
        },
        {
          "type": "null"
        }
      ]
    }
  }
}

DryRunTransactionBlockResponse

Object

PropertyTypeReq?Description
balanceChangesarrayYes
effectsTransactionBlockEffectsYes
eventsarrayYes
inputTransactionBlockDataYes
objectChangesarrayYes
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

PropertyTypeReq?Description
bcsNameBase58Yes
digestObjectDigestYes
nameDynamicFieldNameYes
objectIdObjectIDYes
objectTypestringYes
typeDynamicFieldTypeYes
versionSequenceNumber2Yes
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

PropertyTypeReq?Description
typestringYes
valuetrueYes
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

PropertyTypeReq?Description
digestarrayYes
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

Base64
Toggle raw JSON
"Ed25519SuiSignature":  {
  "$ref": "#/components/schemas/Base64"
}

EndOfEpochData

Object

PropertyTypeReq?Description
epochCommitmentsarrayYesCommitments to epoch specific state (e.g. live object set)
nextEpochCommitteearrayYesnext_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.
nextEpochProtocolVersionYesThe 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

PropertyTypeReq?Description
bcsYesBase 58 encoded bcs bytes of the move event
idYesSequential 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.
packageIdYesMove package where this event was emitted.
parsedJsonYesParsed json value of the event
senderYesSender's Sui address.
timestampMsNoUTC timestamp in milliseconds since epoch (1/1/1970)
transactionModulestringYesMove module where this event was emitted.
typestringYesMove 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.

PropertyTypeReq?Description
AllarrayYes

Object

Return events that match any of the given filters. Only supported on event subscriptions.

PropertyTypeReq?Description
AnyarrayYes

Object

Query by sender address.

PropertyTypeReq?Description
SenderSuiAddressYes

Object

Return events emitted by the given transaction.

PropertyTypeReq?Description
TransactionTransactionDigestYes

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.

PropertyTypeReq?Description
MoveModuleobjectYes
PropertyTypeReq?Description
modulestringYesthe module name
packageYesthe Move package ID

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.

PropertyTypeReq?Description
MoveEventTypestringYes

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.

PropertyTypeReq?Description
MoveEventModuleobjectYes
PropertyTypeReq?Description
modulestringYesthe module name
packageYesthe Move package ID

Object

Return events emitted in [start_time, end_time] interval

PropertyTypeReq?Description
TimeRangeobjectYes
PropertyTypeReq?Description
endTimeYesright endpoint of time interval, milliseconds since epoch, exclusive
startTimeYesleft endpoint of time interval, milliseconds since epoch, inclusive
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

PropertyTypeReq?Description
eventSeqBigInt_for_uint64Yes
txDigestTransactionDigestYes
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

PropertyTypeReq?Description
statusstring enum [ "success" ]Yes

Object

PropertyTypeReq?Description
errorstringYes
statusstring 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

PropertyTypeReq?Description
computationCostYesCost of computation/execution
nonRefundableStorageFeeYesThe fee for the rebate. The portion of the storage rebate kept by the system.
storageCostYesStorage cost, it's the sum of all storage cost for all objects created or mutated.
storageRebateYesThe 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

PropertyTypeReq?Description
budgetBigInt_for_uint64Yes
ownerSuiAddressYes
paymentarrayYes
priceBigInt_for_uint64Yes
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

PropertyTypeReq?Description
MultiSigMultiSigYes

Object

PropertyTypeReq?Description
MultiSigLegacyMultiSigLegacyYes

Object

PropertyTypeReq?Description
SignatureSignatureYes

Object

PropertyTypeReq?Description
ZkLoginAuthenticatorZkLoginAuthenticatorYes

Object

PropertyTypeReq?Description
PasskeyAuthenticatorPasskeyAuthenticatorYes
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

PropertyTypeReq?Description
objectIdYesthe ID of the queried object
versionYesthe 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

PropertyTypeReq?Description
MovePackageObjectIDYes

Object

PropertyTypeReq?Description
ImmOrOwnedMoveObjectObjectRefYes

Object

PropertyTypeReq?Description
SharedMoveObjectobjectYes
PropertyTypeReq?Description
idObjectIDYes
initial_shared_versionSequenceNumber2Yes
mutablebooleanNo
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

PropertyTypeReq?Description
argumentsarrayYes
functionstringYes
modulestringYes
packageObjectIdObjectIDYes
typeArgumentsarrayNo
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

PropertyTypeReq?Description
ObjectObjectValueKindYes
Toggle raw JSON
"MoveFunctionArgType":  {
  "oneOf": [
    {
      "type": "string",
      "enum": [
        "Pure"
      ]
    },
    {
      "type": "object",
      "required": [
        "Object"
      ],
      "properties": {
        "Object": {
          "$ref": "#/components/schemas/ObjectValueKind"
        }
      },
      "additionalProperties": false
    }
  ]
}

MoveStruct

Any of

Object

PropertyTypeReq?Description
fieldsobjectYes
Additional propertiesMoveValue
typestringYes

Object

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

Integer<uint32> Minimum: 0

Boolean

String

Object

PropertyTypeReq?Description
idObjectIDYes
MoveValue | null
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

PropertyTypeReq?Description
fieldsobjectYes
Additional propertiesMoveValue
typestringYes
variantstringYes
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

PropertyTypeReq?Description
bitmapintegerYesA bitmap that indicates the position of which public key the signature should be authenticated with.
multisig_pkYesThe public key encoded with each public key with its signature scheme used along with the corresponding weight.
sigsarrayYesThe 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

PropertyTypeReq?Description
bitmapYesA bitmap that indicates the position of which public key the signature should be authenticated with.
multisig_pkYesThe public key encoded with each public key with its signature scheme used along with the corresponding weight.
sigsarrayYesThe 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

PropertyTypeReq?Description
pk_maparrayYesA list of public key and its corresponding weight.
thresholdintegerYesIf 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

PropertyTypeReq?Description
pk_maparrayYesA list of public key and its corresponding weight.
thresholdintegerYesIf 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

PropertyTypeReq?Description
digestObjectDigestYes
modulesarrayYes
packageIdObjectIDYes
typestring enum [ "published" ]Yes
versionSequenceNumberYes

Object

Transfer objects to new address / wrap in another object

PropertyTypeReq?Description
digestObjectDigestYes
objectIdObjectIDYes
objectTypestringYes
recipientOwnerYes
senderSuiAddressYes
typestring enum [ "transferred" ]Yes
versionSequenceNumberYes

Object

Object mutated.

PropertyTypeReq?Description
digestObjectDigestYes
objectIdObjectIDYes
objectTypestringYes
ownerOwnerYes
previousVersionSequenceNumberYes
senderSuiAddressYes
typestring enum [ "mutated" ]Yes
versionSequenceNumberYes

Object

Delete object

PropertyTypeReq?Description
objectIdObjectIDYes
objectTypestringYes
senderSuiAddressYes
typestring enum [ "deleted" ]Yes
versionSequenceNumberYes

Object

Wrapped object

PropertyTypeReq?Description
objectIdObjectIDYes
objectTypestringYes
senderSuiAddressYes
typestring enum [ "wrapped" ]Yes
versionSequenceNumberYes

Object

New object creation

PropertyTypeReq?Description
digestObjectDigestYes
objectIdObjectIDYes
objectTypestringYes
ownerOwnerYes
senderSuiAddressYes
typestring enum [ "created" ]Yes
versionSequenceNumberYes
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

PropertyTypeReq?Description
bcs
RawData | null
NoMove object content or package content in BCS, default to be None unless SuiObjectDataOptions.showBcs is set to true
content
Data | null
NoMove object content or package content, default to be None unless SuiObjectDataOptions.showContent is set to true
digestYesBase64 string representing the object digest
displayNoThe 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>
objectIdObjectIDYes
owner
Owner | null
NoThe owner of this object. Default to be None unless SuiObjectDataOptions.showOwner is set to true
previousTransactionNoThe digest of the transaction that created or last mutated this object. Default to be None unless SuiObjectDataOptions.showPreviousTransaction is set to true
storageRebateNoThe 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.
typestring | nullNoThe type of the object. Default to be None unless SuiObjectDataOptions.showType is set to true
versionYesObject 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

PropertyTypeReq?Description
showBcsbooleanNoWhether to show the content in BCS format. Default to be False
showContentbooleanNoWhether to show the content(i.e., package content or Move struct content) of the object. Default to be False
showDisplaybooleanNoWhether to show the Display metadata of the object for frontend rendering. Default to be False
showOwnerbooleanNoWhether to show the owner of the object. Default to be False
showPreviousTransactionbooleanNoWhether to show the previous transaction digest of the object. Default to be False
showStorageRebatebooleanNoWhether to show the storage rebate of the object. Default to be False
showTypebooleanNoWhether 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"
    }
  }
}

ObjectDigest

Digest
Toggle raw JSON
"ObjectDigest":  {
  "$ref": "#/components/schemas/Digest"
}

ObjectID

Hex
Toggle raw JSON
"ObjectID":  {
  "$ref": "#/components/schemas/Hex"
}

ObjectRead

One of

Object

The object exists and is found with this version

PropertyTypeReq?Description
detailsObjectDataYes
statusstring enum [ "VersionFound" ]Yes

Object

The object does not exist

PropertyTypeReq?Description
detailsObjectIDYes
statusstring enum [ "ObjectNotExists" ]Yes

Object

The object is found to be deleted with this version

PropertyTypeReq?Description
detailsObjectRefYes
statusstring enum [ "ObjectDeleted" ]Yes

Object

The object exists but not found with this version

PropertyTypeReq?Description
detailsarrayYes
statusstring enum [ "VersionNotFound" ]Yes

Object

The asked object version is higher than the latest

PropertyTypeReq?Description
detailsobjectYes
PropertyTypeReq?Description
asked_versionSequenceNumber2Yes
latest_versionSequenceNumber2Yes
object_idObjectIDYes
statusstring 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

PropertyTypeReq?Description
digestYesBase64 string representing the object digest
objectIdYesHex code as string representing the object id
versionYesObject 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

PropertyTypeReq?Description
codestring enum [ "notExists" ]Yes
object_idObjectIDYes

Object

PropertyTypeReq?Description
codestring enum [ "dynamicFieldNotFound" ]Yes
parent_object_idObjectIDYes

Object

PropertyTypeReq?Description
codestring enum [ "deleted" ]Yes
digestYesBase64 string representing the object digest
object_idObjectIDYes
versionYesObject version.

Object

PropertyTypeReq?Description
codestring enum [ "unknown" ]Yes

Object

PropertyTypeReq?Description
codestring enum [ "displayError" ]Yes
errorstringYes
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

PropertyTypeReq?Description
filterNoIf None, no filter will be applied
optionsNoconfig 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

PropertyTypeReq?Description
ownerOwnerYes
referenceObjectRefYes
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.

PropertyTypeReq?Description
AddressOwnerSuiAddressYes

Object

Object is exclusively owned by a single object, and is mutable. The object ID is converted to SuiAddress as SuiAddress is universal.

PropertyTypeReq?Description
ObjectOwnerSuiAddressYes

Object

Object is shared, can be used by any address, and is mutable.

PropertyTypeReq?Description
SharedobjectYes
PropertyTypeReq?Description
initial_shared_versionYesThe version at which the object became shared

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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
nextCursorNo
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
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

PropertyTypeReq?Description
dataarrayYes
hasNextPagebooleanYes
nextCursorNo
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

PropertyTypeReq?Description
authenticator_dataarrayYes`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_jsonstringYes`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

PropertyTypeReq?Description
attributesobjectYes
Additional properties
featureFlagsobjectYes
Additional propertiesboolean
maxSupportedProtocolVersionProtocolVersionYes
minSupportedProtocolVersionProtocolVersionYes
protocolVersionProtocolVersionYes
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

PropertyTypeReq?Description
u16BigInt_for_uint16Yes

Object

PropertyTypeReq?Description
u32BigInt_for_uint32Yes

Object

PropertyTypeReq?Description
u64BigInt_for_uint64Yes

Object

PropertyTypeReq?Description
f64stringYes

Object

PropertyTypeReq?Description
boolstringYes
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_uint64
Toggle raw JSON
"ProtocolVersion":  {
  "$ref": "#/components/schemas/BigInt_for_uint64"
}

PublicKey

One of

Object

PropertyTypeReq?Description
Ed25519Base64Yes

Object

PropertyTypeReq?Description
Secp256k1Base64Yes

Object

PropertyTypeReq?Description
Secp256r1Base64Yes

Object

PropertyTypeReq?Description
ZkLoginZkLoginPublicIdentifierYes

Object

PropertyTypeReq?Description
PasskeyBase64Yes
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

PropertyTypeReq?Description
transferObjectRequestParamsTransferObjectParamsYes

Object

PropertyTypeReq?Description
moveCallRequestParamsMoveCallParamsYes
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

PropertyTypeReq?Description
bcsBytesBase64Yes
dataTypestring enum [ "moveObject" ]Yes
hasPublicTransferbooleanYes
typestringYes
versionSequenceNumber2Yes

Object

PropertyTypeReq?Description
dataTypestring enum [ "package" ]Yes
idObjectIDYes
linkageTableobjectYes
Additional propertiesUpgradeInfo
moduleMapobjectYes
Additional propertiesBase64
typeOriginTablearrayYes
versionSequenceNumber2Yes
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

Base64
Toggle raw JSON
"Secp256k1SuiSignature":  {
  "$ref": "#/components/schemas/Base64"
}

Secp256r1SuiSignature

Base64
Toggle raw JSON
"Secp256r1SuiSignature":  {
  "$ref": "#/components/schemas/Base64"
}

SequenceNumber

Integer

Toggle raw JSON
"SequenceNumber":  {
  "type": "integer",
  "format": "uint64",
  "minimum": 0
}

SequenceNumber2

BigInt_for_uint64
Toggle raw JSON
"SequenceNumber2":  {
  "$ref": "#/components/schemas/BigInt_for_uint64"
}

Signature

One of

Object

PropertyTypeReq?Description
Ed25519SuiSignatureEd25519SuiSignatureYes

Object

PropertyTypeReq?Description
Secp256k1SuiSignatureSecp256k1SuiSignatureYes

Object

PropertyTypeReq?Description
Secp256r1SuiSignatureSecp256r1SuiSignatureYes
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

PropertyTypeReq?Description
principalBigInt_for_uint64Yes
stakeActiveEpochBigInt_for_uint64Yes
stakeRequestEpochBigInt_for_uint64Yes
stakedSuiIdYesID of the StakedSui receipt object.

One of

Object

PropertyTypeReq?Description
statusstring enum [ "Pending" ]Yes

Object

PropertyTypeReq?Description
estimatedRewardBigInt_for_uint64Yes
statusstring enum [ "Active" ]Yes

Object

PropertyTypeReq?Description
statusstring 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

PropertyTypeReq?Description
epochBigInt_for_uint64Yes
jwkSuiJWKYes
jwk_idSuiJwkIdYes
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"
    }
  }
}

SuiAddress

Hex
Toggle raw JSON
"SuiAddress":  {
  "$ref": "#/components/schemas/Hex"
}

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)

PropertyTypeReq?Description
InputintegerYes

Object

The result of another transaction (from ProgrammableTransactionBlock transactions)

PropertyTypeReq?Description
ResultintegerYes

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.

PropertyTypeReq?Description
NestedResultarrayYes
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

PropertyTypeReq?Description
min_epochBigInt_for_uint64Yes
Toggle raw JSON
"SuiAuthenticatorStateExpire":  {
  "type": "object",
  "required": [
    "min_epoch"
  ],
  "properties": {
    "min_epoch": {
      "$ref": "#/components/schemas/BigInt_for_uint64"
    }
  }
}

SuiCallArg

One of

Object

PropertyTypeReq?Description
typestring enum [ "object" ]Yes

Object

PropertyTypeReq?Description
typestring enum [ "pure" ]Yes
valueSuiJsonValueYes
valueTypestring | nullNo
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

PropertyTypeReq?Description
computation_chargeBigInt_for_uint64Yes
epochBigInt_for_uint64Yes
epoch_start_timestamp_msBigInt_for_uint64Yes
storage_chargeBigInt_for_uint64Yes
storage_rebateBigInt_for_uint64Yes
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

PropertyTypeReq?Description
decimalsintegerYesNumber of decimal places the coin uses.
descriptionstringYesDescription of the token
iconUrlstring | nullNoURL for the token logo
id
ObjectID | null
NoObject id for the CoinMetadata object
namestringYesName for the token
symbolstringYesSymbol 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

PropertyTypeReq?Description
ChangeEpochSuiChangeEpochYes

Object

PropertyTypeReq?Description
AuthenticatorStateExpireSuiAuthenticatorStateExpireYes

Object

PropertyTypeReq?Description
BridgeStateCreateCheckpointDigestYes

Object

PropertyTypeReq?Description
BridgeCommitteeUpdateSequenceNumber2Yes
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

PropertyTypeReq?Description
mutableReferenceOutputsarrayNoThe value of any arguments that were mutably borrowed. Non-mut borrowed values are not included
returnValuesarrayNoThe 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

PropertyTypeReq?Description
algstringYes
estringYes
ktystringYes
nstringYes
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

PropertyTypeReq?Description
issstringYes
kidstringYes
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

PropertyTypeReq?Description
abilitiesarrayYes
Toggle raw JSON
"SuiMoveAbilitySet":  {
  "type": "object",
  "required": [
    "abilities"
  ],
  "properties": {
    "abilities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuiMoveAbility"
      }
    }
  }
}

SuiMoveModuleId

Object

PropertyTypeReq?Description
addressstringYes
namestringYes
Toggle raw JSON
"SuiMoveModuleId":  {
  "type": "object",
  "required": [
    "address",
    "name"
  ],
  "properties": {
    "address": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  }
}

SuiMoveNormalizedField

Object

PropertyTypeReq?Description
namestringYes
typeSuiMoveNormalizedTypeYes
Toggle raw JSON
"SuiMoveNormalizedField":  {
  "type": "object",
  "required": [
    "name",
    "type"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "$ref": "#/components/schemas/SuiMoveNormalizedType"
    }
  }
}

SuiMoveNormalizedFunction

Object

PropertyTypeReq?Description
isEntrybooleanYes
parametersarrayYes
returnarrayYes
typeParametersarrayYes
visibilitySuiMoveVisibilityYes
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

PropertyTypeReq?Description
addressstringYes
exposedFunctionsobjectYes
Additional propertiesSuiMoveNormalizedFunction
fileFormatVersionintegerYes
friendsarrayYes
namestringYes
structsobjectYes
Additional propertiesSuiMoveNormalizedStruct
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

PropertyTypeReq?Description
abilitiesSuiMoveAbilitySetYes
fieldsarrayYes
typeParametersarrayYes
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

PropertyTypeReq?Description
StructobjectYes
PropertyTypeReq?Description
addressstringYes
modulestringYes
namestringYes
typeArgumentsarrayYes

Object

PropertyTypeReq?Description
VectorSuiMoveNormalizedTypeYes

Object

PropertyTypeReq?Description
TypeParameterintegerYes

Object

PropertyTypeReq?Description
ReferenceSuiMoveNormalizedTypeYes

Object

PropertyTypeReq?Description
MutableReferenceSuiMoveNormalizedTypeYes
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

PropertyTypeReq?Description
constraintsSuiMoveAbilitySetYes
isPhantombooleanYes
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

PropertyTypeReq?Description
MatchAllarrayYes

Object

PropertyTypeReq?Description
MatchAnyarrayYes

Object

PropertyTypeReq?Description
MatchNonearrayYes

Object

Query by type a specified Package.

PropertyTypeReq?Description
PackageObjectIDYes

Object

Query by type a specified Move module.

PropertyTypeReq?Description
MoveModuleobjectYes
PropertyTypeReq?Description
modulestringYesthe module name
packageYesthe Move package ID

Object

Query by type

PropertyTypeReq?Description
StructTypestringYes

Object

PropertyTypeReq?Description
AddressOwnerSuiAddressYes

Object

PropertyTypeReq?Description
ObjectOwnerObjectIDYes

Object

PropertyTypeReq?Description
ObjectIdObjectIDYes

Object

PropertyTypeReq?Description
ObjectIdsarrayYes

Object

PropertyTypeReq?Description
VersionBigInt_for_uint64Yes
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

PropertyTypeReq?Description
data
ObjectData | null
No
errorNo
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

PropertyTypeReq?Description
argumentsarrayNoThe arguments to the function.
functionstringYesThe function to be called.
modulestringYesThe specific module in the package containing the function.
packageYesThe package containing the module and function.
type_argumentsarrayNoThe 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

PropertyTypeReq?Description
activeValidatorsarrayYesThe list of active validators in the current epoch.
atRiskValidatorsarrayYesMap storing the number of epochs for which each validator has been below the low stake threshold.
epochYesThe current epoch ID, starting from 0.
epochDurationMsYesThe duration of an epoch, in milliseconds.
epochStartTimestampMsYesUnix timestamp of the current epoch start
inactivePoolsIdYesID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.
inactivePoolsSizeYesNumber of inactive staking pools.
maxValidatorCountYesMaximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
minValidatorJoiningStakeYesLower-bound on the amount of stake required to become a validator.
pendingActiveValidatorsIdYesID of the object that contains the list of new validators that will join at the end of the epoch.
pendingActiveValidatorsSizeYesNumber of new validators that will join at the end of the epoch.
pendingRemovalsarrayYesRemoval requests from the validators. Each element is an index pointing to `active_validators`.
protocolVersionYesThe current protocol version, starting from 1.
referenceGasPriceYesThe reference gas price for the current epoch.
safeModebooleanYesWhether 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.
safeModeComputationRewardsYesAmount of computation rewards accumulated (and not yet distributed) during safe mode.
safeModeNonRefundableStorageFeeYesAmount of non-refundable storage fee accumulated during safe mode.
safeModeStorageRebatesYesAmount of storage rebates accumulated (and not yet burned) during safe mode.
safeModeStorageRewardsYesAmount of storage rewards accumulated (and not yet distributed) during safe mode.
stakeSubsidyBalanceYesBalance of SUI set aside for stake subsidies that will be drawn down over time.
stakeSubsidyCurrentDistributionAmountYesThe amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.
stakeSubsidyDecreaseRateintegerYesThe rate at which the distribution amount decays at the end of each period. Expressed in basis points.
stakeSubsidyDistributionCounterYesThis counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.
stakeSubsidyPeriodLengthYesNumber of distributions to occur before the distribution amount decays.
stakeSubsidyStartEpochYesThe starting epoch in which stake subsidies start being paid out
stakingPoolMappingsIdYesID of the object that maps from staking pool's ID to the sui address of a validator.
stakingPoolMappingsSizeYesNumber of staking pool mappings.
storageFundNonRefundableBalanceYesThe non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.
storageFundTotalObjectStorageRebatesYesThe storage rebates of all the objects on-chain stored in the storage fund.
systemStateVersionYesThe current version of the system state data structure type.
totalStakeYesTotal amount of stake from all active validators at the beginning of the epoch.
validatorCandidatesIdYesID of the object that stores preactive validators, mapping their addresses to their `Validator` structs.
validatorCandidatesSizeYesNumber of preactive validators.
validatorLowStakeGracePeriodYesA validator can have stake below `validator_low_stake_threshold` for this many epochs before being kicked out.
validatorLowStakeThresholdYesValidators 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.
validatorReportRecordsarrayYesA map storing the records of validator reporting each other.
validatorVeryLowStakeThresholdYesValidators 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