Sui

Sui #

Sui is the first permissionless Layer 1 blockchain designed from the ground up to enable creators and developers to build experiences that cater to the next billion users in Web3. Sui is horizontally scalable to support a wide range of application development with unrivaled speed at low cost.

In order for your Web3 application to interact with Sui — either by reading blockchain data or sending transactions to the network — it must connect to a Sui node. Developers interact with the blockchain using the methods provided by the API.

The API interaction follows the JSON-RPC which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format.


Methods supported #


sui_devInspectTransactionBlock #

Runs the transaction in dev-inspect mode.

This mode 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <sender_address>: Sui address.
    • <tx_bytes> (Base64): a BCS encoded TransactionKind (as opposed to TransactionData, which include gasBudget and gasPrice).
    • <gas_price> (string): gas is not charged, but gas usage is still calculated. Defaults to using a reference gas price.
    • <epoch> (string): the epoch to perform the call. Will be set from the system state object if not provided.

Returns #

  • effects (TransactionBlockEffects): the 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 to generate these effects from a normal transaction.
  • error (string, null): an execution error from executing the transactions.
  • events (Event): events that likely would be generated if the transaction is actually run.
  • results (SuiExecutionResult): execution results (including return values) from executing the transactions.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "sui_devInspectTransactionBlock",
      "params": [
        "0xd70420418b84502e506794227f897237764dde8d79a01ab2104bf742a277a2ab",
        "AAACACBnxtMcbJcOVn8D72fYEaT4Q2ZbjePygvpIs+AQO6m77QEAagYVO5/EhuEB8OnicDrIZm0GrsxN3355JqNhlwxlpbECAAAAAAAAACDoQ3EipycU+/EOvBcDPFtMkZiSbdzWAw3CwdmQCAtBWAEBAQEBAAEAAC9cVD1xauQ9RT3rOxmbva8bxwMMdoL4dwPc5DEkj+3gASxDgF0Nb1QCp60Npb3sVJx83qBrxKHTOaIlIe6pM7iJAgAAAAAAAAAgnvsgc1pPauyCE27/c+aBnHN3fSsxRAWdEJYzYFOryNAvXFQ9cWrkPUU96zsZm72vG8cDDHaC+HcD3OQxJI/t4AoAAAAAAAAAAC0xAQAAAAAA",
        "1000",
        "8888"
      ]
}'

Response example #

{
  "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": []
  }
}

sui_dryRunTransactionBlock #

Retrieves transaction execution effects including the gas cost summary, while the effects are not committed to the chain.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <tx_bytes> (Base64): a BCS encoded TransactionKind (as opposed to TransactionData, which include gasBudget and gasPrice).

Returns #

  • balanceChanges: balance change.
  • effects: transaction block effects.
  • events: an event.
  • input: transaction block data.
  • objectChanges: object change.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "sui_dryRunTransactionBlock",
      "params": [
        "AAACACB7qR3cfnF89wjJNwYPBASHNuwz+xdG2Zml5YzVxnftgAEAT4LxyFh7mNZMAL+0bDhDvYv2zPp8ZahhOGmM0f3Kw9wCAAAAAAAAACCxDABG4pPAjOwPQHg9msS/SrtNf4IGR/2F0ZGD3ufH/wEBAQEBAAEAAGH7tbTzQqQL2/h/5KlGueONGM+P/HsAALl1F1x7apV2AejYx86GPzE9o9vZKoPvJtEouI/ma/JuDg0Jza9yfR2EAgAAAAAAAAAgzMqpegLMOpgEFnDhYJ23FOmFjJbp5GmFXxzzv9+X6GVh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgoAAAAAAAAAAC0xAQAAAAAA"
      ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "Gm54bTY5F9KjiCw3kfKpkXPaEE3kx8ToJkYqTsuQDZ7q",
    "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": "20000000"
        }
      },
      "txSignatures": [
        "AGLsaLe6fSvGG/YgrxirjhKqE21kVCcveOW9h0IiCZ1Ei/oAOmu95EnKjoBhLHcS2/2Ga2Ljw0BVnGrY6reYkwVDij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAge6kd3H5xfPcIyTcGDwQEhzbsM/sXRtmZpeWM1cZ37YABAE+C8chYe5jWTAC/tGw4Q72L9sz6fGWoYThpjNH9ysPcAgAAAAAAAAAgsQwARuKTwIzsD0B4PZrEv0q7TX+CBkf9hdGRg97nx/8BAQEBAQABAABh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgHo2MfOhj8xPaPb2SqD7ybRKLiP5mvybg4NCc2vcn0dhAIAAAAAAAAAIMzKqXoCzDqYBBZw4WCdtxTphYyW6eRphV8c87/fl+hlYfu1tPNCpAvb+H/kqUa5440Yz4/8ewAAuXUXXHtqlXYKAAAAAAAAAAAtMQEAAAAAAAFhAGLsaLe6fSvGG/YgrxirjhKqE21kVCcveOW9h0IiCZ1Ei/oAOmu95EnKjoBhLHcS2/2Ga2Ljw0BVnGrY6reYkwVDij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ==",
    "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"
      }
    ]
  }
}

sui_executeTransactionBlock #

Executes 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 indicate the case. request_type is default to be WaitForEffectsCert unless options.show_events or options.show_effects is true.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <tx_bytes> (Base64): a BCS encoded TransactionKind (as opposed to TransactionData, which include gasBudget and gasPrice).
    • <signatures> (Base64): 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): options for specifying the content to be returned.
    • <request_type> (ExecuteTransactionRequestType): a request type, derived from SuiTransactionBlockResponseOptions if None.

