Sui Mainnet JSON-RPC

Sui JSON-RPC (V 1.1.0)

Sui JSON-RPC API for interaction with Sui Full node : https://docs.sui.io/sui-jsonrpc

NodeReal Network info

NodeReal mainnet rpc endpoint: https://sui-mainnet-rpc.nodereal.io


sui_devInspectTransactionBlock

Write API

Runs the transaction in dev-inspect mode. Which allows for nearly any transaction (or Move call) with any arguments. Detailed results are provided, including both the transaction effects and any return values.

Params

  • sender_address : <SuiAddress> - the sender's Sui address
  • tx_bytes : <Base64> - BCS encoded TransactionKind(as opposed to TransactionData, which include gasBudget and gasPrice)
  • gas_price : <BigInt_for_uint64> - Gas is not charged, but gas usage is still calculated. Default to use reference gas price
  • epoch : <BigInt_for_uint64> - The epoch to perform the call. Will be set from the system state object if not provided

Result

  • DevInspectResults:<DevInspectResults>

    • effects : <[TransactionBlockEffects]> - Summary of effects that likely would be generated if the transaction is actually run. Note however, that not all dev-inspect transactions are actually usable as transactions so it might not be possible actually generate these effects from a normal transaction.
    • error : <string,null> - 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

sui_dryRunTransactionBlock

Full Node API

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

Params

  • tx_bytes : <Base64> -

Result

  • DryRunTransactionBlockResponse:<DryRunTransactionBlockResponse>

    • balanceChanges : <[BalanceChange]>
    • effects : <TransactionBlockEffects>
    • events : <[Event]>
    • input : <TransactionBlockData>
    • objectChanges : <[ObjectChange]>

sui_executeTransactionBlock

APIs to execute transactions.

Execute the transaction and wait for results if desired. Request types: 1. ImmediateReturn: immediately returns a response to client without waiting for any execution results. Note the transaction may fail without being noticed by client in this mode. After getting the response, the client may poll the node to check the result of the transaction. 2. WaitForTxCert: waits for TransactionCertificate and then return to client. 3. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client. This mode is a proxy for transaction finality. 4. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node executed the transaction locally before returning the client. The local execution makes sure this node is aware of this transaction when client fires subsequent queries. However if the node fails to execute the transaction locally in a timely manner, a bool type in the response is set to false to indicated the case.

Params

  • tx_bytes : <Base64> - BCS serialized transaction data bytes without its type tag, as base-64 encoded string.
  • 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
  • pub_key : <Base64> - signer's public key, as base-64 encoded string
  • request_type : <ExecuteTransactionRequestType> - The request type, derived from SuiTransactionBlockResponseOptions if None

Result

  • SuiTransactionBlockResponse : <TransactionBlockResponse>

Example
Execute a transaction with serialized signatures.

Request

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

{
  "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": "0x0000000000000000000000000000000000000000000000000000000000000002::example::Object",
        "objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
        "version": "2",
        "digest": "7PsBHpUW6yfGNov2WrbVafLjgT9nYziQ3gVDbRq6zTbF"
      }
    ]
  }
}

sui_getCheckpoint

Full Node API

Return a checkpoint

Params

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

Result

  • Checkpoint : <Checkpoint>
    • checkpointCommitments : <[CheckpointCommitment]> - Commitments to checkpoint state
    • digest : <[CheckpointDigest]> - Checkpoint digest
    • endOfEpochData : <[EndOfEpochData]> - Present only on the final checkpoint of the epoch.
    • epoch : <[BigInt_for_uint64]> - Checkpoint's epoch ID
    • epochRollingGasCostSummary : <[GasCostSummary]> - The running total gas costs of all transactions included in the current epoch so far until this checkpoint.
    • networkTotalTransactions : <[BigInt_for_uint64]> - Total number of transactions committed since genesis, including those in this checkpoint.
    • previousDigest : <[CheckpointDigest]>- Digest of the previous checkpoint
    • sequenceNumber : <[BigInt_for_uint64]> - Checkpoint sequence number
    • timestampMs : <[BigInt_for_uint64]> - Timestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have same timestamp if they originate from the same underlining consensus commit
    • transactions : <[TransactionDigest]> - Transaction digests
    • validatorSignature : <[Base64]>- Validator Signature

Example

Get checkpoint information for the checkpoint ID in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getCheckpoint",
  "params": [
    "1000"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "epoch": "5000",
    "sequenceNumber": "1000",
    "digest": "AbKbyf26XFmbBt9eg5KJ9tHtgsTysbsTe7Wpy6QKQfJG",
    "networkTotalTransactions": "792385",
    "previousDigest": "CAbHZCsbX6vsqtCqjhfNdT8XJFcuYkHVGz2hXg54goQk",
    "epochRollingGasCostSummary": {
      "computationCost": "0",
      "storageCost": "0",
      "storageRebate": "0",
      "nonRefundableStorageFee": "0"
    },
    "timestampMs": "1676911928",
    "transactions": [
      "4oDBSrdDb2UM59Td5EyPhYP1h1TSphnjfSpoLnWKaM5o"
    ],
    "checkpointCommitments": [],
    "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  }
}

sui_getCheckpoints

Read API

Return paginated list of checkpoints

Params

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

Result

  • CheckpointPage : <Page_for_Checkpoint_and_BigInt_for_uint64>

Example
Get a paginated list in descending order of all checkpoints starting at the provided cursor. Each page of results has a maximum number of checkpoints set by the provided limit.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getCheckpoints",
  "params": [
    "1004",
    4,
    false
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "epoch": "5000",
        "sequenceNumber": "1005",
        "digest": "styH61ffb69JzKQYs1u6GS6e6aeyybqcq6VPRumYGFe",
        "networkTotalTransactions": "792385",
        "previousDigest": "7QHLXheBaMGoygNFs39Fnd2jFxxNefABpZmEceVHmWkC",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "A1NZtyS73EN5N4jBA8Q7fMcvmJ3voaGkUEuFnjyXA5HC"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1006",
        "digest": "Gn2vgirgUYdYi27A5s6HfhTVbCoZGeDewUhJDWGTkbg5",
        "networkTotalTransactions": "792385",
        "previousDigest": "64QD1k3u8x1Jo86PftHbKo6sdnbB2WBtv7p4RGUtQ93N",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "86BWNNkDbt3nspEopq2dZocBBGbYzkWnUZGgV6x4TaLf"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1007",
        "digest": "5Y6qoLUtnzD5wkruAbZ2pQb58SSwDQmo1sFVHfpZLKqf",
        "networkTotalTransactions": "792385",
        "previousDigest": "8LbMGFpmDF2w59sJxMQefQqSvNh33AaHvZM21dpJ8f8f",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "9QSSuYoovaF46KykXtKncXdjHptf5f2ZQXjcd1i6CczX"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1008",
        "digest": "8mjZb81hqCXxgn4dcdiSZY8SJa8dibsv63nckprhxXTy",
        "networkTotalTransactions": "792385",
        "previousDigest": "AoM3zdrp12i4Hq6uwPGd5AvkbUnYHxrZgQz5J3oWunpg",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "7egeSqNr6tNeSexCABFpQhTohKXdwb25xTKVt2PQ7XEm"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      }
    ],
    "nextCursor": "1008",
    "hasNextPage": true
  }
}

sui_getEvents

Event Read API

Return list of events for a specified query criteria.

Params

  • transaction_digest : <TransactionDigest> - the event query criteria.

Result

  • Vec<SuiEvent> : <[Event]>

Example

Return the events the transaction in the request emits.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getEvents",
  "params": [
    "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "id": {
          "txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
          "eventSeq": "0"
        },
        "packageId": "0xc54ab30a3d9adc07c1429c4d6bbecaf9457c9af77a91f631760853934d383634",
        "transactionModule": "test_module",
        "sender": "0xbcf7c32655009a61f1de0eae420a2e4ae1bb772ab2dd5d5a7dfa949c0ef06908",
        "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestEvent",
        "parsedJson": {
          "test": "example value"
        },
        "bcs": ""
      }
    ],
    "nextCursor": {
      "txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
      "eventSeq": "5"
    },
    "hasNextPage": false
  }
}

sui_getLatestCheckpointSequenceNumber

Read API
Return the sequence number of the latest checkpoint that has been executed

Params

