Sui JSON-RPC (V 0.29.0)
Sui JSON-RPC API for interaction with Sui Full node.
sui_devInspectTransactionBlock#
Write APIRuns 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.
Paramssender_address
:<SuiAddress>
-tx_bytes
:<Base64>
- BCS encoded TransactionKind(as opposed to TransactionData, which include gasBudget and gasPrice)gas_price
:<BigInt>
- Gas is not charged, but gas usage is still calculated. Default to use reference gas priceepoch
:<uint64>
- The epoch to perform the call. Will be set from the system state object if not provided
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
-
effects :
sui_dryRunTransactionBlock#
Write APIReturn transaction execution effects including the gas cost summary, while the effects are not committed to the chain.
Paramstx_bytes
:<Base64>
-
DryRunTransactionBlockResponse
:<DryRunTransactionBlockResponse>
-
balanceChanges :
<[BalanceChange]>
-
effects :
<TransactionBlockEffects>
-
events :
<[Event]>
-
objectChanges :
<[ObjectChange]>
-
balanceChanges :
sui_executeTransactionBlock#
Write APIExecute the transaction and wait for results if desired. Request types: 1. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client. This mode is a proxy for transaction finality. 2. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node executed the transaction locally before returning the client. The local execution makes sure this node is aware of this transaction when client fires subsequent queries. However if the node fails to execute the transaction locally in a timely manner, a bool type in the response is set to false to indicated the case. request_type is default to be `WaitForEffectsCert` unless options.show_events or options.show_effects is true
Paramstx_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 returnedrequest_type
:<ExecuteTransactionRequestType>
- The request type, derived from `SuiTransactionBlockResponseOptions` if None
SuiTransactionBlockResponse
:<TransactionBlockResponse>
Example
Execute an transaction with serialized signatures
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_executeTransactionBlock",
"params": [
"AAACACB7qR3cfnF89wjJNwYPBASHNuwz+xdG2Zml5YzVxnftgAEAT4LxyFh7mNZMAL+0bDhDvYv2zPp8ZahhOGmM0f3Kw9wCAAAAAAAAACCxDABG4pPAjOwPQHg9msS/SrtNf4IGR/2F0ZGD3ufH/wEBAQEBAAEAAGH7tbTzQqQL2/h/5KlGueONGM+P/HsAALl1F1x7apV2AejYx86GPzE9o9vZKoPvJtEouI/ma/JuDg0Jza9yfR2EAgAAAAAAAAAgzMqpegLMOpgEFnDhYJ23FOmFjJbp5GmFXxzzv9+X6GVh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgEAAAAAAAAA6AMAAAAAAAAA",
[
"ALGzUorJ5eSfoPZSblxKUjNuNnB9R06PFVBmbopMmzcmHgZZWAfIpxifHMP9ogXFMxb0weTzRgVbUf241OrvvA1Dij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ=="
],
{
"showInput": true,
"showRawInput": true,
"showEffects": true,
"showEvents": true,
"showObjectChanges": true,
"showBalanceChanges": true
},
"WaitForLocalExecution"
]
}
{
"jsonrpc": "2.0",
"result": {
"digest": "2Hjgdebhao13ea4AUoE2cxQqrWYSz6iK88tqf53WdaWY",
"transaction": {
"data": {
"messageVersion": "v1",
"transaction": {
"kind": "ProgrammableTransaction",
"inputs": [
{
"type": "pure",
"valueType": "address",
"value": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
{
"type": "object",
"objectType": "immOrOwnedObject",
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": 2,
"digest": "Cv7n2YaM7Am1ssZGu4khsFkcKHnpgVhwFCSs4kLjrtLW"
}
],
"transactions": [
{
"TransferObjects": [
[
{
"Input": 1
}
],
{
"Input": 0
}
]
}
]
},
"sender": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"gasData": {
"payment": [
{
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
],
"owner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"price": 1,
"budget": 1000
}
},
"txSignatures": [
"ALGzUorJ5eSfoPZSblxKUjNuNnB9R06PFVBmbopMmzcmHgZZWAfIpxifHMP9ogXFMxb0weTzRgVbUf241OrvvA1Dij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ=="
]
},
"rawTransaction": "AQAAAAAAAgAge6kd3H5xfPcIyTcGDwQEhzbsM/sXRtmZpeWM1cZ37YABAE+C8chYe5jWTAC/tGw4Q72L9sz6fGWoYThpjNH9ysPcAgAAAAAAAAAgsQwARuKTwIzsD0B4PZrEv0q7TX+CBkf9hdGRg97nx/8BAQEBAQABAABh+7W080KkC9v4f+SpRrnjjRjPj/x7AAC5dRdce2qVdgHo2MfOhj8xPaPb2SqD7ybRKLiP5mvybg4NCc2vcn0dhAIAAAAAAAAAIMzKqXoCzDqYBBZw4WCdtxTphYyW6eRphV8c87/fl+hlYfu1tPNCpAvb+H/kqUa5440Yz4/8ewAAuXUXXHtqlXYBAAAAAAAAAOgDAAAAAAAAAAFhALGzUorJ5eSfoPZSblxKUjNuNnB9R06PFVBmbopMmzcmHgZZWAfIpxifHMP9ogXFMxb0weTzRgVbUf241OrvvA1Dij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "8UExPV121BEfWkbymSPDYhh23rVNh3MSWtC5juJ9JGMJ",
"mutated": [
{
"owner": {
"AddressOwner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576"
},
"reference": {
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
},
{
"owner": {
"AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
"reference": {
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": 2,
"digest": "Cv7n2YaM7Am1ssZGu4khsFkcKHnpgVhwFCSs4kLjrtLW"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576"
},
"reference": {
"objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
"version": 2,
"digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
}
},
"eventsDigest": "55TNn3v5vpuXjQfjqamw76P9GZD522pumo4NuT7RYeFB"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x61fbb5b4f342a40bdbf87fe4a946b9e38d18cf8ffc7b0000b975175c7b6a9576",
"recipient": {
"AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
},
"objectType": "0x2::example::Object",
"objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
"version": 2,
"digest": "B3xLC8EbyvTxy5pgiwTNUzHLa6kS7uwD6sZdErKB8F8f"
}
]
}
}
sui_getCheckpoint#
Read APIReturn a checkpoint
Paramsid
:<CheckpointId>
- Checkpoint identifier, can use either checkpoint digest, or checkpoint sequence number as input.
Checkpoint
:<Checkpoint>
-
checkpointCommitments :
<[CheckpointCommitment]>
- Commitments to checkpoint state -
digest :
<[CheckpointDigest]>
- Checkpoint digest -
endOfEpochData :
<[EndOfEpochData]>
- Present only on the final checkpoint of the epoch. -
epoch :
<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 :
<uint64>
- Total number of transactions committed since genesis, including those in this checkpoint. -
previousDigest :
<[CheckpointDigest]>
- Digest of the previous checkpoint -
sequenceNumber :
<[BigInt]>
- Checkpoint sequence number -
timestampMs :
<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
-
checkpointCommitments :
Example
Get checkpoint
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getCheckpoint",
"params": [
"1000"
]
}
{
"jsonrpc": "2.0",
"result": {
"epoch": 5000,
"sequenceNumber": "1000",
"digest": "GMkZ4a6i2fffTRY1K8PpKt275xuk9SmYykpLhAgMLekq",
"networkTotalTransactions": 792385,
"previousDigest": "5toSLTmiTe8VRSUbHxuW9w5JXVxjjE1MyajzG5tb52UQ",
"epochRollingGasCostSummary": {
"computationCost": 0,
"storageCost": 0,
"storageRebate": 0,
"nonRefundableStorageFee": 0
},
"timestampMs": 1676911928,
"transactions": [
"3bpzHaSLTQ6p4trLDk2euZxzQ6XqLeWDmUNTAdEXXL2c"
],
"checkpointCommitments": []
}
}
sui_getCheckpoints#
Read APIReturn paginated list of checkpoints
Paramscursor
:<BigInt>
- 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.
CheckpointPage
:<Page_for_Checkpoint_and_BigInt>
sui_getEvents#
Read APIReturn transaction events.
Paramstransaction_digest
:<TransactionDigest>
- the event query criteria.
Vec<SuiEvent>
:<[Event]>
Example
Return the Events emitted by a transaction
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getEvents",
"params": [
"Bo1wDt96tFw2NjYMr5z8YBVyG1vn1RttXfgx1rQWUZ9x"
]
}
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"id": {
"txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
"eventSeq": 0
},
"packageId": "0x7f7e625ea319aa0a1848666ffed2291ae24a3f8177353a05220d765ca9c421a3",
"transactionModule": "test_module",
"sender": "0x68083f18fe472f39557dc42aaefeeb8c154d7ddc456b8aeaa3132c7403531dc9",
"type": "0x9::test::TestEvent",
"parsedJson": {
"test": "example value"
},
"bcs": ""
}
],
"nextCursor": {
"txDigest": "11a72GCQ5hGNpWGh2QhQkkusTEGS6EDqifJqxr7nSYX",
"eventSeq": 5
},
"hasNextPage": false
}
}
sui_getLatestCheckpointSequenceNumber#
Read APIReturn the sequence number of the latest checkpoint that has been executed
ParamsSuiCheckpointSequenceNumber
:<BigInt>
sui_getMoveFunctionArgTypes#
Move UtilsReturn the argument types of a Move function, based on normalized Type.
Paramspackage
:<ObjectID>
-module
:<string>
-function
:<string>
-
Vec<MoveFunctionArgType>
:<[MoveFunctionArgType]>
sui_getNormalizedMoveFunction#
Move UtilsReturn a structured representation of Move function
Paramspackage
:<ObjectID>
-module_name
:<string>
-function_name
:<string>
-
SuiMoveNormalizedFunction
:<SuiMoveNormalizedFunction>
-
isEntry :
<boolean>
-
parameters :
<[SuiMoveNormalizedType]>
-
return :
<[SuiMoveNormalizedType]>
-
typeParameters :
<[SuiMoveAbilitySet]>
-
visibility :
<SuiMoveVisibility>
-
isEntry :
sui_getNormalizedMoveModule#
Move UtilsReturn a structured representation of Move module
Paramspackage
:<ObjectID>
-module_name
:<string>
-
SuiMoveNormalizedModule
:<SuiMoveNormalizedModule>
-
address :
<string>
-
exposedFunctions :
<object>
-
fileFormatVersion :
<uint32>
-
friends :
<[SuiMoveModuleId]>
-
name :
<string>
-
structs :
<object>
-
address :
sui_getNormalizedMoveModulesByPackage#
Move UtilsReturn structured representations of all modules in the given package
Paramspackage
:<ObjectID>
-
BTreeMap<String,SuiMoveNormalizedModule>
:<object>
sui_getNormalizedMoveStruct#
Move UtilsReturn a structured representation of Move struct
Paramspackage
:<ObjectID>
-module_name
:<string>
-struct_name
:<string>
-
SuiMoveNormalizedStruct
:<SuiMoveNormalizedStruct>
-
abilities :
<SuiMoveAbilitySet>
-
fields :
<[SuiMoveNormalizedField]>
-
typeParameters :
<[SuiMoveStructTypeParameter]>
-
abilities :
sui_getObject#
Read APIReturn the object information for a specified object
Paramsobject_id
:<ObjectID>
- the ID of the queried objectoptions
:<ObjectDataOptions>
- options for specifying the content to be returned
SuiObjectResponse
:<SuiObjectResponse>
-
data :
<[ObjectData]>
-
error :
<[ObjectResponseError]>
-
data :
Example
Get Object data
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getObject",
"params": [
"0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
{
"showType": true,
"showOwner": true,
"showPreviousTransaction": true,
"showDisplay": false,
"showContent": true,
"showBcs": false,
"showStorageRebate": true
}
]
}
{
"jsonrpc": "2.0",
"result": {
"data": {
"objectId": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809",
"version": 1,
"digest": "33K5ZXJ3RyubvYaHuEnQ1QXmmbhgtrFwp199dnEbL4n7",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0xc8ec1d5b84dd6289e193b9f88de4a994358c9f856135236c3e75a925e1c77ac3"
},
"previousTransaction": "5PLgmQye6rraDYqpV3npV6H1cUXoJZgJh1dPCyRa3WCv",
"storageRebate": 100,
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "10000",
"id": {
"id": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809"
}
}
}
}
}
}
sui_getTotalTransactionBlocks#
Read APIReturn the total number of transactions known to the server.
ParamsBigInt
:<BigInt>
Example
Get total number of transactions
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getTotalTransactionBlocks",
"params": []
}
{
"jsonrpc": "2.0",
"result": 100
}
sui_getTransactionBlock#
Read APIReturn the transaction response object.
Paramsdigest
:<TransactionDigest>
- the digest of the queried transactionoptions
:<TransactionBlockResponseOptions>
- options for specifying the content to be returned
SuiTransactionBlockResponse
:<TransactionBlockResponse>
Example
Return the transaction response object for specified transaction digest
{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getTransactionBlock",
"params": [
"GRNP6yJU4XF11j6MXwi1MEJZxcWk2BnyZczNwnS5QgSC",
{
"showInput": true,
"showRawInput": false,
"showEffects": true,
"showEvents": true,
"showObjectChanges": false,
"showBalanceChanges": false
}
]
}
{
"jsonrpc": "2.0",
"result": {
"digest": "GRNP6yJU4XF11j6MXwi1MEJZxcWk2BnyZczNwnS5QgSC",
"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": 1,
"budget": 1000
}
},
"txSignatures": [
"AJY4zVI51I4JcmR04FFv9e5pShBckeC0Tu7Jsejgt84ZqDwX+yZXN4Tlo/wmFUDaZh34SS2BmXW+J4HVC8+xFwptCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA=="
]
},
"rawTransaction": "AQAAAAAAAgAggZbQSLem0EyO3IlXnYb9P8kMUvmhTGuBK5T+YTxbzrsBAF7rHUSeJRYWbVfXH96xVNDcns23swBX0KkyaEysNSzcAgAAAAAAAAAg43+UGkUe+CCaD7+/G1SbK7Jrjq7giJUUbfJ7w88mEMEBAQEBAQABAACCF5xX1Ylbq/tlXNYujohqUzNLXnvpvmWOt1nMNeP8ZgEaPomAKdAk7sHUTGr14vrN7YTQO1NzUU8W49ZuAAgQUQIAAAAAAAAAIGS7c6HtWLLBiwy/N3eS4gbmuA1NXupk4ucFY7FYkCbEghecV9WJW6v7ZVzWLo6IalMzS1576b5ljrdZzDXj/GYBAAAAAAAAAOgDAAAAAAAAAAFhAJY4zVI51I4JcmR04FFv9e5pShBckeC0Tu7Jsejgt84ZqDwX+yZXN4Tlo/wmFUDaZh34SS2BmXW+J4HVC8+xFwptCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA==",
"effects": {
"messageVersion": "v1",
"status": {
"status": "success"
},
"executedEpoch": "0",
"gasUsed": {
"computationCost": "100",
"storageCost": "100",
"storageRebate": "10",
"nonRefundableStorageFee": "0"
},
"transactionDigest": "6AyFnAuKAKCqm1cD94EyGzBqJCDDJ716ojjmsKF2rqoi",
"mutated": [
{
"owner": {
"AddressOwner": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66"
},
"reference": {
"objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
"version": 2,
"digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
}
},
{
"owner": {
"AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
},
"reference": {
"objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
"version": 2,
"digest": "GK4NxEKSrK88XkPNeuBqtJYPmU9yMTWMD7K9TdU4ybKN"
}
}
],
"gasObject": {
"owner": {
"ObjectOwner": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66"
},
"reference": {
"objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
"version": 2,
"digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
}
},
"eventsDigest": "9BQobwxQvJ1JxSXNn8v8htZPTu8FEzJJGgcD4kgLUuMd"
},
"objectChanges": [
{
"type": "transferred",
"sender": "0x82179c57d5895babfb655cd62e8e886a53334b5e7be9be658eb759cc35e3fc66",
"recipient": {
"AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
},
"objectType": "0x2::example::Object",
"objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
"version": 2,
"digest": "64UQ3a7m1mjWuzgyGoH8RnMyPGDN4XYTC9dS4qiSfdK4"
}
]
}
}
sui_multiGetObjects#
Read APIReturn the object data for a list of objects
Paramsobject_ids
:<[ObjectID]>
- the IDs of the queried objectsoptions
:<ObjectDataOptions>
- options for specifying the content to be returned
Vec<SuiObjectResponse>
:<[SuiObjectResponse]>
sui_multiGetTransactionBlocks#
Read APIReturns 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
Paramsdigests
:<[TransactionDigest]>
- A list of transaction digests.options
:<TransactionBlockResponseOptions>
- config options to control which fields to fetch
Vec<SuiTransactionBlockResponse>
:<[TransactionBlockResponse]>
sui_tryGetPastObject#
Read APINote 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
Paramsobject_id
:<ObjectID>
- the ID of the queried objectversion
:<SequenceNumber>
- the version of the queried object. If None, default to the latest known versionoptions
:<ObjectDataOptions>
- options for specifying the content to be returned
SuiPastObjectResponse
:<ObjectRead>
Example
Get Past Object data
{
"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
}
]
}
{
"jsonrpc": "2.0",
"result": {
"status": "VersionFound",
"details": {
"objectId": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760",
"version": 4,
"digest": "5VPAwDXy3BL72ehFc7gSJoz27ahMd6spUg5YwYc4ibcv",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"owner": {
"AddressOwner": "0x3568c40e814d9d5396d23087a0fd641e91e0e00df6c012cded9ef9ba5e5bf042"
},
"previousTransaction": "5jQByoouHBwaico5pQB73GdbzerC2StjTiHh5garBjiV",
"storageRebate": 100,
"content": {
"dataType": "moveObject",
"type": "0x2::coin::Coin<0x2::sui::SUI>",
"hasPublicTransfer": true,
"fields": {
"balance": "10000",
"id": {
"id": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760"
}
}
}
}
}
}
sui_tryMultiGetPastObjects#
Read APINote 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
Paramspast_objects
:<[GetPastObjectRequest]>
- a vector of object and versions to be queriedoptions
:<ObjectDataOptions>
- options for specifying the content to be returned
Vec<SuiPastObjectResponse>
:<[ObjectRead]>
suix_getAllBalances#
Coin Query APIReturn the total coin balance for all coin type, owned by the address owner.
Paramsowner
:<SuiAddress>
- the owner's Sui address
Vec<Balance>
:<[Balance]>
suix_getAllCoins#
Coin Query APIReturn all Coin objects owned by an address.
Paramsowner
:<SuiAddress>
- the owner's Sui addresscursor
:<ObjectID>
- optional paging cursorlimit
:<uint>
- maximum number of items per page
CoinPage
:<Page_for_Coin_and_ObjectID>
suix_getBalance#
Coin Query APIReturn the total coin balance for one coin type, owned by the address owner.
Paramsowner
:<SuiAddress>
- the owner's Sui addresscoin_type
:<string>
- optional type names for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC), default to 0x2::sui::SUI if not specified.
Balance
:<Balance>
-
coinObjectCount :
<uint>
-
coinType :
<string>
-
lockedBalance :
<object>
-
totalBalance :
<uint128>
-
coinObjectCount :
suix_getCoinMetadata#
Coin Query APIReturn metadata(e.g., symbol, decimals) for a coin
Paramscoin_type
:<string>
- type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)
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
-
decimals :
suix_getCoins#
Coin Query APIReturn all Coin<`coin_type`> objects owned by an address.
Paramsowner
:<SuiAddress>
- the owner's Sui addresscoin_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 cursorlimit
:<uint>
- maximum number of items per page
CoinPage
:<Page_for_Coin_and_ObjectID>
suix_getCommitteeInfo#
Governance Read APIReturn the committee information for the asked `epoch`.
Paramsepoch
:<uint64>
- The epoch of interest. If None, default to the latest epoch
SuiCommittee
:<CommitteeInfo>
suix_getCurrentEpoch#
Extended APIReturn current epoch info
ParamsEpochInfo
:<EpochInfo>
-
endOfEpochInfo :
<[EndOfEpochInfo]>
-
epoch :
<uint64>
- epoch number -
epochStartTimestamp :
<uint64>
-
epochTotalTransactions :
<uint64>
- count of tx in epoch -
firstCheckpointId :
<uint64>
- first, last checkpoint sequence numbers -
validators :
<[SuiValidatorSummary]>
- list of validators included in epoch
-
endOfEpochInfo :
suix_getDynamicFieldObject#
Extended APIReturn the dynamic field object information for a specified object
Paramsparent_object_id
:<ObjectID>
- The ID of the queried parent objectname
:<DynamicFieldName>
- The Name of the dynamic field
SuiObjectResponse
:<SuiObjectResponse>
-
data :
<[ObjectData]>
-
error :
<[ObjectResponseError]>
-
data :
suix_getDynamicFields#
Extended APIReturn the list of dynamic field objects owned by an object.
Paramsparent_object_id
:<ObjectID>
- The ID of the parent objectcursor
:<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.
DynamicFieldPage
:<Page_for_DynamicFieldInfo_and_ObjectID>
suix_getEpochs#
Extended APIReturn a list of epoch info
Paramscursor
:<uint64>
- optional paging cursorlimit
:<uint>
- maximum number of items per pagedescending_order
:<boolean>
- flag to return results in descending order
EpochPage
:<Page_for_EpochInfo_and_uint64>
suix_getLatestSuiSystemState#
Governance Read APIReturn the latest SUI system state object on-chain.
ParamsSuiSystemStateSummary
:<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 :
<uint64>
- The current epoch ID, starting from 0. -
epochDurationMs :
<uint64>
- The duration of an epoch, in milliseconds. -
epochStartTimestampMs :
<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 :
<uint64>
- Number of inactive staking pools. -
maxValidatorCount :
<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 :
<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 :
<uint64>
- Number of new validators that will join at the end of the epoch. -
pendingRemovals :
<[]>
- Removal requests from the validators. Each element is an index pointing to `active_validators`. -
protocolVersion :
<uint64>
- The current protocol version, starting from 1. -
referenceGasPrice :
<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 :
<uint64>
- Amount of computation rewards accumulated (and not yet distributed) during safe mode. -
safeModeNonRefundableStorageFee :
<uint64>
- Amount of non-refundable storage fee accumulated during safe mode. -
safeModeStorageRebates :
<uint64>
- Amount of storage rebates accumulated (and not yet burned) during safe mode. -
safeModeStorageRewards :
<uint64>
- Amount of storage rewards accumulated (and not yet distributed) during safe mode. -
stakeSubsidyBalance :
<uint64>
- Balance of SUI set aside for stake subsidies that will be drawn down over time. -
stakeSubsidyCurrentDistributionAmount :
<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 :
<uint64>
- This counter may be different from the current epoch number if in some epochs we decide to skip the subsidy. -
stakeSubsidyPeriodLength :
<uint64>
- Number of distributions to occur before the distribution amount decays. -
stakeSubsidyStartEpoch :
<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 :
<uint64>
- Number of staking pool mappings. -
storageFundNonRefundableBalance :
<uint64>
- The non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards. -
storageFundTotalObjectStorageRebates :
<uint64>
- The storage rebates of all the objects on-chain stored in the storage fund. -
systemStateVersion :
<uint64>
- The current version of the system state data structure type. -
totalStake :
<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 :
<uint64>
- Number of preactive validators. -
validatorLowStakeGracePeriod :
<uint64>
- A validator can have stake below `validator_low_stake_threshold` for this many epochs before being kicked out. -
validatorLowStakeThreshold :
<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 :
<uint64>
- Validators with stake below `validator_very_low_stake_threshold` will be removed immediately at epoch change, no grace period.
-
activeValidators :
suix_getMoveCallMetrics#
Extended APIReturn Network metrics
ParamsMoveCallMetrics
:<MoveCallMetrics>
-
rank30Days :
<[MoveFunctionName]>
-
rank3Days :
<[MoveFunctionName]>
-
rank7Days :
<[MoveFunctionName]>
-
rank30Days :
suix_getNetworkMetrics#
Extended APIReturn Network metrics
ParamsNetworkMetrics
:<NetworkMetrics>
-
currentCheckpoint :
<uint64>
- Current checkpoint number -
currentEpoch :
<uint64>
- Current epoch number -
currentTps :
<double>
- Current TPS - Transaction Blocks per Second. -
totalAddresses :
<uint64>
- Total number of addresses seen in the network -
totalObjects :
<uint64>
- Total number of live objects in the network -
totalPackages :
<uint64>
- Total number of packages published in the network -
tps30Days :
<double>
- Peak TPS in the past 30 days
-
currentCheckpoint :
suix_getOwnedObjects#
Extended APIReturn the list of objects owned by an address.
Paramsaddress
:<SuiAddress>
- the owner's Sui addressquery
:<ObjectResponseQuery>
- the objects query criteria.cursor
:<CheckpointedObjectID>
- 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_OBJECTS] if not specified.
ObjectsPage
:<Page_for_SuiObjectResponse_and_CheckpointedObjectID>
suix_getReferenceGasPrice#
Governance Read APIReturn the reference gas price for the network
ParamsBigInt
:<BigInt>
suix_getStakes#
Governance Read APIReturn all [DelegatedStake].
Paramsowner
:<SuiAddress>
-
Vec<DelegatedStake>
:<[DelegatedStake]>
suix_getStakesByIds#
Governance Read APIReturn one or more [DelegatedStake]. If a Stake was withdrawn its status will be Unstaked.
Paramsstaked_sui_ids
:<[ObjectID]>
-
Vec<DelegatedStake>
:<[DelegatedStake]>
suix_getTotalSupply#
Coin Query APIReturn total supply for a coin
Paramscoin_type
:<string>
- type name for the coin (e.g., 0x168da5bf1f48dafc111b0a488fa454aca95e0b5e::usdc::USDC)
Supply
:<Supply>
-
value :
<uint64>
-
value :
suix_queryEvents#
Extended APIReturn list of events for a specified query criteria.
Paramsquery
:<EventFilter>
- the event query criteria.cursor
:<EventID>
- optional paging cursorlimit
:<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.
EventPage
:<Page_for_Event_and_EventID>
suix_queryObjects#
Extended APIReturn the list of queried objects. Note that this is an enhanced full node only api.
Paramsquery
:<ObjectResponseQuery>
- the objects query criteria.cursor
:<CheckpointedObjectID>
- 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_OBJECTS] if not specified.
ObjectsPage
:<Page_for_SuiObjectResponse_and_CheckpointedObjectID>
suix_queryTransactionBlocks#
Extended APIReturn list of transactions for a specified query criteria.
Paramsquery
:<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.
TransactionBlocksPage
:<Page_for_TransactionBlockResponse_and_TransactionDigest>
Example
Return the transaction digest for specified query criteria
{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_queryTransactionBlocks",
"params": [
{
"filter": {
"InputObject": "0x93633829fcba6d6e0ccb13d3dbfe7614b81ea76b255e5d435032cd8595f37eb8"
},
"options": null
},
"HxidAfFfyr4kXSiWeVq1J6Tk526YUVDoSUY5PSnS4tEJ",
100,
false
]
}
{
"jsonrpc": "2.0",
"result": {
"data": [
{
"digest": "GUPcK4cmRmgsTFr52ab9f6fnzNVg3Lz6hF2aXFcsRzaD"
},
{
"digest": "B2iV1SVbBjgTKfbJKPQrvTT6F3kNdekFuBwY9tQcAxV2"
},
{
"digest": "8QrPa4x9iNG5r2zQfmeH8pJoVjjtq9AGzp8rp2fxi8Sk"
},
{
"digest": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F"
}
],
"nextCursor": "3nek86HEjXZ7K3EtrAcBG4wMrCS21gqr8BqwwC6M6P7F",
"hasNextPage": false
}
}
suix_subscribeEvent#
Extended API, Websocket, PubSubSubscribe to a stream of Sui event
Paramsfilter
:<EventFilter>
- the filter criteria of the event stream, see the <a href="https://docs.sui.io/build/pubsub#event-filters">Sui docs</a> for detailed examples.
SuiEvent
:<Event>
unsafe_batchTransaction#
Transaction Builder APICreate an unsigned batched transaction.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresssingle_transaction_params
:<[RPCTransactionRequestParams]>
- list of transaction request parametersgas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budgettxn_builder_mode
:<SuiTransactionBlockBuilderMode>
- Whether this is a regular transaction or a Dev Inspect Transaction
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.
-
gas :
unsafe_mergeCoins#
Transaction Builder APICreate an unsigned transaction to merge multiple coins into one coin.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressprimary_coin
:<ObjectID>
- the coin object to merge into, this coin will remain after the transactioncoin_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 providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_moveCall#
Transaction Builder APICreate an unsigned transaction to execute a Move call on the network, by calling the specified function in the module of a given package.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresspackage_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 functionarguments
:<[SuiJsonValue]>
- the arguments to be passed into the Move function, in <a href="https://docs.sui.io/build/sui-json">SuiJson</a> formatgas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budgetexecution_mode
:<SuiTransactionBlockBuilderMode>
- Whether this is a Normal transaction or a Dev Inspect Transaction. Default to be `SuiTransactionBlockBuilderMode::Commit` when it's None.
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.
-
gas :
unsafe_pay#
Transaction Builder APISend `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.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressinput_coins
:<[ObjectID]>
- the Sui coins to be used in this transactionrecipients
:<[SuiAddress]>
- the recipients' addresses, the length of this vector must be the same as amounts.amounts
:<[BigInt]>
- the amounts to be transferred to recipients, following the same ordergas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_payAllSui#
Transaction Builder APISend 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.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressinput_coins
:<[ObjectID]>
- the Sui coins to be used in this transaction, including the coin for gas payment.recipient
:<SuiAddress>
- the recipient address,gas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_paySui#
Transaction Builder APISend 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.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressinput_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]>
- the amounts to be transferred to recipients, following the same ordergas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_publish#
Transaction Builder APICreate an unsigned transaction to publish a Move package.
Paramssender
:<SuiAddress>
- the transaction signer's Sui addresscompiled_modules
:<[Base64]>
- the compiled bytes of a Move packagedependencies
:<[ObjectID]>
- a list of transitive dependency addresses that this set of modules depends on.gas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_requestAddStake#
Transaction Builder APIAdd stake to a validator's staking pool using multiple coins and amount.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresscoins
:<[ObjectID]>
- Coin<SUI> object to stakeamount
:<uint64>
- stake amountvalidator
:<SuiAddress>
- the validator's Sui addressgas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_requestWithdrawStake#
Transaction Builder APIWithdraw stake from a validator's staking pool.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressstaked_sui
:<ObjectID>
- StakedSui object IDgas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_splitCoin#
Transaction Builder APICreate an unsigned transaction to split a coin object into multiple coins.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresscoin_object_id
:<ObjectID>
- the coin object to be spiltsplit_amounts
:<[]>
- the amounts to split out from the coingas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_splitCoinEqual#
Transaction Builder APICreate an unsigned transaction to split a coin object into multiple equal-size coins.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresscoin_object_id
:<ObjectID>
- the coin object to be spiltsplit_count
:<uint64>
- the number of coins to split intogas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budget
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.
-
gas :
unsafe_transferObject#
Transaction Builder APICreate an unsigned transaction to transfer an object from one address to another. The object's type must allow public transfers
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addressobject_id
:<ObjectID>
- the ID of the object to be transferredgas
:<ObjectID>
- gas object to be used in this transaction, node will pick one from the signer's possession if not providedgas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budgetrecipient
:<SuiAddress>
- the recipient's Sui address
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.
-
gas :
unsafe_transferSui#
Transaction Builder APICreate an unsigned transaction to send SUI coin object to a Sui address. The SUI object is also used as the gas object.
Paramssigner
:<SuiAddress>
- the transaction signer's Sui addresssui_object_id
:<ObjectID>
- the Sui coin object to be used in this transactiongas_budget
:<uint64>
- the gas budget, the transaction will fail if the gas cost exceed the budgetrecipient
:<SuiAddress>
- the recipient's Sui addressamount
:<uint64>
- the amount to be split out and transferred
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.
-
gas :