Returns #

  • <SuiTransactionBlockResponse>

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_executeTransactionBlock",
  "params": [
    "AAACACBqEB6aOvXIBwES+Ahkizbvv43uihqC3kbZUE6WoRCKFwEAjvdvVsOZYzousxC8qRJOXy84znOeqsu2YAaIgE4HhEgCAAAAAAAAACB9w3+ufZMpihJFwxtCBojBaGy00TVtFxgN2C6TpIPFqwEBAQEBAAEAAAS0l6kWtGVmCaf6gnoJGE1vR2gdO6dM4NejbGSysfiHAZ+Q9/hmzCnfsdpjc86U+dldylpA9OF2mRjuv5+64AvTAgAAAAAAAAAgjleHL0UiRGjh/BfIFHCJ3EMY/dQA22c2TvNQyVJnbYUEtJepFrRlZgmn+oJ6CRhNb0doHTunTODXo2xksrH4hwoAAAAAAAAAAC0xAQAAAAAA",
    [
      "AEZc4UMAoxzWtp+i1dvyOgmy+Eeb/5ZNwO5dpHBqX5Rt36+HhYnBby8asFU4b0i7TjQZGgLahT8w3NQUfk0NUQnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
    ],
    {
      "showInput": true,
      "showRawInput": true,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": true,
      "showBalanceChanges": true
    },
    "WaitForLocalExecution"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "BgSFSEFYbCrVUJJtHFeoLmLJi8jDf1CpC2o8S33HjeDJ",
    "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": "20000000"
        }
      },
      "txSignatures": [
        "AEZc4UMAoxzWtp+i1dvyOgmy+Eeb/5ZNwO5dpHBqX5Rt36+HhYnBby8asFU4b0i7TjQZGgLahT8w3NQUfk0NUQnqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAgahAemjr1yAcBEvgIZIs277+N7ooagt5G2VBOlqEQihcBAI73b1bDmWM6LrMQvKkSTl8vOM5znqrLtmAGiIBOB4RIAgAAAAAAAAAgfcN/rn2TKYoSRcMbQgaIwWhstNE1bRcYDdguk6SDxasBAQEBAQABAAAEtJepFrRlZgmn+oJ6CRhNb0doHTunTODXo2xksrH4hwGfkPf4Zswp37HaY3POlPnZXcpaQPThdpkY7r+fuuAL0wIAAAAAAAAAII5Xhy9FIkRo4fwXyBRwidxDGP3UANtnNk7zUMlSZ22FBLSXqRa0ZWYJp/qCegkYTW9HaB07p0zg16NsZLKx+IcKAAAAAAAAAAAtMQEAAAAAAAFhAEZc4UMAoxzWtp+i1dvyOgmy+Eeb/5ZNwO5dpHBqX5Rt36+HhYnBby8asFU4b0i7TjQZGgLahT8w3NQUfk0NUQnqvbuA0Q1Bqu4RHV3JPpqmH+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"
      }
    ]
  }
}

sui_getChainIdentifier #

Retrieves the chain’s identifier.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none.

Returns #

A string identifier of a chain.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getChainIdentifier",
  "params": []
}'

Response example #

{
    "jsonrpc": "2.0",
    "result": "4c78adac",
    "id": 1
}

sui_getCheckpoint #

Retrieves a checkpoint.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <id>: checkpoint identifier, can use either checkpoint digest, or checkpoint sequence number as input.

Returns #

  • checkpointCommitments: commitments to checkpoint state.
  • digest: checkpoint digest.
  • endOfEpochData: to be present only on the final checkpoint of the epoch.
  • epoch: checkpoint’s epoch ID.
  • epochRollingGasCostSummary: the running total gas costs of all transactions included in the current epoch so far until this checkpoint.
  • networkTotalTransactions: total number of transactions committed since genesis, including those in this checkpoint.
  • previousDigest: digest of the previous checkpoint.
  • sequenceNumber: checkpoint sequence number.
  • timestampMs: 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: transaction digests.
  • validatorSignature: validator Signature.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getCheckpoint",
  "params": [
    "1000"
  ]
}'

Response example #

{
  "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"
  }
}

sui_getCheckpoints #

Retrieves a paginated list of checkpoints.

Gets a paginated list of all checkpoints starting at the provided cursor organised in descending order. Each result page has a maximum number of checkpoints set by the provided limit.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <cursor> (BigInt_for_uint64): an optional paging cursor. If provided, the query will start from the next item after the specified cursor. By default, starts from the first item.
    • <limit> (uint): the maximum items returned per page; defaults to [QUERY_MAX_RESULT_LIMIT_CHECKPOINTS] if not specified.
    • <descending_order> (boolean): query result ordering, default to false (ascending order), oldest record first.

Returns #

  • CheckpointPage

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getCheckpoints",
  "params": [
    "1004",
    4,
    false
  ]
}'

Response example #

{
  "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
  }
}

sui_getEvents #

Retrieves transaction events.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <transaction_digest> (string): the event query criteria.

Returns #

  • Vec<SuiEvent>: a Sui event.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getEvents",
  "params": [
    "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX"
  ]
}'

Response example #

{
  "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
  }
}

sui_getLatestCheckpointSequenceNumber #

Retrieves the sequence number of the latest checkpoint that has been executed.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none.

Returns #

  • BigInt<u64>: the sequence number for the latest checkpoint.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getLatestCheckpointSequenceNumber",
  "params": []
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": "507021"
}

sui_getLoadedChildObjects #

Retrieves loaded child objects.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <digest>: transaction digest.

Returns #

  • <SuiLoadedChildObjectsResponse>: loaded child objects associated with the transaction the request provides.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getLoadedChildObjects",
  "params": [
    "6hpz6Qxv6t5VkNT5rcBKQS2Jootr6WHuSuRMLmmN13Jg"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "loadedChildObjects": [
      {
        "objectId": "0xb6a23efeb7298cf0a8d0b837b78749c2cfc711c42036cc6b76211639f3606a53",
        "sequenceNumber": "2462820"
      },
      {
        "objectId": "0xf61f3a566963b3eac49fe3bb57d304a454ed2f4859b44f4e49180047d5fa0a82",
        "sequenceNumber": "2462820"
      },
      {
        "objectId": "0xd55c32b09995a0ae1eedfee9c7b1354e805ed10ee3d0800105867da4655eca6d",
        "sequenceNumber": "2164186"
      },
      {
        "objectId": "0x258bfd1ad92af329a07781ee71e60065e00f2de961630d3505f8905a0f4d42c6",
        "sequenceNumber": "3350147"
      },
      {
        "objectId": "0xa78a6ba2b28f68a3299ec3417bbabc6717dcc95b9e341bc3aba1654bdbad707d",
        "sequenceNumber": "3560717"
      },
      {
        "objectId": "0xcd773bd6309363447ef3fe58a960de92aa9377b3482580ee8d5bdc5b824808df",
        "sequenceNumber": "3560717"
      }
    ]
  }
}