Result

  • BigInt<u64> : <BigInt_for_uint64>

Example
Get the sequence number for the latest checkpoint.

Request

{  
  "jsonrpc": "2.0",  
  "id": 1,  
  "method": "sui_getLatestCheckpointSequenceNumber",  
  "params": []  
}

Response

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

sui_getLoadedChildObjects

Read API

Params

  • digest : <TransactionDigest> -

Result

  • SuiLoadedChildObjectsResponse : <LoadedChildObjectsResponse>

sui_getMoveFunctionArgTypes

Full Node API

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

Params

  • package : <ObjectID> -
  • module : <string> -
  • function : <string> -

Result

  • Vec<MoveFunctionArgType>: <[MoveFunctionArgType]>

sui_getNormalizedMoveFunction

Full Node API

Return a structured representation of Move function

Params

  • package : <ObjectID> -
  • module_name : <string> -
  • function_name : <string> -

Result

  • SuiMoveNormalizedFunction: <SuiMoveNormalizedFunction>
    • isEntry : <boolean>
    • parameters : <[SuiMoveNormalizedType]>
    • return : <[SuiMoveNormalizedType]>
    • type_parameters : <[SuiMoveAbilitySet]>
    • visibility : <SuiMoveVisibility>

sui_getNormalizedMoveModule

Full Node API

Return a structured representation of Move module

Params

  • package : <ObjectID> -
  • module_name : <string> -

Result

  • SuiMoveNormalizedModule : <SuiMoveNormalizedModule>
    • address : <string>
    • exposed_functions : <object>
    • file_format_version : <uint32>
    • friends : <[SuiMoveModuleId]>
    • name : <string>
    • structs : <object>

sui_getNormalizedMoveModulesByPackage

Full Node API

Return structured representations of all modules in the given package

Params

  • package : <ObjectID> -

Result

  • BTreeMap<String,SuiMoveNormalizedModule> : <object>

sui_getNormalizedMoveStruct

Full Node API

Return a structured representation of Move struct

Params

  • package : <ObjectID> -
  • module_name : <string> -
  • struct_name : <string> -

Result

  • SuiMoveNormalizedStruct : <SuiMoveNormalizedStruct>
    • abilities : <SuiMoveAbilitySet>
    • fields : <[SuiMoveNormalizedField]>
    • typeParameters : <[SuiMoveStructTypeParameter]>

sui_getObject

Read API

Return the object information for a specified object

Params

  • object_id : <ObjectID> - the ID of the queried object
  • options : <ObjectDataOptions> - options for specifying the content to be returned

Result

  • SuiObjectResponse : <SuiObjectResponse>
    • data : <[ObjectData]>
    • error : <[ObjectResponseError]>

Example
Get Object data for the ID in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getObject",
  "params": [
    "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": {
      "objectId": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
      "version": "1",
      "digest": "33K5ZXJ3RyubvYaHuEnQ1QXmmbhgtrFwp199dnEbL4n7",
      "type": "0x2::coin::Coin<0x2::sui::SUI>",
      "owner": {
        "AddressOwner": "0xc8ec1d5b84dd6289e193b9f88de4a994358c9f856135236c3e75a925e1c77ac3"
      },
      "previousTransaction": "5PLgmQye6rraDYqpV3npV6H1cUXoJZgJh1dPCyRa3WCv",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
        "hasPublicTransfer": true,
        "fields": {
          "balance": "100000000",
          "id": {
            "id": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809"
          }
        }
      }
    }
  }
}

sui_getProtocolConfig

Read API
Return the protocol config table for the given version number. If the version number is not specified, If none is specified, the node uses the version of the latest epoch it has processed.

Params

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

Result

  • ProtocolConfigResponse : <ProtocolConfig>

Example
Return the protocol config for the given protocol version. If none is specified, the node uses the version of the latest epoch it has processed

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getProtocolConfig",
  "params": [
    6
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "minSupportedProtocolVersion": "1",
    "maxSupportedProtocolVersion": "10",
    "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": {
      "address_from_bytes_cost_base": {
        "u64": "52"
      },
      "address_from_u256_cost_base": {
        "u64": "52"
      },
      "address_to_u256_cost_base": {
        "u64": "52"
      },
      "base_tx_cost_fixed": {
        "u64": "2000"
      },
      "base_tx_cost_per_byte": {
        "u64": "0"
      },
      "bls12381_bls12381_min_pk_verify_cost_base": {
        "u64": "52"
      },
      "bls12381_bls12381_min_pk_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "bls12381_bls12381_min_pk_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "bls12381_bls12381_min_sig_verify_cost_base": {
        "u64": "52"
      },
      "bls12381_bls12381_min_sig_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "bls12381_bls12381_min_sig_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "buffer_stake_for_protocol_upgrade_bps": {
        "u64": "5000"
      },
      "crypto_invalid_arguments_cost": {
        "u64": "100"
      },
      "dynamic_field_add_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_add_child_object_struct_tag_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_add_child_object_type_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_add_child_object_value_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_borrow_child_object_child_ref_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_borrow_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_borrow_child_object_type_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_has_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_has_child_object_with_ty_cost_base": {
        "u64": "100"
      },
      "dynamic_field_has_child_object_with_ty_type_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_has_child_object_with_ty_type_tag_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_cost_base": {
        "u64": "100"
      },
      "dynamic_field_hash_type_and_key_type_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_type_tag_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_value_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_remove_child_object_child_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_remove_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_remove_child_object_type_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_decompress_pubkey_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_ecrecover_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_ecrecover_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_alpha_string_cost_per_block": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_alpha_string_cost_per_byte": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_cost_base": {
        "u64": "52"
      },
      "ed25519_ed25519_verify_cost_base": {
        "u64": "52"
      },
      "ed25519_ed25519_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "ed25519_ed25519_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "event_emit_cost_base": {
        "u64": "52"
      },
      "event_emit_output_cost_per_byte": {
        "u64": "10"
      },
      "event_emit_tag_size_derivation_cost_per_byte": {
        "u64": "5"
      },
      "event_emit_value_size_derivation_cost_per_byte": {
        "u64": "2"
      },
      "gas_model_version": {
        "u64": "5"
      },
      "groth16_prepare_verifying_key_bls12381_cost_base": {
        "u64": "52"
      },
      "groth16_prepare_verifying_key_bn254_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bls12381_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bls12381_cost_per_public_input": {
        "u64": "2"
      },
      "groth16_verify_groth16_proof_internal_bn254_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bn254_cost_per_public_input": {
        "u64": "2"
      },
      "groth16_verify_groth16_proof_internal_public_input_cost_per_byte": {
        "u64": "2"
      },
      "hash_blake2b256_cost_base": {
        "u64": "52"
      },
      "hash_blake2b256_data_cost_per_block": {
        "u64": "2"
      },
      "hash_blake2b256_data_cost_per_byte": {
        "u64": "2"
      },
      "hash_keccak256_cost_base": {
        "u64": "52"
      },
      "hash_keccak256_data_cost_per_block": {
        "u64": "2"
      },
      "hash_keccak256_data_cost_per_byte": {
        "u64": "2"
      },
      "hmac_hmac_sha3_256_cost_base": {
        "u64": "52"
      },
      "hmac_hmac_sha3_256_input_cost_per_block": {
        "u64": "2"
      },
      "hmac_hmac_sha3_256_input_cost_per_byte": {
        "u64": "2"
      },
      "max_arguments": {
        "u32": "512"
      },
      "max_back_edges_per_function": {
        "u64": "10000"
      },
      "max_back_edges_per_module": {
        "u64": "10000"
      },
      "max_basic_blocks": {
        "u64": "1024"
      },
      "max_checkpoint_size_bytes": {
        "u64": "31457280"
      },
      "max_dependency_depth": {
        "u64": "100"
      },
      "max_event_emit_size": {
        "u64": "256000"
      },
      "max_fields_in_struct": {
        "u64": "32"
      },
      "max_function_definitions": {
        "u64": "1000"
      },
      "max_function_parameters": {
        "u64": "128"
      },
      "max_gas_computation_bucket": {
        "u64": "5000000"
      },
      "max_gas_payment_objects": {
        "u32": "256"
      },
      "max_gas_price": {
        "u64": "100000"
      },
      "max_generic_instantiation_length": {
        "u64": "32"
      },
      "max_input_objects": {
        "u64": "2048"
      },
      "max_loop_depth": {
        "u64": "5"
      },
      "max_meter_ticks_per_module": {
        "u64": "6000000"
      },
      "max_modules_in_publish": {
        "u32": "128"
      },
      "max_move_identifier_len": null,
      "max_move_object_size": {
        "u64": "256000"
      },
      "max_move_package_size": {
        "u64": "102400"
      },
      "max_move_vector_len": {
        "u64": "262144"
      },
      "max_num_deleted_move_object_ids": {
        "u64": "2048"
      },
      "max_num_deleted_move_object_ids_system_tx": {
        "u64": "32768"
      },
      "max_num_event_emit": {
        "u64": "256"
      },
      "max_num_new_move_object_ids": {
        "u64": "2048"
      },
      "max_num_new_move_object_ids_system_tx": {
        "u64": "32768"
      },
      "max_num_transferred_move_object_ids": {
        "u64": "2048"
      },
      "max_num_transferred_move_object_ids_system_tx": {
        "u64": "32768"
      },
      "max_programmable_tx_commands": {
        "u32": "1024"
      },
      "max_pure_argument_size": {
        "u32": "16384"
      },
      "max_push_size": {
        "u64": "10000"
      },
      "max_serialized_tx_effects_size_bytes": {
        "u64": "524288"
      },
      "max_serialized_tx_effects_size_bytes_system_tx": {
        "u64": "8388608"
      },
      "max_size_written_objects": {
        "u64": "5000000"
      },
      "max_size_written_objects_system_tx": {
        "u64": "50000000"
      },
      "max_struct_definitions": {
        "u64": "200"
      },
      "max_transactions_per_checkpoint": {
        "u64": "10000"
      },
      "max_tx_gas": {
        "u64": "50000000000"
      },
      "max_tx_size_bytes": {
        "u64": "131072"
      },
      "max_type_argument_depth": {
        "u32": "16"
      },
      "max_type_arguments": {
        "u32": "16"
      },
      "max_type_nodes": {
        "u64": "256"
      },
      "max_value_stack_size": {
        "u64": "1024"
      },
      "max_verifier_meter_ticks_per_function": {
        "u64": "6000000"
      },
      "move_binary_format_version": {
        "u32": "6"
      },
      "obj_access_cost_delete_per_byte": {
        "u64": "40"
      },
      "obj_access_cost_mutate_per_byte": {
        "u64": "40"
      },
      "obj_access_cost_read_per_byte": {
        "u64": "15"
      },
      "obj_access_cost_verify_per_byte": {
        "u64": "200"
      },
      "obj_data_cost_refundable": {
        "u64": "100"
      },
      "obj_metadata_cost_non_refundable": {
        "u64": "50"
      },
      "object_borrow_uid_cost_base": {
        "u64": "52"
      },
      "object_delete_impl_cost_base": {
        "u64": "52"
      },
      "object_record_new_uid_cost_base": {
        "u64": "52"
      },
      "object_runtime_max_num_cached_objects": {
        "u64": "1000"
      },
      "object_runtime_max_num_cached_objects_system_tx": {
        "u64": "16000"
      },
      "object_runtime_max_num_store_entries": {
        "u64": "1000"
      },
      "object_runtime_max_num_store_entries_system_tx": {
        "u64": "16000"
      },
      "package_publish_cost_fixed": {
        "u64": "1000"
      },
      "package_publish_cost_per_byte": {
        "u64": "80"
      },
      "reward_slashing_rate": {
        "u64": "10000"
      },
      "scoring_decision_cutoff_value": {
        "f64": "2.5"
      },
      "scoring_decision_mad_divisor": {
        "f64": "2.3"
      },
      "storage_fund_reinvest_rate": {
        "u64": "500"
      },
      "storage_gas_price": {
        "u64": "76"
      },
      "storage_rebate_rate": {
        "u64": "9900"
      },
      "transfer_freeze_object_cost_base": {
        "u64": "52"
      },
      "transfer_share_object_cost_base": {
        "u64": "52"
      },
      "transfer_transfer_internal_cost_base": {
        "u64": "52"
      },
      "tx_context_derive_id_cost_base": {
        "u64": "52"
      },
      "types_is_one_time_witness_cost_base": {
        "u64": "52"
      },
      "types_is_one_time_witness_type_cost_per_byte": {
        "u64": "2"
      },
      "types_is_one_time_witness_type_tag_cost_per_byte": {
        "u64": "2"
      },
      "validator_validate_metadata_cost_base": {
        "u64": "52"
      },
      "validator_validate_metadata_data_cost_per_byte": {
        "u64": "2"
      }
    }
  }
}

sui_getTotalTransactionBlocks

Read API
Return the total number of transactions known to the server.

Params

Result

  • BigInt<u64> : <BigInt_for_uint64>

Example
Get total number of transactions on the network.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getTotalTransactionBlocks",
  "params": []
}

Response

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

sui_getTransactionBlock

Read API
Return the transaction response object.

Params

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

Result

  • SuiTransactionBlockResponse : <TransactionBlockResponse>

Example
Return the transaction response object for specified transaction digest.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_getTransactionBlock",
  "params": [
    "oKtFZjL99EZ2K3TLPRarpZN8gz9xReMkiNf4Tjja2no",
    {
      "showInput": true,
      "showRawInput": false,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": false,
      "showBalanceChanges": false
    }
  ]
}

Response

{
  "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": "0x0000000000000000000000000000000000000000000000000000000000000002::example::Object",
        "objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
        "version": "2",
        "digest": "64UQ3a7m1mjWuzgyGoH8RnMyPGDN4XYTC9dS4qiSfdK4"
      }
    ]
  }
}

sui_multiGetObjects

Read API
Return the object data for a list of objects

Params

  • object_ids : <[ObjectID]> - the IDs of the queried objects
  • options : <ObjectDataOptions> - options for specifying the content to be returned

Result

  • Vec<SuiObjectResponse> : <[SuiObjectResponse]>

Example
Get objects by IDs.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_multiGetObjects",
  "params": [
    [
      "0x63f69f47ae954dec65295231e0d2c7c86867fcc63161269c5c0c73b02229486b",
      "0xb3bc9237ba6fca019438a9737cf156ae6d907beaa3a49db57bdfdb3557e6d405",
      "0x869ecbccf96ef8bab1b6d79fbfa88548f44d295a385dc3544d211411b865e8bc",
      "0x5e43f21e9e57f4abe3c702649d3a7dd0d4f062dbcfc3bf73f5861945592222ff",
      "0x54a448a78d3a56220f798398dde66eab0a52124e2d53af3bef7959609efa5176"
    ],
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "data": {
        "objectId": "0x63f69f47ae954dec65295231e0d2c7c86867fcc63161269c5c0c73b02229486b",
        "version": "1",
        "digest": "3pySHS3Cwy3urMWUPp6N5MVLnt96ajN69vG7vpBjzmFh",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0xbaff319209dfb8299ced3b860903799749b09c3bfb031aca53e7ddf1dba61bb6"
        },
        "previousTransaction": "21nFLRUHV4KvcGyCP7saQXHoAJq8yGT4UoHk9RG2B7RB",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x63f69f47ae954dec65295231e0d2c7c86867fcc63161269c5c0c73b02229486b"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0xb3bc9237ba6fca019438a9737cf156ae6d907beaa3a49db57bdfdb3557e6d405",
        "version": "1",
        "digest": "6RWpimPbn7MiimtAiwMoNpzPgJAdcFgEYU76tNR3nPzd",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0xcbf01c293a53e01457d65e92b5d8dd68d62ca040aba24f862a763851c54908cd"
        },
        "previousTransaction": "3qBJk6w86rePdymYuWhFudpqS2i2TsydYWYstrSCRxSz",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0xb3bc9237ba6fca019438a9737cf156ae6d907beaa3a49db57bdfdb3557e6d405"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x869ecbccf96ef8bab1b6d79fbfa88548f44d295a385dc3544d211411b865e8bc",
        "version": "1",
        "digest": "2x77QMNgAtYA3vfUG2MRCh46pn6FgAw3P531F1zvZqGw",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0x4f01f49186970c7cf61e1cc829cc0be747dfa99496428c65b2054ad7db1872b8"
        },
        "previousTransaction": "9cRMGV4fXXwwMyeNndbXX9GXJ28Q37NaFjo9pPAkPkkz",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x869ecbccf96ef8bab1b6d79fbfa88548f44d295a385dc3544d211411b865e8bc"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x5e43f21e9e57f4abe3c702649d3a7dd0d4f062dbcfc3bf73f5861945592222ff",
        "version": "1",
        "digest": "B9Nt57ooVUPUfVLneWKR6yXsgUdeKCZ7swTmemXSSsun",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0x7b090ac21c8a3cf840abdc5b743da778808f8071df7c48ea3cc4ecc349c766ab"
        },
        "previousTransaction": "9esVvbmQ3pH6GDVJ9wRouewBzxGSctVn5h9Jj8K6c1Mr",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x5e43f21e9e57f4abe3c702649d3a7dd0d4f062dbcfc3bf73f5861945592222ff"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x54a448a78d3a56220f798398dde66eab0a52124e2d53af3bef7959609efa5176",
        "version": "1",
        "digest": "Hpv3QPqbwvUZ3u82nsBvn2Zc5JJj2d27WuzSWmjFYN7t",
        "type": "0x2::coin::Coin<0x2::sui::SUI>",
        "owner": {
          "AddressOwner": "0x1ad155441a1b73bdaeecce7c56488b137d42c99fc38511ba4813dc57feb3f00e"
        },
        "previousTransaction": "AFsN32bnEYBPYd4ui5wAExJEqLUmhs4f4cnjo17c91uq",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
          "hasPublicTransfer": true,
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x54a448a78d3a56220f798398dde66eab0a52124e2d53af3bef7959609efa5176"
            }
          }
        }
      }
    }
  ]
}