sui_getMoveFunctionArgTypes #

Retrieves the argument types of a Move function, based on normalized Type.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <package>: an object ID.
    • <module> (string)
    • function (string)

Returns #

  • Vec<MoveFunctionArgType>: the argument types for the package and function the request provides.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getMoveFunctionArgTypes",
  "params": [
    "0x007efb0f94f1e64d2e8090c619a39299d87ee8070b5f56bb10bafa0e2261d819",
    "suifrens",
    "mint"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": [
    {
      "Object": "ByMutableReference"
    },
    "Pure",
    "Pure",
    {
      "Object": "ByValue"
    },
    {
      "Object": "ByImmutableReference"
    },
    {
      "Object": "ByValue"
    },
    {
      "Object": "ByMutableReference"
    }
  ]
}

sui_getNormalizedMoveFunction #

Retrieves a structured representation of Move function.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <package>: an object ID.
    • <module_name> (string)
    • function_name (string)

Returns #

  • SuiMoveNormalizedFunction:
    • isEntry
    • parameters: Sui Move normalized type.
    • return : Sui Move normalized type.
    • typeParameters : Sui Move ability set.
    • visibility : Sui Move visibility.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getNormalizedMoveFunction",
  "params": [
    "0xb2582f82ab308bf9c96dfb22ec7345db1b5f14fdb2b9538efb160d31842e3a17",
    "moduleName",
    "functionName"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "visibility": "Public",
    "isEntry": false,
    "typeParameters": [
      {
        "abilities": [
          "Store",
          "Key"
        ]
      }
    ],
    "parameters": [
      "U64"
    ],
    "return": [
      "U64"
    ]
  }
}

sui_getNormalizedMoveModule #

Retrieves a structured representation of Move module.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <package>: an object ID.
    • <module_name> (string)

Returns #

  • SuiMoveNormalizedModule:
    • address
    • exposedFunctions
    • fileFormatVersion
    • friends: Sui Move module ID.
    • name
    • structs

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getNormalizedMoveModule",
  "params": [
    "0x16dc6797cf787c839a07edc03e633842109123618df6438d21a48040e6bb568c",
    "module"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "fileFormatVersion": 6,
    "address": "0x43cc4c24010dafad05b12619b275649741cc9060d87664c26a3f9a509228c21b",
    "name": "module",
    "friends": [],
    "structs": {},
    "exposedFunctions": {}
  }
}

sui_getNormalizedMoveModulesByPackage #

Retrieves structured representations of all modules in the given package.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <package>: an object ID.

Returns #

  • BTreeMap<String,SuiMoveNormalizedModule>: structured representations of all the modules for the package in the request.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getNormalizedMoveModulesByPackage",
  "params": [
    "0xece356d10d89e75f565b0934851ba8d5bc59462a46078b90f1f508a1e4fd4eed"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "fileFormatVersion": 6,
    "address": "0xafc13246bd847c60448160e0358cac4a11345594d02890c986dbf328d28d21ac",
    "name": "module",
    "friends": [],
    "structs": {},
    "exposedFunctions": {}
  }
}

sui_getNormalizedMoveStruct #

Retrieves a structured representation of Move struct.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <package>: an object ID.
    • <module_name> (string): a module name.
    • <struct_name> (string): a struct name.

Returns #

  • abilities: Sui Move ability set.
  • fields: Sui Move normalized field.
  • typeParameters: Sui Move struct type parameter

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getNormalizedMoveStruct",
  "params": [
    "0x46c25c211cb35c05d801c769b78770474957b37379c527753c5c8ab783f697e7",
    "module",
    "StructName"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "abilities": {
      "abilities": [
        "Store",
        "Key"
      ]
    },
    "typeParameters": [],
    "fields": []
  }
}

sui_getObject #

Retrieves the object information for a specified object.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <object_id>: the ID of the queried object.
    • <options> (array of boolean): specifies the object info to show.

Returns #

  • <data>: object data.
  • <error>: object response error.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "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 example #

{
  "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"
          }
        }
      }
    }
  }
}

sui_getProtocolConfig #

Retrieves 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <version> (BigInt_for_uint64; optional): protocol version specifier. If omitted, the latest protocol config table for the node will be returned.

Returns #

  • ProtocolConfigResponse: 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 example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getProtocolConfig",
  "params": [
    6
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "minSupportedProtocolVersion": "1",
    "maxSupportedProtocolVersion": "12",
    "protocolVersion": "6",
    "featureFlags": {
      "advance_epoch_start_time_in_safe_mode": true,
      "advance_to_highest_supported_protocol_version": false,
      "ban_entry_init": false,
      "commit_root_state_digest": false,
      "consensus_order_end_of_epoch_last": true,
      "disable_invariant_violation_check_in_swap_loc": false,
      "disallow_adding_abilities_on_upgrade": false,
      "disallow_change_struct_type_params_on_upgrade": false,
      "loaded_child_objects_fixed": true,
      "missing_type_is_compatibility_error": true,
      "no_extraneous_module_bytes": false,
      "package_digest_hash_module": false,
      "package_upgrades": true,
      "scoring_decision_with_validity_cutoff": true
    },
    "attributes": {
    }
  }
}

sui_getTotalTransactionBlocks #

Retrieves the total number of transactions known to the server.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none.

Returns #

  • BigInt<u64>: total number of transactions on the network.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getTotalTransactionBlocks",
  "params": []
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": "2451485"
}

sui_getTransactionBlock #

Retrieves the transaction response object.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <digest>: the digest of the queried transaction.
    • <options>: options for specifying the content to be returned.