sui_multiGetTransactionBlocks

Read API
Returns an ordered list of transaction responses The method will throw an error if the input contains any duplicate or the input size exceeds QUERY_MAX_RESULT_LIMIT

Params

  • digests : <[TransactionDigest]> - A list of transaction digests.
  • options : <TransactionBlockResponseOptions> - config options to control which fields to fetch

Result

  • Vec<SuiTransactionBlockResponse> : <[TransactionBlockResponse]>

Example
Return the transaction data for specified digest.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_multiGetTransactionBlocks",
  "params": [
    [
      "DwRWCvrkfauz95wTrfJxi3VSWdMZWCEtdPCiaZhcanZh",
      "DKbnodvxQShMzRBopBhmFkjWDesbfxFzPPzxZGAjLdww",
      "5geoz1TrEnV2pAA7B5ajgvLo6hHapfki3dJHRJEFBNfc"
    ],
    {
      "showInput": true,
      "showRawInput": false,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": false,
      "showBalanceChanges": false
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "digest": "DwRWCvrkfauz95wTrfJxi3VSWdMZWCEtdPCiaZhcanZh",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0xd6e4c0ad5ec4de2449c41ac819f9c162d4af78db04f5789cd4fca497d9d14703"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0x6b5ad50597c5faf4842f454b9b09c7524afb8e30e88e2f84077773b9572d766c",
                "version": "2",
                "digest": "3FiwvBCr7vJUrSa1wDuapfczD218uxymBACSz625vojt"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0xcdf1c97cb1a97f6a467db2b32dc8deab001db44968eb4d513b5e96a26a8d3f99",
          "gasData": {
            "payment": [
              {
                "objectId": "0x2fb30e765422178a6c146d85e49b53a4ac09b42e9036dd49b9c46a42692b1f20",
                "version": 2,
                "digest": "4SUrH3e9PNYtorid9WYHST4ExtYziAWF2qNfbcQGXyfc"
              }
            ],
            "owner": "0xcdf1c97cb1a97f6a467db2b32dc8deab001db44968eb4d513b5e96a26a8d3f99",
            "price": "10",
            "budget": "20000000"
          }
        },
        "txSignatures": [
          "AEazvDbLghnbt6IgSnagyNcGOWxRBpMmB5b1nEAyFcG3ioR5yBxEn+HhLlFKcMhxcjoAd6ldsl16RG1r3N1Ifgaku/znSjrM4o7ihNslFlaGkCFdY5WcpqFauUzmNJpmlA=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAg1uTArV7E3iRJxBrIGfnBYtSveNsE9Xic1Pykl9nRRwMBAGta1QWXxfr0hC9FS5sJx1JK+44w6I4vhAd3c7lXLXZsAgAAAAAAAAAgIXzvQ5XzESdQhO9bBUGBdH3e2Dz8VIeuIDYvsaXYmxcBAQEBAQABAADN8cl8sal/akZ9srMtyN6rAB20SWjrTVE7Xpaiao0/mQEvsw52VCIXimwUbYXkm1OkrAm0LpA23Um5xGpCaSsfIAIAAAAAAAAAIDMaEhXcN76CmPpK4+nh+poFmTacjKerqTBdxSWWpZ5fzfHJfLGpf2pGfbKzLcjeqwAdtElo601RO16WomqNP5kKAAAAAAAAAAAtMQEAAAAAAAFhAEazvDbLghnbt6IgSnagyNcGOWxRBpMmB5b1nEAyFcG3ioR5yBxEn+HhLlFKcMhxcjoAd6ldsl16RG1r3N1Ifgaku/znSjrM4o7ihNslFlaGkCFdY5WcpqFauUzmNJpmlA==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "6wYAncei61SbsXjfJuREYWFJcwMvTt8vnZh7jECYgMu",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0xcdf1c97cb1a97f6a467db2b32dc8deab001db44968eb4d513b5e96a26a8d3f99"
            },
            "reference": {
              "objectId": "0x2fb30e765422178a6c146d85e49b53a4ac09b42e9036dd49b9c46a42692b1f20",
              "version": 2,
              "digest": "4SUrH3e9PNYtorid9WYHST4ExtYziAWF2qNfbcQGXyfc"
            }
          },
          {
            "owner": {
              "AddressOwner": "0xd6e4c0ad5ec4de2449c41ac819f9c162d4af78db04f5789cd4fca497d9d14703"
            },
            "reference": {
              "objectId": "0x6b5ad50597c5faf4842f454b9b09c7524afb8e30e88e2f84077773b9572d766c",
              "version": 2,
              "digest": "3FiwvBCr7vJUrSa1wDuapfczD218uxymBACSz625vojt"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0xcdf1c97cb1a97f6a467db2b32dc8deab001db44968eb4d513b5e96a26a8d3f99"
          },
          "reference": {
            "objectId": "0x2fb30e765422178a6c146d85e49b53a4ac09b42e9036dd49b9c46a42692b1f20",
            "version": 2,
            "digest": "4SUrH3e9PNYtorid9WYHST4ExtYziAWF2qNfbcQGXyfc"
          }
        },
        "eventsDigest": "CnLsjCisnSFWkuWp9qqTkoSQkfhS9F6xQGV2LHMeEBDv"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0xcdf1c97cb1a97f6a467db2b32dc8deab001db44968eb4d513b5e96a26a8d3f99",
          "recipient": {
            "AddressOwner": "0xd6e4c0ad5ec4de2449c41ac819f9c162d4af78db04f5789cd4fca497d9d14703"
          },
          "objectType": "0x0000000000000000000000000000000000000000000000000000000000000002::example::Object",
          "objectId": "0x6b5ad50597c5faf4842f454b9b09c7524afb8e30e88e2f84077773b9572d766c",
          "version": "2",
          "digest": "66Bhgq1W6nBRNNjS3DuWXuZyNJHBrUcwxQz4zUc9tkxZ"
        }
      ]
    },
    {
      "digest": "DKbnodvxQShMzRBopBhmFkjWDesbfxFzPPzxZGAjLdww",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0x92e30e8e1dc5061bbf38c199f22627e75ff9bf8c469ff03d000b917ca77792c4"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0x2209ab55b0202608150d2aaba7d0b2cc03df659954b577bd64996511a63b3292",
                "version": "2",
                "digest": "4DR9gcLsEacb1vX9D3ZxaZyME146pWTEgieKMcqHGbYC"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0x793e52965a70e089d4cb66487db3f129a1c180b168957d02cf24c6e36940e49f",
          "gasData": {
            "payment": [
              {
                "objectId": "0x9c9996406a6494afc93a8d44f19f048a85e4c7d60ec80a18bf158911a8315dea",
                "version": 2,
                "digest": "CJEJosr8ywVetzSgmN2QHfbCXg4E32dy5UJLwoR7c931"
              }
            ],
            "owner": "0x793e52965a70e089d4cb66487db3f129a1c180b168957d02cf24c6e36940e49f",
            "price": "10",
            "budget": "20000000"
          }
        },
        "txSignatures": [
          "AID+evodBiU8SGY3IsUCK7fshQx+HD+HDAUgvuBbJTLTKq1fXxZvQLw/W3oIC/8LfYYHxanGQ8qXE9enumwCvgzAFJHipsemTEqF6eQduAyoQ0S1hIdH/l+Rsvd+d4xqxg=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAgkuMOjh3FBhu/OMGZ8iYn51/5v4xGn/A9AAuRfKd3ksQBACIJq1WwICYIFQ0qq6fQsswD32WZVLV3vWSZZRGmOzKSAgAAAAAAAAAgL8FWLoAPo0W+hQGqCfrmP0cKZjNiTUaGrqsg3CN4+fEBAQEBAQABAAB5PlKWWnDgidTLZkh9s/EpocGAsWiVfQLPJMbjaUDknwGcmZZAamSUr8k6jUTxnwSKheTH1g7IChi/FYkRqDFd6gIAAAAAAAAAIKfaeewxbjqtwnttIcL/HCfQwmycF0OOhro1ogyopcHseT5Sllpw4InUy2ZIfbPxKaHBgLFolX0CzyTG42lA5J8KAAAAAAAAAAAtMQEAAAAAAAFhAID+evodBiU8SGY3IsUCK7fshQx+HD+HDAUgvuBbJTLTKq1fXxZvQLw/W3oIC/8LfYYHxanGQ8qXE9enumwCvgzAFJHipsemTEqF6eQduAyoQ0S1hIdH/l+Rsvd+d4xqxg==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "6w12UGCyhcAAMhQqqh3X7Q4hHVsJewrB9NhjbziGxrQ7",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0x793e52965a70e089d4cb66487db3f129a1c180b168957d02cf24c6e36940e49f"
            },
            "reference": {
              "objectId": "0x9c9996406a6494afc93a8d44f19f048a85e4c7d60ec80a18bf158911a8315dea",
              "version": 2,
              "digest": "CJEJosr8ywVetzSgmN2QHfbCXg4E32dy5UJLwoR7c931"
            }
          },
          {
            "owner": {
              "AddressOwner": "0x92e30e8e1dc5061bbf38c199f22627e75ff9bf8c469ff03d000b917ca77792c4"
            },
            "reference": {
              "objectId": "0x2209ab55b0202608150d2aaba7d0b2cc03df659954b577bd64996511a63b3292",
              "version": 2,
              "digest": "4DR9gcLsEacb1vX9D3ZxaZyME146pWTEgieKMcqHGbYC"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0x793e52965a70e089d4cb66487db3f129a1c180b168957d02cf24c6e36940e49f"
          },
          "reference": {
            "objectId": "0x9c9996406a6494afc93a8d44f19f048a85e4c7d60ec80a18bf158911a8315dea",
            "version": 2,
            "digest": "CJEJosr8ywVetzSgmN2QHfbCXg4E32dy5UJLwoR7c931"
          }
        },
        "eventsDigest": "GJkjmkBDtig9ahD2WTZhfxFdfCfJyBV4RauindRNrsGG"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0x793e52965a70e089d4cb66487db3f129a1c180b168957d02cf24c6e36940e49f",
          "recipient": {
            "AddressOwner": "0x92e30e8e1dc5061bbf38c199f22627e75ff9bf8c469ff03d000b917ca77792c4"
          },
          "objectType": "0x0000000000000000000000000000000000000000000000000000000000000002::example::Object",
          "objectId": "0x2209ab55b0202608150d2aaba7d0b2cc03df659954b577bd64996511a63b3292",
          "version": "2",
          "digest": "6kwvRMKGTDfX4DH4FFGCiQBh1acaiEpWqNYVFu8Fo9bD"
        }
      ]
    },
    {
      "digest": "5geoz1TrEnV2pAA7B5ajgvLo6hHapfki3dJHRJEFBNfc",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0xc1c1d32a27103fcd457cd60a94838b84d41b7344f39832dd4f5fb5bdc06fc4e2"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0xa7b675e9b2f5749415c55996bb9d64a48cf227cd51ebf714d6a33167f44e88d3",
                "version": "2",
                "digest": "6rQmuiBBfgYwziNwTJd8C6XHFpqdCh3HpFNawCfNffoX"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0x27313743d21c6125cddc574110e5297a4c78012deecdd81fdf8b7e86c6b939b1",
          "gasData": {
            "payment": [
              {
                "objectId": "0x1323c206efc6f6beecf319500fa168a183ae34acbb98b7536dc35648dbd2f26f",
                "version": 2,
                "digest": "9tyDfaDfToVfN5nYGFExM6KdxtMw387tNatuPkyTCL8S"
              }
            ],
            "owner": "0x27313743d21c6125cddc574110e5297a4c78012deecdd81fdf8b7e86c6b939b1",
            "price": "10",
            "budget": "20000000"
          }
        },
        "txSignatures": [
          "AM16QCzgNVlStYUgmttSacx9QzvEj1vSkC8sAdcFnbVrGQmHyjnHm6T/jOerM58jYw0inlIYXheHiugGyNx3jgMRulg7b73nUu3TRprbA5crjA2GNVy82lz1LzuQuUiKDQ=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAgwcHTKicQP81FfNYKlIOLhNQbc0TzmDLdT1+1vcBvxOIBAKe2demy9XSUFcVZlrudZKSM8ifNUev3FNajMWf0TojTAgAAAAAAAAAgVvLGpL5vBY4meq444IJgx9UZ2GQYl0kMnE62dpyotqIBAQEBAQABAAAnMTdD0hxhJc3cV0EQ5Sl6THgBLe7N2B/fi36Gxrk5sQETI8IG78b2vuzzGVAPoWihg640rLuYt1Ntw1ZI29LybwIAAAAAAAAAIIQtrte5sP80Osiq8/2nUcNoV06i2LsUK6CnsQj1AjtzJzE3Q9IcYSXN3FdBEOUpekx4AS3uzdgf34t+hsa5ObEKAAAAAAAAAAAtMQEAAAAAAAFhAM16QCzgNVlStYUgmttSacx9QzvEj1vSkC8sAdcFnbVrGQmHyjnHm6T/jOerM58jYw0inlIYXheHiugGyNx3jgMRulg7b73nUu3TRprbA5crjA2GNVy82lz1LzuQuUiKDQ==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "4vj52Sy63v8ZBX2WuoC389yxa7Q5ZDiBxke1oobEgETW",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0x27313743d21c6125cddc574110e5297a4c78012deecdd81fdf8b7e86c6b939b1"
            },
            "reference": {
              "objectId": "0x1323c206efc6f6beecf319500fa168a183ae34acbb98b7536dc35648dbd2f26f",
              "version": 2,
              "digest": "9tyDfaDfToVfN5nYGFExM6KdxtMw387tNatuPkyTCL8S"
            }
          },
          {
            "owner": {
              "AddressOwner": "0xc1c1d32a27103fcd457cd60a94838b84d41b7344f39832dd4f5fb5bdc06fc4e2"
            },
            "reference": {
              "objectId": "0xa7b675e9b2f5749415c55996bb9d64a48cf227cd51ebf714d6a33167f44e88d3",
              "version": 2,
              "digest": "6rQmuiBBfgYwziNwTJd8C6XHFpqdCh3HpFNawCfNffoX"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0x27313743d21c6125cddc574110e5297a4c78012deecdd81fdf8b7e86c6b939b1"
          },
          "reference": {
            "objectId": "0x1323c206efc6f6beecf319500fa168a183ae34acbb98b7536dc35648dbd2f26f",
            "version": 2,
            "digest": "9tyDfaDfToVfN5nYGFExM6KdxtMw387tNatuPkyTCL8S"
          }
        },
        "eventsDigest": "25HeYrYtey4ToAyrxCkjrnfa7rWesCj6J8bawy2MMTth"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0x27313743d21c6125cddc574110e5297a4c78012deecdd81fdf8b7e86c6b939b1",
          "recipient": {
            "AddressOwner": "0xc1c1d32a27103fcd457cd60a94838b84d41b7344f39832dd4f5fb5bdc06fc4e2"
          },
          "objectType": "0x0000000000000000000000000000000000000000000000000000000000000002::example::Object",
          "objectId": "0xa7b675e9b2f5749415c55996bb9d64a48cf227cd51ebf714d6a33167f44e88d3",
          "version": "2",
          "digest": "5EuYqa54WcsyEaPLGqsw5cPtx5H2PibfLCdzPzHiSokr"
        }
      ]
    }
  ]
}

sui_tryGetPastObject

Full Node API

Note there is no software-level guarantee/SLA that objects with past versions can be retrieved by this API, even if the object and version exists/existed. The result may vary across nodes depending on their pruning policies. Return the object information for a specified version

Params

  • object_id : <ObjectID> - the ID of the queried object
  • version : <SequenceNumber> - the version of the queried object. If None, default to the latest known version
  • options : <ObjectDataOptions> - options for specifying the content to be returned

Result

  • SuiPastObjectResponse:<ObjectRead>

Example
Get Past Object data

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "sui_tryGetPastObject",
  "params": [
    "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760",
    4,
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "VersionFound",
    "details": {
      "objectId": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760",
      "version": "4",
      "digest": "5VPAwDXy3BL72ehFc7gSJoz27ahMd6spUg5YwYc4ibcv",
      "type": "0x2::coin::Coin<0x2::sui::SUI>",
      "owner": {
        "AddressOwner": "0x3568c40e814d9d5396d23087a0fd641e91e0e00df6c012cded9ef9ba5e5bf042"
      },
      "previousTransaction": "5jQByoouHBwaico5pQB73GdbzerC2StjTiHh5garBjiV",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI>",
        "hasPublicTransfer": true,
        "fields": {
          "balance": "10000",
          "id": {
            "id": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760"
          }
        }
      }
    }
  }
}