Returns #

  • <SuiTransactionBlockResponse>: the transaction response object for specified transaction digest.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getTransactionBlock",
  "params": [
    "oKtFZjL99EZ2K3TLPRarpZN8gz9xReMkiNf4Tjja2no",
    {
      "showInput": true,
      "showRawInput": false,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": false,
      "showBalanceChanges": false
    }
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "oKtFZjL99EZ2K3TLPRarpZN8gz9xReMkiNf4Tjja2no",
    "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": "20000000"
        }
      },
      "txSignatures": [
        "ABTTP4JUSxqOQTlysdS30HzkMc3DOwJqlBJstqn2EwW0SKtvoGIoxFEbmTqIS+UYSemveVGJ+S6BijQQVS97cwxtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAggZbQSLem0EyO3IlXnYb9P8kMUvmhTGuBK5T+YTxbzrsBAF7rHUSeJRYWbVfXH96xVNDcns23swBX0KkyaEysNSzcAgAAAAAAAAAg43+UGkUe+CCaD7+/G1SbK7Jrjq7giJUUbfJ7w88mEMEBAQEBAQABAACCF5xX1Ylbq/tlXNYujohqUzNLXnvpvmWOt1nMNeP8ZgEaPomAKdAk7sHUTGr14vrN7YTQO1NzUU8W49ZuAAgQUQIAAAAAAAAAIGS7c6HtWLLBiwy/N3eS4gbmuA1NXupk4ucFY7FYkCbEghecV9WJW6v7ZVzWLo6IalMzS1576b5ljrdZzDXj/GYKAAAAAAAAAAAtMQEAAAAAAAFhABTTP4JUSxqOQTlysdS30HzkMc3DOwJqlBJstqn2EwW0SKtvoGIoxFEbmTqIS+UYSemveVGJ+S6BijQQVS97cwxtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA==",
    "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"
      }
    ]
  }
}

sui_multiGetObjects #

Retrieves the object data for a list of objects.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <object_ids>: the IDs of the queried objects.
    • <options>: options for specifying the content to be returned.

Returns #

  • Vec<SuiObjectResponse>: Sui object response.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_multiGetObjects",
  "params": [
    [
      "0xb61439368cd75ebe63d633af32ffb4a022d18b95b4eaa9fd3b22b43f6b2c8e92",
      "0x6ea7bed8f6c3d80f2a595c2305e12dd6d07c3fbbd3ebef7dbcc7b02346cdf056",
      "0x75da5e934f672d3da3e003d989075efaecc79b5cd5df0df2a168259b7115a41c",
      "0x38554a9ff7b4f6b59f9426c321c8013afed093481dd4ef1267c67a8e9a0d074f",
      "0xe74d1b250d5df2cb5170782a8a438fbf681eded4d1e0a2cd7dfb27e784493fb1"
    ],
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": [
    {
      "data": {
        "objectId": "0xb61439368cd75ebe63d633af32ffb4a022d18b95b4eaa9fd3b22b43f6b2c8e92",
        "version": "1",
        "digest": "6D2MGzZN1DnALrbg6y9nQWwuipCa6fJERLXAwNGuGtKQ",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0x090bd6d16522a6fd4fa83ec70a5f197ad656da104dde1de9880be827a1a753e5"
        },
        "previousTransaction": "CQN1aMpZRYrVHByFfPFceCXzv5kT7bNM4Uzoe2jbZvM",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0xb61439368cd75ebe63d633af32ffb4a022d18b95b4eaa9fd3b22b43f6b2c8e92"
            }
          }
        }
      }
    }
  ]
}

sui_multiGetTransactionBlocks #

Retrieves 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <digests>: a list of transaction digests.
    • <options>: config options to control which fields to fetch.

Returns #

  • Vec<SuiTransactionBlockResponse>: the transaction data for specified digest.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_multiGetTransactionBlocks",
  "params": [
    [
      "Gd2vRA1pRwWu8j7KQe6fzHS4mMChq1JHJpi9KGnVJMtV",
      "73FjSYzymaz1UWPu4bMW191cyxSxziKXJm2MyTQMjeur",
      "7TxdfBqwTPYgG4hztwiQdeQcdWgeqpZKF7EJpyjDojFd"
    ],
    {
      "showInput": true,
      "showRawInput": false,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": false,
      "showBalanceChanges": false
    }
  ]
}'

sui_tryGetPastObject #

Retrieves the object information for a specified version.

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.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <object_id>: a list of transaction digests.
    • <version> (sequence number): the version of the queried object. If None, default to the latest known version.
    • <options>: options for specifying the content to be returned.

Returns #

  • SuiPastObjectResponse: past object data.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "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 example #

{
  "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"
          }
        }
      }
    }
  }
}

sui_tryMultiGetPastObjects #

Retrieves the object information for a specified version.

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.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <past_objects>: a vector of object and versions to be queried.
    • <options>: options for specifying the content to be returned.

Returns #

  • SuiPastObjectResponse: past object data.

suix_getAllBalances #

Retrieves the total coin balance for all coin types owned by the address owner.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <owner>: the owner’s Sui address.

Returns #

  • Vec<Balance>: all balances for the address in the request.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getAllBalances",
  "params": [
    "0x94f1a597b4e8f709a396f7f6b1482bdcd65a673d111e49286c527fab7c2d0961"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": [
    {
      "coinType": "0x2::sui::SUI",
      "coinObjectCount": 15,
      "totalBalance": "3000000000",
      "lockedBalance": {}
    }
  ]
}

suix_getAllCoins #

Retrieves all Coin objects owned by an address.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <owner>: the owner’s Sui address.
    • cursor (optional): a page cursor.
    • limit (uint): max number of items per page.

Returns #

  • CoinPage: all coins for the address in the request body.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getAllCoins",
  "params": [
    "0x41f5975e3c6bd5c95f041a8493ad7e9934be26e69152d2c2e86d8a9bdbd242b3",
    "0x2564cd31a71cf9833609b111436d8f0f47b7f8b9927ec3f8975a1dcbf9b25564",
    3
  ]
}'

Response example #

{
  "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
  }
}

suix_getBalance #

Retrieves the total coin balance for one coin type owned by the address owner.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <owner>: the owner’s Sui address.
    • <coin_type> (string, optional): type names for the coin (example 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), defaults to 0x2::sui::SUI if not specified.