sui_tryMultiGetPastObjects

Read API
Note there is no software-level guarantee/SLA that objects with past versions can be retrieved by this API, even if the object and version exists/existed. The result may vary across nodes depending on their pruning policies. Return the object information for a specified version

Params

  • past_objects : <[GetPastObjectRequest]> - a vector of object and versions to be queried
  • options : <ObjectDataOptions> - options for specifying the content to be returned

Result

  • Vec<SuiPastObjectResponse> : <[ObjectRead]>

suix_getAllBalances

Coin Query API
Return the total coin balance for all coin type, owned by the address owner.

Params

  • owner : <SuiAddress> - the owner's Sui address

Result

  • Vec<Balance> : <[Balance]>

Example
Get all balances for the address in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getAllBalances",
  "params": [
    "0xa74fdb6fdbea46a3ebc7779c45e3e1415579352c128b4d1a2f42fdfbc9c5a73a"
  ]
}

Response

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

suix_getAllCoins

Coin Query API
Return all Coin objects owned by an address.

Params

  • owner : <SuiAddress> - the owner's Sui address
  • cursor : <ObjectID> - optional paging cursor
  • limit : <uint> - maximum number of items per page

Result

  • CoinPage : <Page_for_Coin_and_ObjectID>

Example
Get all coins for the address in the request body. Begin listing the coins that are after the provided cursor value and return only the limit amount of results per page.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getAllCoins",
  "params": [
    "0x441193e99ab6cc2a92f7d37948898292d70420418b84502e506794227f897237",
    "0x764dde8d79a01ab2104bf742a277a2abe035ca41c556b722878b9ae6b4c693a4",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0x7623b91b0c1f72234f841e8ea76be9ec0b5d72879b091d6d6d8f832ef94830cb",
        "version": "103626",
        "digest": "AZbu9haHHhVg4FAkTVpAagF635BKdMMyT8Kq1nCadtbt",
        "balance": "200000000",
        "previousTransaction": "2mufpk8aTSSSRGLYkrpv8EJzW7pXpkPqzW4FYAQu1Z95"
      },
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0xec4c5c752302b12d01726cfaa9bca5c15f8790856802af59971ef9615b01d73d",
        "version": "103626",
        "digest": "23LwBmJXAYK7fwPLbn5GAKVCJjTMb3ky91rfuQYMmYVW",
        "balance": "200000000",
        "previousTransaction": "84rbocBNV2Bnz5wx3o9CWaFStR8Tq282ym2f7sShW5bw"
      },
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0x1c752e81c51b206357d828266c36b53865bb5fe48a1f388f5a97d0d8dfe64f09",
        "version": "103626",
        "digest": "HdLVWgeNCudDMEJZ2mN7c5G9LJge15fKHa13pDSQdYA2",
        "balance": "200000000",
        "previousTransaction": "9AwB9e3Z6uuRFuvFgzQyHYSKHRTiXRwTfc5DVWVrwzL4"
      }
    ],
    "nextCursor": "0x640ee862b96bef84fa98d2fceeb4b9585767750716f58847dd9c66a2024b544c",
    "hasNextPage": true
  }
}

suix_getBalance

Coin Query API
Return the total coin balance for one coin type, owned by the address owner.

Params

  • owner : <SuiAddress> - the owner's Sui address
  • coin_type : <string> - optional type names for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), default to 0x2::sui::SUI if not specified.

Result

  • Balance : <Balance>
    • coinObjectCount : <uint>
    • coinType : <string>
    • lockedBalance : <object>
    • totalBalance : <BigInt_for_uint128>

Example
Get the balance of the specified type of coin for the address in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getBalance",
  "params": [
    "0x703e326f7b6c5bb06e2f69ccf4411308e79595034b7c56ae03d69bab88bbb091",
    "0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC"
  ]
}

Response

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

suix_getCoinMetadata

Coin Query API
Return metadata(e.g., symbol, decimals) for a coin

Params

  • coin_type : <string> - type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)

Result

  • SuiCoinMetadata : <SuiCoinMetadata>
    • decimals : <uint8> - Number of decimal places the coin uses.
    • description : <string> - Description of the token
    • iconUrl : <string,null> - URL for the token logo
    • id : <[ObjectID]> - Object id for the CoinMetadata object
    • name : <string> - Name for the token
    • symbol : <string> - Symbol for the token

Example
Get the metadata for the coin type in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getCoinMetadata",
  "params": [
    "0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC"
  ]
}

Response

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

suix_getCoins

Coin Query API
Return all Coin<coin_type> objects owned by an address.

Params

  • owner : <SuiAddress> - the owner's Sui address
  • coin_type : <string> - optional type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), default to 0x2::sui::SUI if not specified.
  • cursor : <ObjectID> - optional paging cursor
  • limit : <uint> - maximum number of items per page

Result

  • CoinPage : <Page_for_Coin_and_ObjectID>

Example
Get all SUI coins owned by the address provided. Return a paginated list of limit results per page. Similar to suix_getAllCoins, but provides a way to filter by coin type.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getCoins",
  "params": [
    "0x41696ca3ea204b350ed513f80254082f1fadc9347718cef986a866efa6db5c1b",
    "0x2::sui::SUI",
    "0x1d83b6efc4dd779f0890ca3b1f6ba997850aa1ca641faf47cb518d49c1cf182f",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0xd60446af9ce59a85cd194e4715701e55e66b092d67b54aea5028bed04c46a29b",
        "version": "103626",
        "digest": "F4YWin8YQvSgGBQ6VqyfS7usNCqw3e6D4VR3GK6MBK2j",
        "balance": "200000000",
        "previousTransaction": "FRkCdGVJM1tiFJUNPJ4DJhJL9tWNDzQazS8rmUNtgURv"
      },
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0x34be26e69152d2c2e86d8a9bdbd242b32564cd31a71cf9833609b111436d8f0f",
        "version": "103626",
        "digest": "5pxep8QRzhoCeXVtPTDwz9nhHPff4SQoVRxHRG6pg6a9",
        "balance": "200000000",
        "previousTransaction": "5cY4D5G8zdGteAjqXaVtTJ8gFnxMYCjo5gJvcJDsSLCf"
      },
      {
        "coinType": "0x2::sui::SUI",
        "coinObjectId": "0x40e6f0b185af93984cde8cf3870302c062944303fab7b475b723f72ea7072ddb",
        "version": "103626",
        "digest": "6PzoK9qekAmiWGK3YV3JskCsTQB4U6uWb7JUGZCeRnaF",
        "balance": "200000000",
        "previousTransaction": "4UdPuQUQQmBU6aQknQA6RJ93DD2ZbkpkkjJrZXWNxXM3"
      }
    ],
    "nextCursor": "0x40e6f0b185af93984cde8cf3870302c062944303fab7b475b723f72ea7072ddb",
    "hasNextPage": true
  }
}

suix_getCommitteeInfo

Governance Read API

Return the committee information for the asked epoch.

Params

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

Result

  • SuiCommittee : <CommitteeInfo>

Example
Get committee information for epoch 5000.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getCommitteeInfo",
  "params": [
    "5000"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "epoch": "5000",
    "validators": [
      [
        "jc/20VUECmVvSBmxMRG1LFdGqGunLzlfuv4uw4R9HoFA5iSnUf32tfIFC8cgXPnTAATJCwx0Cv/TJs5nPMKyOi0k1T4q/rKG38Zo/UBgCJ1tKxe3md02+Q0zLlSnozjU",
        "2500"
      ],
      [
        "mfJe9h+AMrkUY2RgmCxcxvE07x3a52ZX8sv+wev8jQlzdAgN9vzw3Li8Sw2OCvXYDrv/K0xZn1T0LWMS38MUJ2B4wcw0fru+xRmL4lhRPzhrkw0CwnSagD4jMJVevRoQ",
        "2500"
      ],
      [
        "rd7vlNiYyI5A297/kcXxBfnPLHR/tvK8N+wD1ske2y4aV4z1RL6LCTHiXyQ9WbDDDZihbOO6HWzx1/UEJpkusK2zE0sFW+gUDS218l+wDYP45CIr8B/WrJOh/0152ljy",
        "2500"
      ],
      [
        "s/1e+1yHJAOkrRPxGZUTYG0jNUqEUkmuoVdWTCP/PBXGyeZSty10DoysuTy8wGhrDsDMDBx2C/tCtDZRn8WoBUt2UzqXqfI5h9CX75ax8lJrsgc/oQp3GZQXcjR+8nT0",
        "2500"
      ]
    ]
  }
}

suix_getDynamicFieldObject

Extended API
Return the dynamic field object information for a specified object

Params

  • parent_object_id : <ObjectID> - The ID of the queried parent object
  • name : <DynamicFieldName> - The Name of the dynamic field

Result

  • SuiObjectResponse : <SuiObjectResponse>
    • data : <[ObjectData]>
    • error : <[ObjectResponseError]>

suix_getDynamicFields

Extended API
Return the list of dynamic field objects owned by an object.

Params

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

Result

  • DynamicFieldPage : <Page_for_DynamicFieldInfo_and_ObjectID>

suix_getLatestSuiSystemState

Governance Read API
Return the latest SUI system state object on-chain.

Params

Result

  • SuiSystemStateSummary : <SuiSystemStateSummary>
    • activeValidators : <[SuiValidatorSummary]> - The list of active validators in the current epoch.
    • atRiskValidators : <[SuiAddress]> - Map storing the number of epochs for which each validator has been below the low stake threshold.
    • epoch : <[BigInt_for_uint64]> - The current epoch ID, starting from 0.
    • epochDurationMs : <[BigInt_for_uint64]> - The duration of an epoch, in milliseconds.
    • epochStartTimestampMs : <[BigInt_for_uint64]> - Unix timestamp of the current epoch start
    • inactivePoolsId : <[ObjectID]> - ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.
    • inactivePoolsSize : <[BigInt_for_uint64]> - Number of inactive staking pools.
    • maxValidatorCount : <[BigInt_for_uint64]> - Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
    • minValidatorJoiningStake : <[BigInt_for_uint64]> - Lower-bound on the amount of stake required to become a validator.
    • pendingActiveValidatorsId : <[ObjectID]> - ID of the object that contains the list of new validators that will join at the end of the epoch.
    • pendingActiveValidatorsSize : <[BigInt_for_uint64]> - Number of new validators that will join at the end of the epoch.
    • pendingRemovals : <[BigInt_for_uint64]> - Removal requests from the validators. Each element is an index pointing to active_validators.
    • protocolVersion : <[BigInt_for_uint64]> - The current protocol version, starting from 1.
    • referenceGasPrice : <[BigInt_for_uint64]> - The reference gas price for the current epoch.
    • safeMode : <boolean> - Whether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever we failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once we are able to successfully execute advance_epoch.
    • safeModeComputationRewards : <[BigInt_for_uint64]> - Amount of computation rewards accumulated (and not yet distributed) during safe mode.
    • safeModeNonRefundableStorageFee : <[BigInt_for_uint64]> - Amount of non-refundable storage fee accumulated during safe mode.
    • safeModeStorageRebates : <[BigInt_for_uint64]> - Amount of storage rebates accumulated (and not yet burned) during safe mode.
    • safeModeStorageRewards : <[BigInt_for_uint64]> - Amount of storage rewards accumulated (and not yet distributed) during safe mode.
    • stakeSubsidyBalance : <[BigInt_for_uint64]> - Balance of SUI set aside for stake subsidies that will be drawn down over time.
    • stakeSubsidyCurrentDistributionAmount : <[BigInt_for_uint64]> - The amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.
    • stakeSubsidyDecreaseRate : <uint16> - The rate at which the distribution amount decays at the end of each period. Expressed in basis points.
    • stakeSubsidyDistributionCounter : <[BigInt_for_uint64]> - This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.
    • stakeSubsidyPeriodLength : <[BigInt_for_uint64]> - Number of distributions to occur before the distribution amount decays.
    • stakeSubsidyStartEpoch : <[BigInt_for_uint64]> - The starting epoch in which stake subsidies start being paid out
    • stakingPoolMappingsId : <[ObjectID]> - ID of the object that maps from staking pool's ID to the sui address of a validator.
    • stakingPoolMappingsSize : <[BigInt_for_uint64]> - Number of staking pool mappings.
    • storageFundNonRefundableBalance : <[BigInt_for_uint64]> - The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.
    • storageFundTotalObjectStorageRebates : <[BigInt_for_uint64]> - The storage rebates of all the objects on-chain stored in the storage fund.
    • systemStateVersion : <[BigInt_for_uint64]> - The current version of the system state data structure type.
    • totalStake : <[BigInt_for_uint64]> - Total amount of stake from all active validators at the beginning of the epoch.
    • validatorCandidatesId : <[ObjectID]> - ID of the object that stores preactive validators, mapping their addresses to their Validator structs.
    • validatorCandidatesSize : <[BigInt_for_uint64]> - Number of preactive validators.
    • validatorLowStakeGracePeriod : <[BigInt_for_uint64]> - A validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.
    • validatorLowStakeThreshold : <[BigInt_for_uint64]> - Validators with stake amount below validator_low_stake_threshold are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than validator_low_stake_grace_period number of epochs.
    • validatorReportRecords : <[SuiAddress]> - A map storing the records of validator reporting each other.
    • validatorVeryLowStakeThreshold : <[BigInt_for_uint64]> - Validators with stake below validator_very_low_stake_threshold will be removed immediately at epoch change, no grace period.

suix_getOwnedObjects

Extended API
Return the list of objects owned by an address. Note that if the address owns more than QUERY_MAX_RESULT_LIMIT objects, the pagination is not accurate, because previous page may have been updated when the next page is fetched. Please use suix_queryObjects if this is a concern.

Params

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

Result

  • ObjectsPage : <Page_for_SuiObjectResponse_and_ObjectID>

suix_getReferenceGasPrice

Governance Read API
Return the reference gas price for the network

Params

Result

  • BigInt<u64> : <BigInt_for_uint64>

Example
Get reference gas price information for the network.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getReferenceGasPrice",
  "params": []
}

Response

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

suix_getStakes

Governance Read API
Return all [DelegatedStake].

Params

  • owner : <SuiAddress> -

Result

  • Vec<DelegatedStake> : <[DelegatedStake]>

suix_getStakesByIds

Governance Read API
Return one or more [DelegatedStake]. If a Stake was withdrawn its status will be Unstaked.

Params

  • staked_sui_ids : <[ObjectID]> -

Result

  • Vec<DelegatedStake> : <[DelegatedStake]>

suix_getTotalSupply

Coin Query API
Return total supply for a coin

Params

  • coin_type : <string> - type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)