Returns #

  • coinObjectCount
  • coinType
  • lockedBalance
  • totalBalance

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getBalance",
  "params": [
    "0x51ceab2edc89f74730e683ebee65578cb3bc9237ba6fca019438a9737cf156ae",
    "0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "coinType": "0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC",
    "coinObjectCount": 15,
    "totalBalance": "15",
    "lockedBalance": {}
  }
}

suix_getCoinMetadata #

Retrieves metadata (as symbol or decimals) for a coin.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <coin_type> (string): type names for the coin (example 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC).

Returns #

  • decimals: the number of decimal places the coin uses.
  • description: token description.
  • iconUrl: URL for the token logo.
  • id: an object ID for the CoinMetadata object.
  • name: a token name.
  • symbol: a token symbol.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "result": {
    "id": {
      "id": "0x6d907beaa3a49db57bdfdb3557e6d405cbf01c293a53e01457d65e92b5d8dd68"
    },
    "decimals": 9,
    "name": "Usdc",
    "symbol": "USDC",
    "description": "Stable coin.",
    "icon_url": null
  }
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "id": {
      "id": "0x6d907beaa3a49db57bdfdb3557e6d405cbf01c293a53e01457d65e92b5d8dd68"
    },
    "decimals": 9,
    "name": "Usdc",
    "symbol": "USDC",
    "description": "Stable coin.",
    "icon_url": null
  }
}

suix_getCoins #

Retrieves all coin type objects owned by an address.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <owner>: the owner’s Sui address.
    • <coin_type> (string): type names for the coin (example 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), defaults to 0x2::sui::SUI if not specified.
    • <cursor> (optional): a page cursor.
    • <limit> (uint): max number of items per page.

Returns #

  • CoinPage: all SUI coins owned by the address provided.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getCoins",
  "params": [
    "0xd62ca040aba24f862a763851c54908cd2a0ee7d709c11b93d4a2083747b76856",
    "0x2::sui::SUI",
    "0xe5c651321915b06c81838c2e370109b554a448a78d3a56220f798398dde66eab",
    3
  ]
}'

Response example #

{
  "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
  }
}

suix_getCommitteeInfo #

Retrieves the committee information for the epoch specified.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <epoch> (BigInt_for_uint64): the epoch of interest. If None, default to the latest epoch.

Returns #

  • SuiCommittee: committee information.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getCommitteeInfo",
  "params": [
    "5000"
  ]
}'

Response example #

{
  "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"
      ]
    ]
  }
}

suix_getDynamicFieldObject #

Retrieves the dynamic field object information for a specified object.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <parent_object_id>: the ID of the queried parent object.
    • <name>: the name of the dynamic field.

Returns #

  • data: object data.
  • error: object response error.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getDynamicFieldObject",
  "params": [
    "0xc8359b6b5e3bfeab524e5edaad3a204b4053745b2d45d1f00cd8d24e5b697607",
    {
      "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
      "value": "some_value"
    }
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "data": {
      "objectId": "0xc8359b6b5e3bfeab524e5edaad3a204b4053745b2d45d1f00cd8d24e5b697607",
      "version": "1",
      "digest": "2VivvkBoFVwEg8oXq3tK9r3d3ybvMACtk9QwpFnkM6v2",
      "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
      "owner": {
        "AddressOwner": "0xc055d5c23e2f6c69e6aacf5b4664b570cb20d4feace07fc863a2eef286c3e95e"
      },
      "previousTransaction": "FJjAr8fdpuQvVZgd9VswXxz9jZcFGEAgKgdi8d6zXE3S",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
        "hasPublicTransfer": true,
        "fields": {}
      }
    }
  }
}

suix_getDynamicFields #

Retrieves the list of dynamic field objects owned by an object.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <parent_object_id> (string, hex): the ID of the parent object.
    • <cursor> (optional): a page cursor. If provided, the query will start from the next item after the specified cursor. Defaults to start from the first item if not specified.
    • <limit> (uint): max items returned per page; defaults to [QUERY_MAX_RESULT_LIMIT] if not specified.

Returns #

  • DynamicFieldPage: dynamic fields for the object the request provides.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getDynamicFields",
  "params": [
    "0xe15bb8de6dadd21835dfe44f4973139c15f93ddea0f8c3da994d9ead562ce76e",
    "0xa9334aeacc435c70ab9635e47a277d8f8dd9d87765d1aadec2db8cc24c312542",
    3
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0x36fdef6a382da344930c73d1298b0e9644b85ea6f7a348f4a7bd1a9ab069eb7f",
        "version": 1,
        "digest": "7hWCQjKfZf7oNLpSrhFJZEmYnpmSPzVLwJfFuHmMD9ct"
      },
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0xfe41671856fd3450dc5574abd53c793c9f22d8a72d5550df8d2d64a9155d126c",
        "version": 1,
        "digest": "CxuC9uMcWLk8oMg7QGaJSqUE4hwP6cMUQ94ipiN53jr3"
      },
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0x1edb2df5ea5d55c96a611371d22799d268270cd4bb4d4f520fe9bbf0cf1cebe3",
        "version": 1,
        "digest": "HJxTwLy4oE1Aoy3PocGfL9oHystQiyssHfmyE8YaPrw4"
      }
    ],
    "nextCursor": "0x8a25d8876ea3c60e345ac3861444136b4a1b0b37a91692359a98496738a58c17",
    "hasNextPage": true
  }
}

suix_getLatestSuiSystemState #

Retrieves the latest SUI system state object on-chain.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none.