Result

  • Supply : <Supply>
    • value : <BigInt_for_uint64>

Example
Get total supply for the type of coin provided.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getTotalSupply",
  "params": [
    "0xcf8ecceac97dd580e26f0b5bf17fbc86a323d541ba5cf9e34919d2644cda38a2::acoin::ACOIN"
  ]
}

Response

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

suix_getValidatorsApy

Governance Read API
Return the validator APY

Params

Result

  • ValidatorApys : <ValidatorApys>
    • apys : <[ValidatorApy]>
    • epoch : <BigInt_for_uint64>

Example
Get the APY for all validators.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_getValidatorsApy",
  "params": []
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "apys": [
      {
        "address": "0xca6d9eb1258bfd1ad92af329a07781ee71e60065e00f2de961630d3505f8905a",
        "apy": 0.06
      },
      {
        "address": "0x0f4d42c6ff39a78a6ba2b28f68a3299ec3417bbabc6717dcc95b9e341bc3aba1",
        "apy": 0.02
      },
      {
        "address": "0x654bdbad707dcd773bd6309363447ef3fe58a960de92aa9377b3482580ee8d5b",
        "apy": 0.05
      }
    ],
    "epoch": "420"
  }
}

suix_queryEvents

Extended API
Return list of events for a specified query criteria.

Params

  • query : <EventFilter> - the event query criteria.
  • cursor : <EventID> - optional paging cursor
  • limit : <uint> - maximum number of items per page, default to [QUERY_MAX_RESULT_LIMIT] if not specified.
  • descending_order : <boolean> - query result ordering, default to false (ascending order), oldest record first.

Result

  • EventPage : <Page_for_Event_and_EventID>

suix_queryTransactionBlocks

Extended API
Return list of transactions for a specified query criteria.

Params

  • query : <TransactionBlockResponseQuery> - the transaction query criteria.
  • cursor : <TransactionDigest> - An optional paging cursor. If provided, the query will start from the next item after the specified cursor. Default to start from the first item if not specified.
  • limit : <uint> - Maximum item returned per page, default to QUERY_MAX_RESULT_LIMIT if not specified.
  • descending_order : <boolean> - query result ordering, default to false (ascending order), oldest record first.

Result

  • TransactionBlocksPage : <Page_for_TransactionBlockResponse_and_TransactionDigest>

Example
Return the transaction digest for specified query criteria.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "suix_queryTransactionBlocks",
  "params": [
    {
      "filter": {
        "InputObject": "0x93633829fcba6d6e0ccb13d3dbfe7614b81ea76b255e5d435032cd8595f37eb8"
      },
      "options": null
    },
    "HxidAfFfyr4kXSiWeVq1J6Tk526YUVDoSUY5PSnS4tEJ",
    100,
    false
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "digest": "GUPcK4cmRmgsTFr52ab9f6fnzNVg3Lz6hF2aXFcsRzaD"
      },
      {
        "digest": "B2iV1SVbBjgTKfbJKPQrvTT6F3kNdekFuBwY9tQcAxV2"
      },
      {
        "digest": "8QrPa4x9iNG5r2zQfmeH8pJoVjjtq9AGzp8rp2fxi8Sk"
      },
      {
        "digest": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F"
      }
    ],
    "nextCursor": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F",
    "hasNextPage": false
  }
}

suix_resolveNameServiceAddress

Extended API
Return the resolved address given resolver and name

Params

  • name : <string> - The name to resolve

Result

  • SuiAddress : <SuiAddress>

suix_resolveNameServiceNames

Extended API
Return the resolved names given address, if multiple names are resolved, the first one is the primary name.

Params

  • address : <SuiAddress> - The address to resolve
  • cursor : <ObjectID> -
  • limit : <uint> -

Result

  • Page<String,ObjectID> : <Page_for_String_and_ObjectID>

suix_subscribeEvent

Extended API, Websocket, PubSub
Subscribe to a stream of Sui event

Params

  • filter : <EventFilter> - the filter criteria of the event stream, see the Sui docs for detailed examples.

Result

  • SuiEvent : <Event>

suix_subscribeTransaction

Extended API, Websocket, PubSub
Subscribe to a stream of Sui transaction effects

Params

  • filter : <TransactionFilter> -

Result

  • SuiTransactionBlockEffects : <TransactionBlockEffects>

unsafe_batchTransaction

Transaction Builder API
Create an unsigned batched transaction.

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • single_transaction_params : <[RPCTransactionRequestParams]> - list of transaction request parameters
    gas : <ObjectID> - 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

Result

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

unsafe_mergeCoins

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

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • primary_coin : <ObjectID> - the coin object to merge into, this coin will remain after the transaction
  • oin_to_merge : <ObjectID> - the coin object to be merged, this coin will be destroyed, the balance will be added to primary_coin
  • gas : <ObjectID> - 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

Result

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

unsafe_moveCall

Transaction Builder API
Create an unsigned transaction to execute a Move call on the network, by calling the specified function in the module of a given package.

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • package_object_id : <ObjectID> - the Move package ID, e.g. 0x2
  • module : <string> - the Move module name, e.g. pay
  • function : <string> - the move function name, e.g. 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> - 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. Default to be SuiTransactionBlockBuilderMode::Commit when it's None.

Result

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

unsafe_pay

Transaction Builder API
Send Coin<T> to a list of addresses, where T can be any coin type, following a list of amounts, The object specified in the gas field will be used to pay the gas fee for the transaction. The gas object can not appear in input_coins. If the gas object is not specified, the RPC server will auto-select one.

Params

  • 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> - 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

Result

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

unsafe_payAllSui

Transaction Builder API
Send all SUI coins to one recipient. This is for SUI coin only and does not require a separate gas coin object. Specifically, what pay_all_sui does are: 1. accumulate all SUI from input coins and deposit all SUI to the first input coin 2. transfer the updated first coin to the recipient and also use this first coin as gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - actual_gas_cost. 4. all other input coins other than the first are deleted.

Params

  • 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

Result

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

unsafe_paySui

Transaction Builder API
Send SUI coins to a list of addresses, following a list of amounts. This is for SUI coin only and does not require a separate gas coin object. Specifically, what pay_sui does are: 1. debit each input_coin to create new coin following the order of amounts and assign it to the corresponding recipient. 2. accumulate all residual SUI from input coins left and deposit all SUI to the first input coin, then use the first input coin as the gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - sum(amounts) - actual_gas_cost 4. all other input coints other than the first one are deleted.

Params

  • 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

Result

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

unsafe_publish

Transaction Builder API

Create an unsigned transaction to publish Move module.

Params

  • sender : <SuiAddress> - the transaction signer's Sui address
  • compiled_modules : <[Base64]> - the compiled bytes of a move module, the
  • dependencies : <[ObjectID]> - a list of transitive dependency addresses that this set of modules depends on.
  • gas : <ObjectID> - gas object to be used in this transaction, the gateway 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

Result

  • TransactionBlockBytes : <TransactionBlockBytes>

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

unsafe_requestAddStake

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

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • coins : <[ObjectID]> - Coin object to stake
  • amount : <BigInt_for_uint64> - stake amount
  • validator : <SuiAddress> - the validator's Sui address
  • gas : <ObjectID> - 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

Result

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

unsafe_requestWithdrawStake

Transaction Builder API
Withdraw stake from a validator's staking pool.

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • staked_sui : <ObjectID> - StakedSui object ID
  • gas : <ObjectID> - 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

Result

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

unsafe_splitCoin

Transaction Builder API

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

Params

  • 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> - 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

Result

  • TransactionBlockBytes : <TransactionBlockBytes>

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

unsafe_splitCoinEqual

Transaction Builder API

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

Params

  • 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> - gas object to be used in this transaction, the 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

Result

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

unsafe_transferObject

Transaction Builder API

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

Params

  • signer : <SuiAddress> - the transaction signer's Sui address
  • object_id : <ObjectID> - the ID of the object to be transferred
  • gas : <ObjectID> - gas object to be used in this transaction, the 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

Result

  • TransactionBlockBytes:<TransactionBlockBytes>

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

unsafe_transferSui

Transaction Builder API

Create an unsigned transaction to send SUI coin object to a Sui address. The SUI object is also used as the gas object.

Params

  • 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

Result

  • TransactionBlockBytes:<TransactionBlockBytes>

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