Returns #

  • activeValidators: the list of active validators in the current epoch.
  • atRiskValidators: the map storing the number of epochs for which each validator has been below the low stake threshold.
  • epoch: the current epoch ID, starting from 0.
  • epochDurationMs: the duration of an epoch, in milliseconds.
  • epochStartTimestampMs: the Unix timestamp of the current epoch start.
  • inactivePoolsId: the ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.
  • inactivePoolsSize: the of inactive staking pools.
  • maxValidatorCount: the max number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
  • minValidatorJoiningStake: the lower bound on the amount of stake required to become a validator.
  • pendingActiveValidatorsId: the ID of the object that contains the list of new validators that will join at the end of the epoch.
  • pendingActiveValidatorsSize: the number of new validators that will join at the end of the epoch.
  • pendingRemovals: the removal of requests from the validators. Each element is an index pointing to active_validators.
  • protocolVersion: the current protocol version, starting from 1.
  • referenceGasPrice: the reference gas price for the current epoch.
  • safeMode: 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: the amount of computation rewards accumulated (and not yet distributed) during safe mode.
  • safeModeNonRefundableStorageFee: the amount of non-refundable storage fee accumulated during safe mode.
  • safeModeStorageRebates: the amount of storage rebates accumulated (and not yet burned) during safe mode.
  • safeModeStorageRewards: the amount of storage rewards accumulated (and not yet distributed) during safe mode.
  • stakeSubsidyBalance: the balance of SUI set aside for stake subsidies that will be drawn down over time.
  • stakeSubsidyCurrentDistributionAmount: the amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.
  • stakeSubsidyDecreaseRate: the rate at which the distribution amount decays at the end of each period. Expressed in basis points.
  • stakeSubsidyDistributionCounter: this counter may be different from the current epoch number if in some epochs it is decided to skip the subsidy.
  • stakeSubsidyPeriodLength: the number of distributions to occur before the distribution amount decays.
  • stakeSubsidyStartEpoch: the starting epoch in which stake subsidies start being paid out.
  • stakingPoolMappingsId: the ID of the object that maps from staking pool’s ID to the sui address of a validator.
  • stakingPoolMappingsSize: the number of staking pool mappings.
  • storageFundNonRefundableBalance: the non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.
  • storageFundTotalObjectStorageRebates: the storage rebates of all the objects on-chain stored in the storage fund.
  • systemStateVersion: the current version of the system state data structure type.
  • totalStake: the total amount of stake from all active validators at the beginning of the epoch.
  • validatorCandidatesId: the ID of the object that stores proactive validators, mapping their addresses to their Validator structs.
  • validatorCandidatesSize: the number of proactive validators.
  • validatorLowStakeGracePeriod: the validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.
  • validatorLowStakeThreshold: 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: a map storing the records of validator reporting each other.
  • validatorVeryLowStakeThreshold: validators with stake below validator_very_low_stake_threshold will be removed immediately at epoch change, no grace period.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getLatestSuiSystemState",
  "params": []
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": "some_system_state"
}

suix_getOwnedObjects #

Retrieves 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <address> (BigInt_for_uint64): the owner’s Sui address.
    • <query> (object): the objects query criteria.
    • <cursor> (objectID): the page cursor. If provided, the query will start from the next item after the specified cursor. Defaults to start from the first item if not specified.
    • <limit> (uint): the max number of items returned per page; defaults to [QUERY_MAX_RESULT_LIMIT] if not specified.

Returns #

  • ObjectsPage: all the objects the address provided in the request owns and that match the filter.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getOwnedObjects",
  "params": [
    "0xa69bb635dcee0f33643b4729ae81730d55e5e26860fac6839ce2d7ed7e6f29d2",
    {
      "filter": {
        "MatchAll": [
          {
            "StructType": "0x2::coin::Coin<0x2::sui::SUI>"
          },
          {
            "AddressOwner": "0xa69bb635dcee0f33643b4729ae81730d55e5e26860fac6839ce2d7ed7e6f29d2"
          },
          {
            "Version": "13488"
          }
        ]
      },
      "options": {
        "showType": true,
        "showOwner": true,
        "showPreviousTransaction": true,
        "showDisplay": false,
        "showContent": false,
        "showBcs": false,
        "showStorageRebate": false
      }
    },
    "0x76a1b4c23f2d9a9b6f0d8b2c17beace292b72aea16d6fb49b7d1ae51f33b01ed",
    3
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "data": {
          "objectId": "0x3d6255ff8223c12b0fd985c49d5777a0d65ad3d707164b2a378eee639ebc2690",
          "version": "13488",
          "digest": "A6v9pFTLH3PkDSvEGgVjW1JhL7CtcUQKwGmgXK8SQNsc",
          "type": "0x2::coin::Coin<0x2::sui::SUI>",
          "owner": {
            "AddressOwner": "0xa69bb635dcee0f33643b4729ae81730d55e5e26860fac6839ce2d7ed7e6f29d2"
          },
          "previousTransaction": "AZiaEnge9YnawyLosmuxd8grpoiYasfpvBEjSLFUmJ8m",
          "storageRebate": "100"
        }
      },
      {
        "data": {
          "objectId": "0x1a6e30f43933bbf40f5f5b6ce1f44957337dcb28f32e0355326f8c7d932bd54d",
          "version": "13488",
          "digest": "Fn1HG7LyUcLDps6bhYQkPWXpeUXgisznxRJ2qvn7Q1JN",
          "type": "0x2::coin::Coin<0x2::sui::SUI>",
          "owner": {
            "AddressOwner": "0xa69bb635dcee0f33643b4729ae81730d55e5e26860fac6839ce2d7ed7e6f29d2"
          },
          "previousTransaction": "5EZjpdpApGGb48UZtuRgXuTRDBgkFDYaiNUtUNg7788k",
          "storageRebate": "100"
        }
      },
      {
        "data": {
          "objectId": "0x28628a24386298faa98850887f64da841b87279efd098d59a66a3d9adc87cce8",
          "version": "13488",
          "digest": "39aXGAwHaY3CiqWwLiBZ7JRaGSvnpvPbHxMSJAwAUY5i",
          "type": "0x2::coin::Coin<0x2::sui::SUI>",
          "owner": {
            "AddressOwner": "0xa69bb635dcee0f33643b4729ae81730d55e5e26860fac6839ce2d7ed7e6f29d2"
          },
          "previousTransaction": "CnBDiCrxWcJCCU1LHoda6XwwRaCSRfva8HZzfmR3p8Ag",
          "storageRebate": "100"
        }
      }
    ],
    "nextCursor": "0x28628a24386298faa98850887f64da841b87279efd098d59a66a3d9adc87cce8",
    "hasNextPage": true
  }
}

suix_getReferenceGasPrice #

Retrieves the reference gas price for the network.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none.

Returns #

  • BigInt<u64>: reference gas price information for the network.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getReferenceGasPrice",
  "params": []
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": 1000
}

suix_getStakes #

Retrieves all DelegatedStake.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <owner>: Sui address.

Returns #

  • Vec<DelegatedStake>

suix_getStakesByIds #

Retrieves one or more DelegatedStakes.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <staked_sui_ids>: object ID.

Returns #

  • Vec<DelegatedStake>

suix_getTotalSupply #

Retrieves total supply for a coin.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <coin_type> (string): a type name for the coin (example: 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC).

Returns #

  • value: total supply for the type of coin provided.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getTotalSupply",
  "params": [
    "0x0a52124e2d53af3bef7959609efa51761ad155441a1b73bdaeecce7c56488b13::acoin::ACOIN"
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "value": "12023692"
  }
}

suix_getValidatorsApy #

Retrieves the validator APY.

Parameters #

  • id (integer; required): a request ID (example: 1).
  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).
  • method (string; required): a method used for the request.
  • params (array; required): none

Returns #

  • apys: validator APYs.
  • epoch: the epoch.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getValidatorsApy",
  "params": []
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "apys": [
      {
        "address": "0xb7d1cb695b9491893f88a5ae1b9d4f235b3c7e00acf5386662fa062483ba507b",
        "apy": 0.06
      },
      {
        "address": "0x1e9e3039750f0a270f2e12441ad7f611a5f7fd0b2c4326c56b1fec231d73038d",
        "apy": 0.02
      },
      {
        "address": "0xba0f0885b97982f5fcac3ec6f5c8cae16743671832358f25bfacde706e528df4",
        "apy": 0.05
      }
    ],
    "epoch": "420"
  }
}

suix_queryEvents #

Retrieves the list of events for a specified query criteria.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <query> (EventFilter): the event query criteria.
    • <cursor> (EventID, optional): the page cursor.
    • <limit> (uint): the max number of items per page, defaults to QUERY_MAX_RESULT_LIMIT if not specified.
    • <descending_order> (boolean): the query results order; defaults to false (ascending order), oldest record first.

Returns #

  • EventPage: the events for a specified query criteria.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_queryEvents",
  "params": [
    {
      "MoveModule": {
        "package": "0x30651d6e8f93e0fb79b4bc65a512beb5b9f3378423de90ed03b694cecf443c72",
        "module": "test"
      }
    },
    {
      "txDigest": "Nb5kW8n655ApSBA19d2K8UVFGtMnJHa1mJQRH1h5N9L",
      "eventSeq": "1"
    },
    100,
    false
  ]
}'

Response example #

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "id": {
          "txDigest": "8WecQq8Qd79MmrHRXYudNG7e6vjWC9HtGAT4XZFyyWRM",
          "eventSeq": "1"
        },
        "packageId": "0x28f9c59f430eaba84b8bee9b43a30f9cc83fa395759ca37c6e1ffc179184e98a",
        "transactionModule": "test",
        "sender": "0xc5db76052ab656e5f81853d0cf701cdbc8ebf27ab513fc6ef8c344406c78da3d",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "CNLhn3qWzHhfmmLQTdinbFDd2DuXFPN9z77UUqsC4Z4A",
          "eventSeq": "1"
        },
        "packageId": "0x28f9c59f430eaba84b8bee9b43a30f9cc83fa395759ca37c6e1ffc179184e98a",
        "transactionModule": "test",
        "sender": "0x5ad3a5fcc295dc8803c15989a62d33ee859014cfd5e91c13a481370240e39246",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "FEhceVx5a6mkeZH8dPxthQkEEPkWfjWN3w1e6uTB5rFm",
          "eventSeq": "1"
        },
        "packageId": "0x28f9c59f430eaba84b8bee9b43a30f9cc83fa395759ca37c6e1ffc179184e98a",
        "transactionModule": "test",
        "sender": "0x4c329a203fb9f0a8158aaab9b2a90044b26e14cc7fee4100fdcabda6d15c63c4",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "Nb5kW8n655ApSBA19d2K8UVFGtMnJHa1mJQRH1h5N9L",
          "eventSeq": "1"
        },
        "packageId": "0x28f9c59f430eaba84b8bee9b43a30f9cc83fa395759ca37c6e1ffc179184e98a",
        "transactionModule": "test",
        "sender": "0xb49c45ae23f2b936495cd38b1a4b04010295baa75ac72e548aeecf2ce8b4e885",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      }
    ],
    "nextCursor": {
      "txDigest": "Nb5kW8n655ApSBA19d2K8UVFGtMnJHa1mJQRH1h5N9L",
      "eventSeq": "1"
    },
    "hasNextPage": false
  }
}

suix_queryTransactionBlocks #

Retrieves list of transactions for a specified query criteria.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <query> (TransactionBlockResponseQuery): the transaction query criteria.
    • <cursor> (TransactionDigest; optional): the page cursor. If provided, the query will start from the next item after the specified cursor. Defaults to start from the first item if not specified.
    • <limit> (uint): the max items returned per page, default to QUERY_MAX_RESULT_LIMIT if not specified.
    • <descending_order> (boolean): the query results order; defaults to false (ascending order), oldest record first.

Returns #

  • TransactionBlocksPage: the transaction digest for specified query criteria.

Request example #

curl -X POST https://bns.aliyuncs.com/sui/{apikey} \
-H 'Content-Type: application/json' \
-H 'X-BNS-AUTH-SECRET: {secretkey}' \
-d '{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "digest": "GUPcK4cmRmgsTFr52ab9f6fnzNVg3Lz6hF2aXFcsRzaD"
      },
      {
        "digest": "B2iV1SVbBjgTKfbJKPQrvTT6F3kNdekFuBwY9tQcAxV2"
      },
      {
        "digest": "8QrPa4x9iNG5r2zQfmeH8pJoVjjtq9AGzp8rp2fxi8Sk"
      },
      {
        "digest": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F"
      }
    ],
    "nextCursor": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F",
    "hasNextPage": false
  }
}'

suix_resolveNameServiceAddress #

Retrieves the resolved address given the resolver and name.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <name> (string): the name to resolve.

Returns #

  • SuiAddress

suix_resolveNameServiceNames #

Retrieves the resolved names given an address.

If multiple names are resolved, the first one is the primary name.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <address> (SuiAddress): the address to resolve.
    • <cursor> (ObjectID): starting position.
    • <limit> (uint): max number per page.

Returns #

  • Page<String,ObjectID>

suix_subscribeEvent #

Subscribes to a stream of Sui event.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <filter> (EventFilter): the filter criteria of the event stream.

Returns #

  • SuiEvent

suix_subscribeTransaction #

Subscribes to a stream of Sui transaction effects.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <filter> (TransactionFilter): the transaction filter criteria.

Returns #

  • SuiTransactionBlockEffects

unsafe_batchTransaction #

Creates an unsigned batched transaction.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <single_transaction_params> (RPCTransactionRequestParams): the list of transaction request parameters.
    • <gas> (ObjectID): the 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): the gas budget, the transaction will fail if the gas cost exceed the budget.
    • <txn_builder_mode> (SuiTransactionBlockBuilderMode): whether this is a regular transaction or a Dev Inspect Transaction.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_mergeCoins #

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

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <primary_coin> (ObjectID): the coin object to merge into, this coin will remain after the transaction.
    • <coin_to_merge> (ObjectID): the coin object to be merged, this coin will be destroyed, the balance will be added to primary_coin.
    • <gas> (ObjectID): the 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): the gas budget, the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: the objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_moveCall #

Creates an unsigned transaction to execute a Move call on the network by calling the specified function in the module of a given package.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address
    • <package_object_id> (ObjectID): the Move package ID (example: 0x2).
    • <module> (string): the Move module name (example: pay).
    • <function> (string): the Move function name (example: split).
    • <type_arguments> (TypeTag): the type arguments of the Move function.
    • <arguments> (SuiJsonValue): the arguments to be passed into the Move function, in SuiJson format.
    • <gas> (ObjectID): the 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): the gas budget, the transaction will fail if the gas cost exceed the budget.
    • <execution_mode> (SuiTransactionBlockBuilderMode): whether this is a Normal transaction or a Dev Inspect Transaction. Defaults to be SuiTransactionBlockBuilderMode::Commit when it’s None.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_pay #

Sends Coin<T> to a list of addresses.

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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <input_coins> (ObjectID): the Sui coins to be used in this transaction.
    • <recipients> (SuiAddress): the recipients’ addresses, the length of this vector must be the same as amounts.
    • amounts (BigInt_for_uint64): the amounts to be transferred to recipients, following the same order.
    • gas (ObjectID): the 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): the gas budget, the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_payAllSui #

Sends 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <input_coins> (ObjectID): the Sui coins to be used in this transaction, including the coin for gas payment.
    • <recipient> (SuiAddress): the recipient address.
    • <gas_budget> (BigInt_for_uint64): the gas budget, the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_paySui #

Sends 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 #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <input_coins> (ObjectID): the Sui coins to be used in this transaction, including the coin for gas payment.
    • <recipients> (SuiAddress): the recipients’ addresses, the length of this vector must be the same as amounts.
    • <amounts> (BigInt_for_uint64): the amounts to be transferred to recipients, following the same order.
    • <gas_budget> (BigInt_for_uint64): the gas budget, the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_publish #

Creates an unsigned transaction to publish a Move package.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <sender> (SuiAddress): the transaction signer’s Sui address.
    • <compiled_modules> (Base64): the compiled bytes of a Move package.
    • <dependencies> (ObjectID): a list of transitive dependency addresses that this set of modules depends on.
    • <gas> (ObjectID): the 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): the gas budget; the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_requestAddStake #

Adds the stake to a validator’s staking pool using multiple coins and amount.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <coins> (ObjectID): the coin object to stake.
    • <amount> (BigInt_for_uint64): the stake amount.
    • <validator> (SuiAddress): the validator’s Sui address.
    • <gas> (ObjectID): the 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): the gas budget; the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_requestWithdrawStake #

Withdraws the stake from a validator’s staking pool.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <staked_sui> (ObjectID): the StakedSui object ID.
    • <gas> (ObjectID): the 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): the gas budget; the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_splitCoin #

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

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <coin_object_id> (ObjectID): the coin object to be spilt.
    • <split_amounts> (BigInt_for_uint64): the amounts to split out from the coin.
    • <gas> (ObjectID): the 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): the gas budget, the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_splitCoinEqual #

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

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <coin_object_id> (ObjectID): the coin object to be spilt.
    • <split_count> (BigInt_for_uint64): the number of coins to split into.
    • <gas> (ObjectID): the 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): the gas budget; the transaction will fail if the gas cost exceed the budget.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_transferObject #

Creates an unsigned transaction to transfer an object from one address to another.

The object’s type must allow public transfers

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <object_id> (ObjectID): the ID of the object to be transferred.
    • <gas> (ObjectID): the 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): the gas budget; the transaction will fail if the gas cost exceed the budget.
    • <recipient> (SuiAddress): the recipient’s Sui address.

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.

unsafe_transferSui #

Creates an unsigned transaction to send a SUI coin object to a Sui address.

The SUI object is also used as the gas object.

Parameters #

  • id (integer; required): a request ID (example: 1).

  • jsonrpc (string; required): a JSON RPC spec used (example: 2.0).

  • method (string; required): a method used for the request.

  • params (array; required):

    • <signer> (SuiAddress): the transaction signer’s Sui address.
    • <sui_object_id> (ObjectID): the Sui coin object to be used in this transaction.
    • <gas_budget> (BigInt_for_uint64): the gas budget; the transaction will fail if the gas cost exceed the budget.
    • <recipient> (SuiAddress): the recipient’s Sui address.
    • <amount> (BigInt_for_uint64): the amount to be split out and transferred

Returns #

  • gas: the gas objects to be used.
  • inputObjects: objects to be used in this transaction.
  • txBytes: BCS serialized transaction data bytes without its type tag, as base-64 encoded string.