Skip to main content

IOTA JSON-RPC Reference - Version: 0.8.0-alpha

Iota JSON-RPC API for interaction with Iota Full node. Make RPC calls using https://fullnode.NETWORK.iota.io:443, where NETWORK is the network you want to use (testnet, devnet, mainnet). By default, local networks use port 9000.

Coin Query API

iotax_getAllBalances

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

Parameters

Name<Type>
Required
Description
owner< IotaAddress >
Yes
The owner's Iota address

Result

Vec<Balance><[ Balance ]>

Example

Gets all balances for the address in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getAllBalances",
  "params": [
    "0x94f1a597b4e8f709a396f7f6b1482bdcd65a673d111e49286c527fab7c2d0961"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "coinType": "0x2::iota::IOTA",
      "coinObjectCount": 15,
      "totalBalance": "3000000000"
    }
  ],
  "id": 1
}

iotax_getAllCoins

Return all Coin objects owned by an address.

Parameters

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

Result

CoinPage< Page_for_Coin_and_ObjectID >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

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

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getAllCoins",
  "params": [
    "0x41f5975e3c6bd5c95f041a8493ad7e9934be26e69152d2c2e86d8a9bdbd242b3",
    "0x2564cd31a71cf9833609b111436d8f0f47b7f8b9927ec3f8975a1dcbf9b25564",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0x91825debff541cf4e08b5c5f7296ff9840e6f0b185af93984cde8cf3870302c0",
        "version": "103626",
        "digest": "7dp5WtTmtGp83EXYYFMzjBJRFeSgR67AzqMETLrfgeFx",
        "balance": "200000000",
        "previousTransaction": "9WfFUVhjbbh4tWkyUse1QxzbKX952cyXScH7xJNPB2vQ"
      },
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0x48a53f22e2e901ea2a5bf44fdd5bb94a1d83b6efc4dd779f0890ca3b1f6ba997",
        "version": "103626",
        "digest": "9xLdMXezY8d1yRA2TtN6pYjapyy2EVKHWNriGPFGCFvd",
        "balance": "200000000",
        "previousTransaction": "Byq9SyV7x6fvzaf88YRA9JM8vLbVLJAqUX8pESDmKcgw"
      },
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0x6867fcc63161269c5c0c73b02229486bbaff319209dfb8299ced3b8609037997",
        "version": "103626",
        "digest": "5xexWFq6QpGHBQyC9P2cbAJXq9qm2EjzfuRM9NwS1uyG",
        "balance": "200000000",
        "previousTransaction": "CEjwHmo98nAiYhSMfKoSDvUMtfKJ6ge6Uj4wKotK4MPZ"
      }
    ],
    "nextCursor": "0x861c5e055605b2bb1199faf653a8771e448930bc95a0369fad43a9870a2e5878",
    "hasNextPage": true
  },
  "id": 1
}

iotax_getBalance

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

Parameters

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

Result

Balance< Balance >

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

Example

Gets the balance of the specified type of coin for the address in the request.

Request

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

Response

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

iotax_getCoinMetadata

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

Parameters

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

Result

IotaCoinMetadata< IotaCoinMetadata >

Parameter
Required
Description
decimals< uint8 >
Yes
Number of decimal places the coin uses.
description< string >
Yes
Description of the token
iconUrl< [string,null] >
No
URL for the token logo
id< ObjectID | null >
No
Object id for the CoinMetadata object
name< string >
Yes
Name for the token
symbol< string >
Yes
Symbol for the token

Example

Gets the metadata for the coin type in the request.

Request

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

Response

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

iotax_getCoins

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

Parameters

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

Result

CoinPage< Page_for_Coin_and_ObjectID >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

Gets all IOTA coins owned by the address provided. Return a paginated list of limit results per page. Similar to iotax_getAllCoins, but provides a way to filter by coin type.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getCoins",
  "params": [
    "0xd62ca040aba24f862a763851c54908cd2a0ee7d709c11b93d4a2083747b76856",
    "0x2::iota::IOTA",
    "0xe5c651321915b06c81838c2e370109b554a448a78d3a56220f798398dde66eab",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0xa5a8e30db5a798a7354340b6ea78a66f50921841ab5359ec7a3dc01f282420ae",
        "version": "103626",
        "digest": "tw5DzJTfdxTn4f3rekFrhN7dQTUezBgsEhycDobTBLb",
        "balance": "200000000",
        "previousTransaction": "HSein75AFXgdsnbABWLQ5mvjFmPFWrBFi9CMVsNn7gJr"
      },
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0x47dfa99496428c65b2054ad7db1872b87ff05b1047bb5e3adf5257cceb08ecb4",
        "version": "103626",
        "digest": "AfgFe7ZfjJ5dWV6VAy2LbtvBFhcABkvdvwEjLrRcFqtr",
        "balance": "200000000",
        "previousTransaction": "5WHnm9jUZEtDvSvsj7HBrP5BoxA3UY6R57qqumXJXboV"
      },
      {
        "coinType": "0x2::iota::IOTA",
        "coinObjectId": "0xd4f062dbcfc3bf73f5861945592222ff7b090ac21c8a3cf840abdc5b743da778",
        "version": "103626",
        "digest": "9er6jxigfuQEKsn9gtPV2oW1zGQRcFtKNijHVe88GUJD",
        "balance": "200000000",
        "previousTransaction": "H3gwoKE2FSLx3BwvNTTKqCsNHmg6ARzm345icHhXUAEW"
      }
    ],
    "nextCursor": "0xd4f062dbcfc3bf73f5861945592222ff7b090ac21c8a3cf840abdc5b743da778",
    "hasNextPage": true
  },
  "id": 1
}

iotax_getTotalSupply

Return total supply for a coin.

Parameters

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

Result

Supply< Supply >

Parameter
Required
Description
value< BigInt_for_uint64 >
Yes

Example

Gets total supply for the type of coin provided.

Request

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

Response

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

Extended API

iotax_getAllEpochAddressMetrics

Parameters

Name<Type>
Required
Description
descending_order< Boolean >
No

Result

Vec<AddressMetrics><[ AddressMetrics ]>

iotax_getCheckpointAddressMetrics

Parameters

Name<Type>
Required
Description
checkpoint< uint64 >
Yes

Result

AddressMetrics< AddressMetrics >

Provides metrics about the addresses.

Parameter
Required
Description
checkpoint< uint64 >
Yes
The checkpoint sequence number at which the metrics were computed.
cumulativeActiveAddresses< uint64 >
Yes
The count of sender addresses.
cumulativeAddresses< uint64 >
Yes
The count of sender and recipient addresses.
dailyActiveAddresses< uint64 >
Yes
The count of daily unique sender addresses.
epoch< uint64 >
Yes
The epoch to which the checkpoint is assigned.
timestampMs< uint64 >
Yes
The checkpoint timestamp.

iotax_getCurrentEpoch

Return current epoch info

Parameters

None

Result

EpochInfo< EpochInfo >

Parameter
Required
Description
endOfEpochInfo< EndOfEpochInfo | null >
No
The end of epoch information.
epoch< BigInt_for_uint64 >
Yes
Epoch number
epochStartTimestamp< BigInt_for_uint64 >
Yes
The timestamp when the epoch started.
epochTotalTransactions< BigInt_for_uint64 >
Yes
Count of tx in epoch
firstCheckpointId< BigInt_for_uint64 >
Yes
First, last checkpoint sequence numbers
referenceGasPrice< [integer,null] >
No
The reference gas price for the given epoch.
validators<[ IotaValidatorSummary ]>
Yes
List of validators included in epoch

iotax_getDynamicFieldObject

Return the dynamic field object information for a specified object

Parameters

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

Result

IotaObjectResponse< IotaObjectResponse >

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

Example

Gets the information for the dynamic field the request provides.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getDynamicFieldObject",
  "params": [
    "0x5ea6f7a348f4a7bd1a9ab069eb7f63865de3075cc5a4e62432f634b50fd2bb2b",
    {
      "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
      "value": "some_value"
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": {
      "objectId": "0x5ea6f7a348f4a7bd1a9ab069eb7f63865de3075cc5a4e62432f634b50fd2bb2b",
      "version": "1",
      "digest": "FnxePMX8y7AqX5mRL4nCcK4xecSrpHrd85c3sJDmh5uG",
      "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
      "owner": {
        "AddressOwner": "0x013d1eb156edcc1bedc3b1af1be1fe41671856fd3450dc5574abd53c793c9f22"
      },
      "previousTransaction": "Faiv4yqGR4HjAW8WhMN1NHHNStxXgP3u22dVPyvLad2z",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
        "fields": {}
      }
    }
  },
  "id": 1
}

iotax_getDynamicFields

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

Parameters

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

Result

DynamicFieldPage< Page_for_DynamicFieldInfo_and_ObjectID >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

Gets dynamic fields for the object the request provides in a paginated list of limit dynamic field results per page. The default limit is 50.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getDynamicFields",
  "params": [
    "0xcfd10bca4d517e9452ad5486d69ee482b758c2399039dbbedd5db24385e934d6",
    "0x3ddea0f8c3da994d9ead562ce76e36fdef6a382da344930c73d1298b0e9644b8",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0x82b2fd67344691abd0efc771941b948ad35360b08e449fbbc28b0641175bf60b",
        "version": 1,
        "digest": "P2fGrUFbsF576cFxXYXrp1PskZHo2XKvbEoxL14qtnr"
      },
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0x21564fc5a68ace997461b098c1d1f3ccbde241d8fdf562db36bc1423ee10cecb",
        "version": 1,
        "digest": "8Nmpatir33R88Xow2td3dpezMm1gsQJD19VThwR1Y8T5"
      },
      {
        "name": {
          "type": "0x0000000000000000000000000000000000000000000000000000000000000009::test::TestField",
          "value": "some_value"
        },
        "bcsName": "2F1KQ3miNpBx1RzoRr1MVYMraK7RV",
        "type": "DynamicField",
        "objectType": "test",
        "objectId": "0x7e00acf5386662fa062483ba507b1e9e3039750f0a270f2e12441ad7f611a5f7",
        "version": 1,
        "digest": "J2n2gEG8R9P9nMep8mRVLjttxcDXQnWSH9KmrRsnGSg2"
      }
    ],
    "nextCursor": "0x671832358f25bfacde706e528df4e15bb8de6dadd21835dfe44f4973139c15f9",
    "hasNextPage": true
  },
  "id": 1
}

iotax_getEpochMetrics

Return a list of epoch metrics, which is a subset of epoch info

Parameters

Name<Type>
Required
Description
cursor< BigInt_for_uint64 >
No
Optional paging cursor
limit< uint >
No
Maximum number of items per page
descending_order< Boolean >
No
Flag to return results in descending order

Result

EpochMetricsPage< Page_for_EpochMetrics_and_BigInt_for_uint64 >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

iotax_getEpochs

Return a list of epoch info

Parameters

Name<Type>
Required
Description
cursor< BigInt_for_uint64 >
No
Optional paging cursor
limit< uint >
No
Maximum number of items per page
descending_order< Boolean >
No
Flag to return results in descending order

Result

EpochPage< Page_for_EpochInfo_and_BigInt_for_uint64 >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

iotax_getLatestAddressMetrics

Address related metrics

Parameters

None

Result

AddressMetrics< AddressMetrics >

Provides metrics about the addresses.

Parameter
Required
Description
checkpoint< uint64 >
Yes
The checkpoint sequence number at which the metrics were computed.
cumulativeActiveAddresses< uint64 >
Yes
The count of sender addresses.
cumulativeAddresses< uint64 >
Yes
The count of sender and recipient addresses.
dailyActiveAddresses< uint64 >
Yes
The count of daily unique sender addresses.
epoch< uint64 >
Yes
The epoch to which the checkpoint is assigned.
timestampMs< uint64 >
Yes
The checkpoint timestamp.

iotax_getMoveCallMetrics

Return move call metrics

Parameters

None

Result

MoveCallMetrics< MoveCallMetrics >

Parameter
Required
Description
rank30Days<[ MoveFunctionName, BigInt_for_uint ]>
Yes
The count of calls of each function in the last 30 days.
rank3Days<[ MoveFunctionName, BigInt_for_uint ]>
Yes
The count of calls of each function in the last 3 days.
rank7Days<[ MoveFunctionName, BigInt_for_uint ]>
Yes
The count of calls of each function in the last 7 days.

iotax_getNetworkMetrics

Return Network metrics

Parameters

None

Result

NetworkMetrics< NetworkMetrics >

Parameter
Required
Description
currentCheckpoint< BigInt_for_uint64 >
Yes
Current checkpoint number
currentEpoch< BigInt_for_uint64 >
Yes
Current epoch number
currentTps< >
Yes
Current TPS - Transaction Blocks per Second.
totalAddresses< BigInt_for_uint64 >
Yes
Total number of addresses seen in the network
totalObjects< BigInt_for_uint64 >
Yes
Total number of live objects in the network
totalPackages< BigInt_for_uint64 >
Yes
Total number of packages published in the network
tps30Days< >
Yes
Peak TPS in the past 30 days

iotax_getOwnedObjects

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

Parameters

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

Result

ObjectsPage< Page_for_IotaObjectResponse_and_ObjectID >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

Returns all the objects the address provided in the request owns and that match the filter. By default, only the digest value is returned, but the request returns additional information by setting the relevant keys to true. A cursor value is also provided, so the list of results begin after that value.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getOwnedObjects",
  "params": [
    "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f",
    {
      "filter": {
        "MatchAll": [
          {
            "StructType": "0x2::coin::Coin<0x2::iota::IOTA>"
          },
          {
            "AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
          },
          {
            "Version": "13488"
          }
        ]
      },
      "options": {
        "showType": true,
        "showOwner": true,
        "showPreviousTransaction": true,
        "showDisplay": false,
        "showContent": false,
        "showBcs": false,
        "showStorageRebate": false
      }
    },
    "0x8a417a09c971859f8f2b8ec279438a25d8876ea3c60e345ac3861444136b4a1b",
    3
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "data": {
          "objectId": "0xd87765d1aadec2db8cc24c312542c8359b6b5e3bfeab524e5edaad3a204b4053",
          "version": "13488",
          "digest": "8qCvxDHh5LtDfF95Ci9G7vvQN2P6y4v55S9xoKBYp7FM",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "owner": {
            "AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
          },
          "previousTransaction": "kniF9zCBVYevxq3ZmtKxDDJk27N1qEgwkDtPiyeve4Y",
          "storageRebate": "100"
        }
      },
      {
        "data": {
          "objectId": "0x26ed170e0427f9416a614d23284116375c16bd317738fd2c7a885362e04923f5",
          "version": "13488",
          "digest": "5Ka3vDaDy9h5UYk3Maz3vssWHrhbcGXQgwg8fL2ygyTi",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "owner": {
            "AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
          },
          "previousTransaction": "FLSfkL1pVTxv724z5kfPbTq2KsWP1HEKBwZQ57uRZU11",
          "storageRebate": "100"
        }
      },
      {
        "data": {
          "objectId": "0x2aea16d6fb49b7d1ae51f33b01ed8e1ac66916858610c124bb6fd73bb13e141c",
          "version": "13488",
          "digest": "D3hfhfecVcmRcqNEkxkoFMzbuXvBqWj1JkCNU9zbnYMo",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "owner": {
            "AddressOwner": "0x0cd4bb4d4f520fe9bbf0cf1cebe3f2549412826c3c9261bff9786c240123749f"
          },
          "previousTransaction": "GEoTGQuWicnPLM9Rg3vW1Q2y3kvnAgEkbyn8Z3RnAYai",
          "storageRebate": "100"
        }
      }
    ],
    "nextCursor": "0x2aea16d6fb49b7d1ae51f33b01ed8e1ac66916858610c124bb6fd73bb13e141c",
    "hasNextPage": true
  },
  "id": 1
}

iotax_getTotalTransactions

Parameters

None

Result

BigInt<u64>< BigInt_for_uint64 >

iotax_queryEvents

Return list of events for a specified query criteria.

Parameters

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

Result

EventPage< Page_for_Event_and_EventID >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

Returns the events for a specified query criteria.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_queryEvents",
  "params": [
    {
      "MoveModule": {
        "package": "0x9c76d5157eaa77c41a7bfda8db98a8e8080f7cb53b7313088ed085c73f866f21",
        "module": "test"
      }
    },
    {
      "txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
      "eventSeq": "1"
    },
    100,
    false
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "id": {
          "txDigest": "FUMhRSj76es8MYeaRYeaBnppk56cuEehKwL2CiU82U7B",
          "eventSeq": "1"
        },
        "packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
        "transactionModule": "test",
        "sender": "0x84bd999f9ff7a1804872957fafa528628a24386298faa98850887f64da841b87",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "CkEYWW2zxTCGBLvUcTARhyX92fu2uc7cnCUXfCiqAypp",
          "eventSeq": "1"
        },
        "packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
        "transactionModule": "test",
        "sender": "0x279efd098d59a66a3d9adc87cce81fe9ec69dc8105b2b60140589ec8be44c29f",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "Eg3ynETJfTfPKyvJzq3VLG6MngURYHPMjjUJ3Xt1t7tf",
          "eventSeq": "1"
        },
        "packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
        "transactionModule": "test",
        "sender": "0x289be027d2a94f744b4c59fda7b528f9c59f430eaba84b8bee9b43a30f9cc83f",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      },
      {
        "id": {
          "txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
          "eventSeq": "1"
        },
        "packageId": "0xd3d707164b2a378eee639ebc2690873d2f7dd97d60bdd8f0b9935a5c791b096d",
        "transactionModule": "test",
        "sender": "0xa395759ca37c6e1ffc179184e98a6f9a2da5d78f6e34b0e5044ed52a6bc0a1bc",
        "type": "0x3::test::Test<0x3::test::Test>",
        "parsedJson": "some_value",
        "bcs": ""
      }
    ],
    "nextCursor": {
      "txDigest": "EnySDWe22mnp35umt47kifqXvvchBqTzAoyoPXaH3rfK",
      "eventSeq": "1"
    },
    "hasNextPage": false
  },
  "id": 1
}

iotax_queryTransactionBlocks

Return list of transactions for a specified query criteria.

Parameters

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

Result

TransactionBlocksPage< Page_for_TransactionBlockResponse_and_TransactionDigest >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

Returns the transaction digest for specified query criteria.

Request

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

Response

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

iotax_subscribeEvent

Subscribe to a stream of Iota event

Parameters

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

Result

IotaEvent< Event >

Parameter
Required
Description
bcs< Base58 >
Yes
Base 58 encoded bcs bytes of the move event
id< EventID >
Yes
Sequential event ID, ie (transaction seq number, event seq number). 1) Serves as a unique event ID for each fullnode 2) Also serves to sequence events for the purposes of pagination and querying. A higher id is an event seen later by that fullnode. This ID is the "cursor" for event querying.
packageId< ObjectID >
Yes
Move package where this event was emitted.
parsedJson< >
Yes
Parsed json value of the event
sender< IotaAddress >
Yes
Sender's Iota address.
timestampMs< BigInt_for_uint64 | null >
No
UTC timestamp in milliseconds since epoch (1/1/1970)
transactionModule< string >
Yes
Move module where this event was emitted.
type< string >
Yes
Move event type.

iotax_subscribeTransaction

Subscribe to a stream of Iota transaction effects

Parameters

Name<Type>
Required
Description
filter< TransactionFilter >
Yes

Result

IotaTransactionBlockEffects< TransactionBlockEffects >

Governance Read API

iotax_getCommitteeInfo

Return the committee information for the asked epoch.

Parameters

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

Result

IotaCommittee< CommitteeInfo >

RPC representation of the [Committee] type.

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

Example

Gets committee information for epoch 5000.

Request

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

Response

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

iotax_getLatestIotaSystemState

Return the latest IOTA system state object on-chain.

Parameters

None

Result

IotaSystemStateSummary< IotaSystemStateSummary >

This is the JSON-RPC type for the IOTA system state object. It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the IOTA system state type.

Parameter
Required
Description
activeValidators<[ IotaValidatorSummary ]>
Yes
The list of active validators in the current epoch.
atRiskValidators<[ IotaAddress, BigInt_for_uint64 ]>
Yes
Map storing the number of epochs for which each validator has been below the low stake threshold.
epoch< BigInt_for_uint64 >
Yes
The current epoch ID, starting from 0.
epochDurationMs< BigInt_for_uint64 >
Yes
The duration of an epoch, in milliseconds.
epochStartTimestampMs< BigInt_for_uint64 >
Yes
Unix timestamp of the current epoch start
inactivePoolsId< ObjectID >
Yes
ID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.
inactivePoolsSize< BigInt_for_uint64 >
Yes
Number of inactive staking pools.
iotaTotalSupply< BigInt_for_uint64 >
Yes
The current IOTA supply.
iotaTreasuryCapId< ObjectID >
Yes
The TreasuryCap<IOTA> object ID.
maxValidatorCount< BigInt_for_uint64 >
Yes
Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
minValidatorCount< BigInt_for_uint64 >
Yes
Minimum number of active validators at any moment. We do not allow the number of validators in any epoch to go under this.
minValidatorJoiningStake< BigInt_for_uint64 >
Yes
Lower-bound on the amount of stake required to become a validator.
pendingActiveValidatorsId< ObjectID >
Yes
ID of the object that contains the list of new validators that will join at the end of the epoch.
pendingActiveValidatorsSize< BigInt_for_uint64 >
Yes
Number of new validators that will join at the end of the epoch.
pendingRemovals<[ BigInt_for_uint64 ]>
Yes
Removal requests from the validators. Each element is an index pointing to active_validators.
protocolVersion< BigInt_for_uint64 >
Yes
The current protocol version, starting from 1.
referenceGasPrice< BigInt_for_uint64 >
Yes
The reference gas price for the current epoch.
safeMode< Boolean >
Yes
Whether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever we failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once we are able to successfully execute advance_epoch.
safeModeComputationRewards< BigInt_for_uint64 >
Yes
Amount of computation rewards accumulated (and not yet distributed) during safe mode.
safeModeNonRefundableStorageFee< BigInt_for_uint64 >
Yes
Amount of non-refundable storage fee accumulated during safe mode.
safeModeStorageCharges< BigInt_for_uint64 >
Yes
Amount of storage charges accumulated (and not yet distributed) during safe mode.
safeModeStorageRebates< BigInt_for_uint64 >
Yes
Amount of storage rebates accumulated (and not yet burned) during safe mode.
stakingPoolMappingsId< ObjectID >
Yes
ID of the object that maps from staking pool's ID to the iota address of a validator.
stakingPoolMappingsSize< BigInt_for_uint64 >
Yes
Number of staking pool mappings.
storageFundNonRefundableBalance< BigInt_for_uint64 >
Yes
The non-refundable portion of the storage fund coming from non-refundable storage rebates and any leftover staking rewards.
storageFundTotalObjectStorageRebates< BigInt_for_uint64 >
Yes
The storage rebates of all the objects on-chain stored in the storage fund.
systemStateVersion< BigInt_for_uint64 >
Yes
The current version of the system state data structure type.
totalStake< BigInt_for_uint64 >
Yes
Total amount of stake from all active validators at the beginning of the epoch.
validatorCandidatesId< ObjectID >
Yes
ID of the object that stores preactive validators, mapping their addresses to their Validator structs.
validatorCandidatesSize< BigInt_for_uint64 >
Yes
Number of preactive validators.
validatorLowStakeGracePeriod< BigInt_for_uint64 >
Yes
A validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.
validatorLowStakeThreshold< BigInt_for_uint64 >
Yes
Validators with stake amount below validator_low_stake_threshold are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than validator_low_stake_grace_period number of epochs.
validatorReportRecords<[ IotaAddress, array ]>
Yes
A map storing the records of validator reporting each other.
validatorVeryLowStakeThreshold< BigInt_for_uint64 >
Yes
Validators with stake below validator_very_low_stake_threshold will be removed immediately at epoch change, no grace period.

Example

Gets objects owned by the address in the request.

Request

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

Response

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

iotax_getReferenceGasPrice

Return the reference gas price for the network

Parameters

None

Result

BigInt<u64>< BigInt_for_uint64 >

Example

Gets reference gas price information for the network.

Request

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

Response

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

iotax_getStakes

Return all [DelegatedStake].

Parameters

Name<Type>
Required
Description
owner< IotaAddress >
Yes

Result

Vec<DelegatedStake><[ DelegatedStake ]>

Example

Returns the staking information for the address the request provides.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getStakes",
  "params": [
    "0x3befb84f03a24386492bd3b05b1fd386172eb450e5059ce7df0ea6d9d6cefcaa"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "validatorAddress": "0x9a95cf69368e31b4dbe8ee9bdb3c0587bbc79d8fc6edf4007e185a962fd906df",
      "stakingPool": "0xb4eeb46b70f0bebcae832aeef9f7c5db76052ab656e5f81853d0cf701cdbc8eb",
      "stakes": [
        {
          "stakedIotaId": "0xf27ab513fc6ef8c344406c78da3d5ad3a5fcc295dc8803c15989a62d33ee8590",
          "stakeRequestEpoch": "62",
          "stakeActiveEpoch": "63",
          "principal": "200000000000",
          "status": "Active",
          "estimatedReward": "520000000"
        },
        {
          "stakedIotaId": "0x14cfd5e91c13a481370240e392464c329a203fb9f0a8158aaab9b2a90044b26e",
          "stakeRequestEpoch": "142",
          "stakeActiveEpoch": "143",
          "principal": "200000000000",
          "status": "Pending"
        }
      ]
    },
    {
      "validatorAddress": "0x14cc7fee4100fdcabda6d15c63c4b49c45ae23f2b936495cd38b1a4b04010295",
      "stakingPool": "0xbaa75ac72e548aeecf2ce8b4e88530651d6e8f93e0fb79b4bc65a512beb5b9f3",
      "stakes": [
        {
          "stakedIotaId": "0x378423de90ed03b694cecf443c72b5387b29a731d26d98108d7abc4902107d7d",
          "stakeRequestEpoch": "244",
          "stakeActiveEpoch": "245",
          "principal": "200000000000",
          "status": "Unstaked"
        }
      ]
    }
  ],
  "id": 1
}

iotax_getStakesByIds

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

Parameters

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

Result

Vec<DelegatedStake><[ DelegatedStake ]>

Example

Returns the staking information for the address the request provides.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iotax_getStakesByIds",
  "params": [
    [
      "0x6a8e0f8fea6fda5488462e58724c034462b6064a08845e2ae2942fe7c4ee816d",
      "0x754eb2eed23e6c6bb32c89fe1f21ab588374445e72e0402aea014b2956105799"
    ]
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "validatorAddress": "0x63ee67e81398729f87d81d62f399c041b0f8d0938923ea7e3917608ee62df437",
    "stakingPool": "0x6710024f81dd33ab6833482ee8034e779a48e6ef635c7f856df4905022458bfb",
    "stakes": [
      {
        "stakedIotaId": "0x6a8e0f8fea6fda5488462e58724c034462b6064a08845e2ae2942fe7c4ee816d",
        "stakeRequestEpoch": "62",
        "stakeActiveEpoch": "63",
        "principal": "200000000000",
        "status": "Active",
        "estimatedReward": "520000000"
      },
      {
        "stakedIotaId": "0x754eb2eed23e6c6bb32c89fe1f21ab588374445e72e0402aea014b2956105799",
        "stakeRequestEpoch": "244",
        "stakeActiveEpoch": "245",
        "principal": "200000000000",
        "status": "Unstaked"
      }
    ]
  },
  "id": 1
}

iotax_getTimelockedStakes

Return all [DelegatedTimelockedStake].

Parameters

Name<Type>
Required
Description
owner< IotaAddress >
Yes

Result

Vec<DelegatedTimelockedStake><[ DelegatedTimelockedStake ]>

iotax_getTimelockedStakesByIds

Return one or more [DelegatedTimelockedStake]. If a Stake was withdrawn its status will be Unstaked.

Parameters

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

Result

Vec<DelegatedTimelockedStake><[ DelegatedTimelockedStake ]>

iotax_getValidatorsApy

Return the validator APY

Parameters

None

Result

ValidatorApys< ValidatorApys >

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

Example

Gets the APY for all validators.

Request

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

Response

{
  "jsonrpc": "2.0",
  "result": {
    "apys": [
      {
        "address": "0x27838b06db0346808ffb0676099de0408b31759f57b69c52e09410a66f9a23c3",
        "apy": 0.06
      },
      {
        "address": "0x4be9913b6697a5e83e02e2a0fc747057ba0901e4d9b1e04de75ea2699a441321",
        "apy": 0.02
      },
      {
        "address": "0x5612581eba57ebe7e594b809ccceec2be4dac6ff6945d49b3ecc043d049611f6",
        "apy": 0.05
      }
    ],
    "epoch": "420"
  },
  "id": 1
}

Move Utils

iota_getMoveFunctionArgTypes

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

Parameters

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

Result

Vec<MoveFunctionArgType><[ MoveFunctionArgType ]>

Example

Returns the argument types for the package and function the request provides.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_getMoveFunctionArgTypes",
  "params": [
    "0x9c4eb6769ca8b6a23efeb7298cf0a8d0b837b78749c2cfc711c42036cc6b7621",
    "my_module",
    "mint"
  ]
}

Response

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

iota_getNormalizedMoveFunction

Return a structured representation of Move function

Parameters

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

Result

IotaMoveNormalizedFunction< IotaMoveNormalizedFunction >

Parameter
Required
Description
isEntry< Boolean >
Yes
parameters<[ IotaMoveNormalizedType ]>
Yes
return<[ IotaMoveNormalizedType ]>
Yes
typeParameters<[ IotaMoveAbilitySet ]>
Yes
visibility< IotaMoveVisibility >
Yes

Example

Returns the structured representation of the function the request provides.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_getNormalizedMoveFunction",
  "params": [
    "0x1639f3606a53f61f3a566963b3eac49fe3bb57d304a454ed2f4859b44f4e4918",
    "moduleName",
    "functionName"
  ]
}

Response

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

iota_getNormalizedMoveModule

Return a structured representation of Move module

Parameters

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

Result

IotaMoveNormalizedModule< IotaMoveNormalizedModule >

Parameter
Required
Description
address< string >
Yes
exposedFunctions< IotaMoveNormalizedFunction >
Yes
fileFormatVersion< uint32 >
Yes
friends<[ IotaMoveModuleId ]>
Yes
name< string >
Yes
structs< IotaMoveNormalizedStruct >
Yes

Example

Gets a structured representation of the Move module for the package in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_getNormalizedMoveModule",
  "params": [
    "0x800105867da4655eca6d9eb1258bfd1ad92af329a07781ee71e60065e00f2de9",
    "module"
  ]
}

Response

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

iota_getNormalizedMoveModulesByPackage

Return structured representations of all modules in the given package

Parameters

Name<Type>
Required
Description
package< ObjectID >
Yes

Result

BTreeMap<String,IotaMoveNormalizedModule>< IotaMoveNormalizedModule >

Example

Gets structured representations of all the modules for the package in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_getNormalizedMoveModulesByPackage",
  "params": [
    "0xc95b9e341bc3aba1654bdbad707dcd773bd6309363447ef3fe58a960de92aa93"
  ]
}

Response

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

iota_getNormalizedMoveStruct

Return a structured representation of Move struct

Parameters

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

Result

IotaMoveNormalizedStruct< IotaMoveNormalizedStruct >

Parameter
Required
Description
abilities< IotaMoveAbilitySet >
Yes
fields<[ IotaMoveNormalizedField ]>
Yes
typeParameters<[ IotaMoveStructTypeParameter ]>
Yes

Example

Gets a structured representation of the struct in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_getNormalizedMoveStruct",
  "params": [
    "0x77b3482580ee8d5bdc5b824808df54bfec4fc817622e5add0e48f749f01def98",
    "module",
    "StructName"
  ]
}

Response

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

Read API

iota_getChainIdentifier

Return the first four bytes of the chain's genesis checkpoint digest.

Parameters

None

Result

String< string >

Example

Gets the identifier for the chain receiving the POST.

Request

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

Response

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

iota_getCheckpoint

Return a checkpoint

Parameters

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

Result

Checkpoint< Checkpoint >

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

Example

Gets checkpoint information for the checkpoint ID in the request.

Request

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

Response

{
  "jsonrpc": "2.0",
  "result": {
    "epoch": "5000",
    "sequenceNumber": "1000",
    "digest": "G6Dtzr1ZSfHFhotGsTE3cLENa7L1ooe1BBvknAUsARbV",
    "networkTotalTransactions": "792385",
    "previousDigest": "6tBy8RXZKrdrB4XkMQn7J3MNG4fQCo9XcRduFFvYrL5Z",
    "epochRollingGasCostSummary": {
      "computationCost": "0",
      "computationCostBurned": "0",
      "storageCost": "0",
      "storageRebate": "0",
      "nonRefundableStorageFee": "0"
    },
    "timestampMs": "1676911928",
    "transactions": [
      "mN8YNBgVR3wB7vfXmjVgDRF4oqxVRRjzmJ6U4mzbq77"
    ],
    "checkpointCommitments": [],
    "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  },
  "id": 1
}

iota_getCheckpoints

Return paginated list of checkpoints

Parameters

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

Result

CheckpointPage< Page_for_Checkpoint_and_BigInt_for_uint64 >

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

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

Example

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

Request

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

Response

{
  "jsonrpc": "2.0",
  "result": {
    "data": [
      {
        "epoch": "5000",
        "sequenceNumber": "1005",
        "digest": "9zA7Q9Ka1ykvYjSQGhQCdCf32FZkcWNWx7L22JczXGsk",
        "networkTotalTransactions": "792385",
        "previousDigest": "8BLFxLTjWZ2KqaGc3FjR1o9aL6kbyYrmhuNfJLU1ehYt",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "computationCostBurned": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "7RudGLkQDBNJyqrptkrNU66Zd3pvq8MHVAHYz9WpBm59"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1006",
        "digest": "FAUWHyWacmb4Vg4QGi9a6gqeVb7ixAZiL73FaGd6WpoV",
        "networkTotalTransactions": "792385",
        "previousDigest": "6Pn25cieaE62AT6BwCeBoca13AGZuneucaaTGqt3gNCo",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "computationCostBurned": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "7r7tmP5hzgrusiN6cucFwfTveqDb7K75tMJ7oNCyoDmy"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1007",
        "digest": "B3mzC6gy87SomUQwPsmVY7mtwkZLxfm5WwNi3kKyEb3x",
        "networkTotalTransactions": "792385",
        "previousDigest": "CnHTfdUJr1UUqwXkYUhbQjXeM16xR33UR62jE72toCis",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "computationCostBurned": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "Gb1UDqhmKMzMJ5FL37kBqCcuy4TtBL2ay3qec8tEUBLj"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      {
        "epoch": "5000",
        "sequenceNumber": "1008",
        "digest": "HunuJWKu7azBfS47rJTq9FHTMvUDNVo2SK4hQeh5brXp",
        "networkTotalTransactions": "792385",
        "previousDigest": "38fLUfuigyzLPEDrsmRhcQmhKtbEUohuFBP9NDcWBmFz",
        "epochRollingGasCostSummary": {
          "computationCost": "0",
          "computationCostBurned": "0",
          "storageCost": "0",
          "storageRebate": "0",
          "nonRefundableStorageFee": "0"
        },
        "timestampMs": "1676911928",
        "transactions": [
          "GWTS9QR7mjNz9fBWGkk4JZU3mrzMXrmj74uS59Cd5und"
        ],
        "checkpointCommitments": [],
        "validatorSignature": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      }
    ],
    "nextCursor": "1008",
    "hasNextPage": true
  },
  "id": 1
}

iota_getEvents

Return transaction events.

Parameters

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

Result

Vec<IotaEvent><[ Event ]>

Example

Returns the events the transaction in the request emits.

Request

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

Response

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

iota_getLatestCheckpointSequenceNumber

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

Parameters

None

Result

BigInt<u64>< BigInt_for_uint64 >

Example

Gets the sequence number for the latest checkpoint.

Request

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

Response

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

iota_getObject

Return the object information for a specified object

Parameters

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

Result

IotaObjectResponse< IotaObjectResponse >

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

Example

Gets Object data for the ID in the request.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_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::iota::IOTA>",
      "owner": {
        "AddressOwner": "0xc8ec1d5b84dd6289e193b9f88de4a994358c9f856135236c3e75a925e1c77ac3"
      },
      "previousTransaction": "5PLgmQye6rraDYqpV3npV6H1cUXoJZgJh1dPCyRa3WCv",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "fields": {
          "balance": "100000000",
          "id": {
            "id": "0x53e4567ccafa5f36ce84c80aa8bc9be64e0d5ae796884274aef3005ae6733809"
          }
        }
      }
    }
  },
  "id": 1
}

iota_getProtocolConfig

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

Parameters

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

Result

ProtocolConfigResponse< ProtocolConfig >

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

Example

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

Request

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

Response

{
  "jsonrpc": "2.0",
  "result": {
    "minSupportedProtocolVersion": "1",
    "maxSupportedProtocolVersion": "2",
    "protocolVersion": "1",
    "featureFlags": {
      "accept_zklogin_in_multisig": false,
      "bridge": false,
      "disable_invariant_violation_check_in_swap_loc": true,
      "enable_group_ops_native_function_msm": true,
      "enable_jwk_consensus_updates": false,
      "enable_poseidon": true,
      "enable_vdf": true,
      "hardened_otw_check": true,
      "no_extraneous_module_bytes": true,
      "passkey_auth": true,
      "rethrow_serialization_type_layout_errors": true,
      "zklogin_auth": false
    },
    "attributes": {
      "address_from_bytes_cost_base": {
        "u64": "52"
      },
      "address_from_u256_cost_base": {
        "u64": "52"
      },
      "address_to_u256_cost_base": {
        "u64": "52"
      },
      "base_tx_cost_fixed": {
        "u64": "1000"
      },
      "base_tx_cost_per_byte": {
        "u64": "0"
      },
      "bcs_failure_cost": {
        "u64": "52"
      },
      "bcs_legacy_min_output_size_cost": {
        "u64": "1"
      },
      "bcs_per_byte_serialized_cost": {
        "u64": "2"
      },
      "binary_address_identifiers": {
        "u16": "100"
      },
      "binary_constant_pool": {
        "u16": "4000"
      },
      "binary_enum_def_instantiations": null,
      "binary_enum_defs": null,
      "binary_field_handles": {
        "u16": "500"
      },
      "binary_field_instantiations": {
        "u16": "250"
      },
      "binary_friend_decls": {
        "u16": "100"
      },
      "binary_function_defs": {
        "u16": "1000"
      },
      "binary_function_handles": {
        "u16": "1500"
      },
      "binary_function_instantiations": {
        "u16": "750"
      },
      "binary_identifiers": {
        "u16": "10000"
      },
      "binary_module_handles": {
        "u16": "100"
      },
      "binary_signatures": {
        "u16": "1000"
      },
      "binary_struct_def_instantiations": {
        "u16": "100"
      },
      "binary_struct_defs": {
        "u16": "200"
      },
      "binary_struct_handles": {
        "u16": "300"
      },
      "binary_variant_handles": null,
      "binary_variant_instantiation_handles": null,
      "bls12381_bls12381_min_pk_verify_cost_base": {
        "u64": "52"
      },
      "bls12381_bls12381_min_pk_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "bls12381_bls12381_min_pk_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "bls12381_bls12381_min_sig_verify_cost_base": {
        "u64": "52"
      },
      "bls12381_bls12381_min_sig_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "bls12381_bls12381_min_sig_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "bridge_should_try_to_finalize_committee": {
        "bool": "true"
      },
      "buffer_stake_for_protocol_upgrade_bps": {
        "u64": "5000"
      },
      "check_zklogin_id_cost_base": {
        "u64": "200"
      },
      "check_zklogin_issuer_cost_base": {
        "u64": "200"
      },
      "checkpoint_summary_version_specific_data": {
        "u64": "1"
      },
      "config_read_setting_impl_cost_base": {
        "u64": "100"
      },
      "config_read_setting_impl_cost_per_byte": {
        "u64": "40"
      },
      "consensus_bad_nodes_stake_threshold": {
        "u64": "20"
      },
      "consensus_max_num_transactions_in_block": {
        "u64": "512"
      },
      "consensus_max_transaction_size_bytes": {
        "u64": "262144"
      },
      "consensus_max_transactions_in_block_bytes": {
        "u64": "524288"
      },
      "crypto_invalid_arguments_cost": {
        "u64": "100"
      },
      "debug_print_base_cost": {
        "u64": "52"
      },
      "debug_print_stack_trace_base_cost": {
        "u64": "52"
      },
      "dynamic_field_add_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_add_child_object_struct_tag_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_add_child_object_type_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_add_child_object_value_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_borrow_child_object_child_ref_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_borrow_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_borrow_child_object_type_cost_per_byte": {
        "u64": "10"
      },
      "dynamic_field_has_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_has_child_object_with_ty_cost_base": {
        "u64": "100"
      },
      "dynamic_field_has_child_object_with_ty_type_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_has_child_object_with_ty_type_tag_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_cost_base": {
        "u64": "100"
      },
      "dynamic_field_hash_type_and_key_type_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_type_tag_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_hash_type_and_key_value_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_remove_child_object_child_cost_per_byte": {
        "u64": "2"
      },
      "dynamic_field_remove_child_object_cost_base": {
        "u64": "100"
      },
      "dynamic_field_remove_child_object_type_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_decompress_pubkey_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_ecrecover_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_ecrecover_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_k1_secp256k1_verify_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_ecrecover_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_ecrecover_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_ecrecover_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_keccak256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_sha256_cost_base": {
        "u64": "52"
      },
      "ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_block": {
        "u64": "2"
      },
      "ecdsa_r1_secp256r1_verify_sha256_msg_cost_per_byte": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_alpha_string_cost_per_block": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_alpha_string_cost_per_byte": {
        "u64": "2"
      },
      "ecvrf_ecvrf_verify_cost_base": {
        "u64": "52"
      },
      "ed25519_ed25519_verify_cost_base": {
        "u64": "52"
      },
      "ed25519_ed25519_verify_msg_cost_per_block": {
        "u64": "2"
      },
      "ed25519_ed25519_verify_msg_cost_per_byte": {
        "u64": "2"
      },
      "event_emit_cost_base": {
        "u64": "52"
      },
      "event_emit_output_cost_per_byte": {
        "u64": "10"
      },
      "event_emit_tag_size_derivation_cost_per_byte": {
        "u64": "5"
      },
      "event_emit_value_size_derivation_cost_per_byte": {
        "u64": "2"
      },
      "execution_version": {
        "u64": "1"
      },
      "gas_model_version": {
        "u64": "1"
      },
      "gas_rounding_step": {
        "u64": "1000"
      },
      "groth16_prepare_verifying_key_bls12381_cost_base": {
        "u64": "52"
      },
      "groth16_prepare_verifying_key_bn254_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bls12381_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bls12381_cost_per_public_input": {
        "u64": "2"
      },
      "groth16_verify_groth16_proof_internal_bn254_cost_base": {
        "u64": "52"
      },
      "groth16_verify_groth16_proof_internal_bn254_cost_per_public_input": {
        "u64": "2"
      },
      "groth16_verify_groth16_proof_internal_public_input_cost_per_byte": {
        "u64": "2"
      },
      "group_ops_bls12381_decode_g1_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_decode_g2_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_decode_gt_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_decode_scalar_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_add_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_div_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_hash_to_base_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_hash_to_cost_per_byte": {
        "u64": "2"
      },
      "group_ops_bls12381_g1_msm_base_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_msm_base_cost_per_input": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_mul_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g1_sub_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_add_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_div_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_hash_to_base_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_hash_to_cost_per_byte": {
        "u64": "2"
      },
      "group_ops_bls12381_g2_msm_base_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_msm_base_cost_per_input": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_mul_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_g2_sub_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_gt_add_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_gt_div_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_gt_mul_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_gt_sub_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_msm_max_len": {
        "u32": "32"
      },
      "group_ops_bls12381_pairing_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_scalar_add_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_scalar_div_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_scalar_mul_cost": {
        "u64": "52"
      },
      "group_ops_bls12381_scalar_sub_cost": {
        "u64": "52"
      },
      "hash_blake2b256_cost_base": {
        "u64": "52"
      },
      "hash_blake2b256_data_cost_per_block": {
        "u64": "2"
      },
      "hash_blake2b256_data_cost_per_byte": {
        "u64": "2"
      },
      "hash_keccak256_cost_base": {
        "u64": "52"
      },
      "hash_keccak256_data_cost_per_block": {
        "u64": "2"
      },
      "hash_keccak256_data_cost_per_byte": {
        "u64": "2"
      },
      "hash_sha2_256_base_cost": {
        "u64": "52"
      },
      "hash_sha2_256_legacy_min_input_len_cost": {
        "u64": "1"
      },
      "hash_sha2_256_per_byte_cost": {
        "u64": "2"
      },
      "hash_sha3_256_base_cost": {
        "u64": "52"
      },
      "hash_sha3_256_legacy_min_input_len_cost": {
        "u64": "1"
      },
      "hash_sha3_256_per_byte_cost": {
        "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_accumulated_txn_cost_per_object_in_mysticeti_commit": {
        "u64": "10"
      },
      "max_age_of_jwk_in_epochs": {
        "u64": "1"
      },
      "max_arguments": {
        "u32": "512"
      },
      "max_back_edges_per_function": {
        "u64": "10000"
      },
      "max_back_edges_per_module": {
        "u64": "10000"
      },
      "max_basic_blocks": {
        "u64": "1024"
      },
      "max_checkpoint_size_bytes": {
        "u64": "31457280"
      },
      "max_deferral_rounds_for_congestion_control": {
        "u64": "10"
      },
      "max_dependency_depth": {
        "u64": "100"
      },
      "max_event_emit_size": {
        "u64": "256000"
      },
      "max_event_emit_size_total": {
        "u64": "65536000"
      },
      "max_fields_in_struct": {
        "u64": "32"
      },
      "max_function_definitions": {
        "u64": "1000"
      },
      "max_function_parameters": {
        "u64": "128"
      },
      "max_gas_computation_bucket": {
        "u64": "5000000"
      },
      "max_gas_payment_objects": {
        "u32": "256"
      },
      "max_gas_price": {
        "u64": "100000"
      },
      "max_generic_instantiation_length": {
        "u64": "32"
      },
      "max_input_objects": {
        "u64": "2048"
      },
      "max_jwk_votes_per_validator_per_epoch": {
        "u64": "240"
      },
      "max_loop_depth": {
        "u64": "5"
      },
      "max_meter_ticks_per_module": {
        "u64": "16000000"
      },
      "max_meter_ticks_per_package": {
        "u64": "16000000"
      },
      "max_modules_in_publish": {
        "u32": "64"
      },
      "max_move_enum_variants": null,
      "max_move_identifier_len": {
        "u64": "128"
      },
      "max_move_object_size": {
        "u64": "256000"
      },
      "max_move_package_size": {
        "u64": "102400"
      },
      "max_move_value_depth": {
        "u64": "128"
      },
      "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": "1024"
      },
      "max_num_new_move_object_ids": {
        "u64": "2048"
      },
      "max_num_new_move_object_ids_system_tx": {
        "u64": "32768"
      },
      "max_num_transferred_move_object_ids": {
        "u64": "2048"
      },
      "max_num_transferred_move_object_ids_system_tx": {
        "u64": "32768"
      },
      "max_package_dependencies": {
        "u32": "32"
      },
      "max_programmable_tx_commands": {
        "u32": "1024"
      },
      "max_publish_or_upgrade_per_ptb": {
        "u64": "5"
      },
      "max_pure_argument_size": {
        "u32": "16384"
      },
      "max_push_size": {
        "u64": "10000"
      },
      "max_serialized_tx_effects_size_bytes": {
        "u64": "524288"
      },
      "max_serialized_tx_effects_size_bytes_system_tx": {
        "u64": "8388608"
      },
      "max_size_written_objects": {
        "u64": "5000000"
      },
      "max_size_written_objects_system_tx": {
        "u64": "50000000"
      },
      "max_soft_bundle_size": {
        "u64": "5"
      },
      "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": "16000000"
      },
      "min_checkpoint_interval_ms": {
        "u64": "200"
      },
      "min_move_binary_format_version": {
        "u32": "6"
      },
      "move_binary_format_version": {
        "u32": "7"
      },
      "obj_access_cost_delete_per_byte": {
        "u64": "40"
      },
      "obj_access_cost_mutate_per_byte": {
        "u64": "40"
      },
      "obj_access_cost_read_per_byte": {
        "u64": "15"
      },
      "obj_access_cost_verify_per_byte": {
        "u64": "200"
      },
      "obj_data_cost_refundable": {
        "u64": "100"
      },
      "obj_metadata_cost_non_refundable": {
        "u64": "50"
      },
      "object_borrow_uid_cost_base": {
        "u64": "52"
      },
      "object_delete_impl_cost_base": {
        "u64": "52"
      },
      "object_record_new_uid_cost_base": {
        "u64": "52"
      },
      "object_runtime_max_num_cached_objects": {
        "u64": "1000"
      },
      "object_runtime_max_num_cached_objects_system_tx": {
        "u64": "16000"
      },
      "object_runtime_max_num_store_entries": {
        "u64": "1000"
      },
      "object_runtime_max_num_store_entries_system_tx": {
        "u64": "16000"
      },
      "package_publish_cost_fixed": {
        "u64": "1000"
      },
      "package_publish_cost_per_byte": {
        "u64": "80"
      },
      "poseidon_bn254_cost_base": {
        "u64": "260"
      },
      "poseidon_bn254_cost_per_block": {
        "u64": "10"
      },
      "random_beacon_dkg_timeout_round": {
        "u32": "3000"
      },
      "random_beacon_dkg_version": {
        "u64": "1"
      },
      "random_beacon_min_round_interval_ms": {
        "u64": "500"
      },
      "random_beacon_reduction_allowed_delta": {
        "u16": "800"
      },
      "random_beacon_reduction_lower_bound": {
        "u32": "1000"
      },
      "reward_slashing_rate": {
        "u64": "10000"
      },
      "storage_gas_price": {
        "u64": "76"
      },
      "storage_rebate_rate": {
        "u64": "10000"
      },
      "string_check_utf8_base_cost": {
        "u64": "52"
      },
      "string_check_utf8_per_byte_cost": {
        "u64": "2"
      },
      "string_index_of_base_cost": {
        "u64": "52"
      },
      "string_index_of_per_byte_pattern_cost": {
        "u64": "2"
      },
      "string_index_of_per_byte_searched_cost": {
        "u64": "2"
      },
      "string_is_char_boundary_base_cost": {
        "u64": "52"
      },
      "string_sub_string_base_cost": {
        "u64": "52"
      },
      "string_sub_string_per_byte_cost": {
        "u64": "2"
      },
      "transfer_freeze_object_cost_base": {
        "u64": "52"
      },
      "transfer_receive_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"
      },
      "type_name_get_base_cost": {
        "u64": "52"
      },
      "type_name_get_per_byte_cost": {
        "u64": "2"
      },
      "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_target_reward": {
        "u64": "767000000000000"
      },
      "validator_validate_metadata_cost_base": {
        "u64": "52"
      },
      "validator_validate_metadata_data_cost_per_byte": {
        "u64": "2"
      },
      "vdf_hash_to_input_cost": {
        "u64": "100"
      },
      "vdf_verify_vdf_cost": {
        "u64": "1500"
      },
      "vector_borrow_base_cost": {
        "u64": "52"
      },
      "vector_destroy_empty_base_cost": {
        "u64": "52"
      },
      "vector_empty_base_cost": {
        "u64": "52"
      },
      "vector_length_base_cost": {
        "u64": "52"
      },
      "vector_pop_back_base_cost": {
        "u64": "52"
      },
      "vector_push_back_base_cost": {
        "u64": "52"
      },
      "vector_push_back_legacy_per_abstract_memory_unit_cost": {
        "u64": "2"
      },
      "vector_swap_base_cost": {
        "u64": "52"
      }
    }
  },
  "id": 1
}

iota_getTotalTransactionBlocks

Return the total number of transaction blocks known to the server.

Parameters

None

Result

BigInt<u64>< BigInt_for_uint64 >

Example

Gets total number of transactions on the network.

Request

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

Response

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

iota_getTransactionBlock

Return the transaction response object.

Parameters

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

Result

IotaTransactionBlockResponse< TransactionBlockResponse >

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

Example

Returns the transaction response object for specified transaction digest.

Request

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

Response

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "FpGNjXf3aHK61cqMAxLVaaRAzU7Dav8QW6DNg5qnGo3x",
    "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": "0xeb126769c0e4c365a80a2a9332872d7ed1f0b66d31a7eae33ee136996c1f3638",
        "gasData": {
          "payment": [
            {
              "objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
              "version": 2,
              "digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
            }
          ],
          "owner": "0xeb126769c0e4c365a80a2a9332872d7ed1f0b66d31a7eae33ee136996c1f3638",
          "price": "10",
          "budget": "100000"
        }
      },
      "txSignatures": [
        "ANuc6Egqqzpiy6qWWkI//Z9jAe0WmcGYigz0oWlk2CGYZ7XRnmhJuMRa78wLabwcwomzIpXdEZgpkaJtDJd/fQZtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAggZbQSLem0EyO3IlXnYb9P8kMUvmhTGuBK5T+YTxbzrsBAF7rHUSeJRYWbVfXH96xVNDcns23swBX0KkyaEysNSzcAgAAAAAAAAAg43+UGkUe+CCaD7+/G1SbK7Jrjq7giJUUbfJ7w88mEMEBAQEBAQABAADrEmdpwOTDZagKKpMyhy1+0fC2bTGn6uM+4TaZbB82OAEaPomAKdAk7sHUTGr14vrN7YTQO1NzUU8W49ZuAAgQUQIAAAAAAAAAIGS7c6HtWLLBiwy/N3eS4gbmuA1NXupk4ucFY7FYkCbE6xJnacDkw2WoCiqTMoctftHwtm0xp+rjPuE2mWwfNjgKAAAAAAAAAKCGAQAAAAAAAAFhANuc6Egqqzpiy6qWWkI//Z9jAe0WmcGYigz0oWlk2CGYZ7XRnmhJuMRa78wLabwcwomzIpXdEZgpkaJtDJd/fQZtCxWrqsEEHAdxoMDwblU5hyWJ8H3zFvk20E2fO5bzHA==",
    "effects": {
      "messageVersion": "v1",
      "status": {
        "status": "success"
      },
      "executedEpoch": "0",
      "gasUsed": {
        "computationCost": "100",
        "computationCostBurned": "100",
        "storageCost": "100",
        "storageRebate": "10",
        "nonRefundableStorageFee": "0"
      },
      "transactionDigest": "6AyFnAuKAKCqm1cD94EyGzBqJCDDJ716ojjmsKF2rqoi",
      "mutated": [
        {
          "owner": {
            "AddressOwner": "0xeb126769c0e4c365a80a2a9332872d7ed1f0b66d31a7eae33ee136996c1f3638"
          },
          "reference": {
            "objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
            "version": 2,
            "digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
          }
        },
        {
          "owner": {
            "AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
          },
          "reference": {
            "objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
            "version": 2,
            "digest": "GK4NxEKSrK88XkPNeuBqtJYPmU9yMTWMD7K9TdU4ybKN"
          }
        }
      ],
      "gasObject": {
        "owner": {
          "ObjectOwner": "0xeb126769c0e4c365a80a2a9332872d7ed1f0b66d31a7eae33ee136996c1f3638"
        },
        "reference": {
          "objectId": "0x1a3e898029d024eec1d44c6af5e2facded84d03b5373514f16e3d66e00081051",
          "version": 2,
          "digest": "7nDZ5J4VyvYGUbX2f6mQdhkr3RFrb3vZqui1ogoyApD9"
        }
      },
      "eventsDigest": "9BQobwxQvJ1JxSXNn8v8htZPTu8FEzJJGgcD4kgLUuMd"
    },
    "objectChanges": [
      {
        "type": "transferred",
        "sender": "0xeb126769c0e4c365a80a2a9332872d7ed1f0b66d31a7eae33ee136996c1f3638",
        "recipient": {
          "AddressOwner": "0x8196d048b7a6d04c8edc89579d86fd3fc90c52f9a14c6b812b94fe613c5bcebb"
        },
        "objectType": "0x2::example::Object",
        "objectId": "0x5eeb1d449e2516166d57d71fdeb154d0dc9ecdb7b30057d0a932684cac352cdc",
        "version": "2",
        "digest": "64UQ3a7m1mjWuzgyGoH8RnMyPGDN4XYTC9dS4qiSfdK4"
      }
    ]
  },
  "id": 1
}

iota_multiGetObjects

Return the object data for a list of objects

Parameters

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

Result

Vec<IotaObjectResponse><[ IotaObjectResponse ]>

Example

Gets objects by IDs.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_multiGetObjects",
  "params": [
    [
      "0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e",
      "0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134",
      "0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656",
      "0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685",
      "0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6"
    ],
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "data": {
        "objectId": "0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e",
        "version": "1",
        "digest": "AibMqH69gKT5t7rVTsDZFy2X5iHtoNDobKaZ62mg3FCU",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0xe8070b5f56bb10bafa0e2261d819b2582f82ab308bf9c96dfb22ec7345db1b5f"
        },
        "previousTransaction": "2QwXW3qzMEZPAyyP9VHtXbC2tp7iomypQc5XnkyPsu5d",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x504d411325e3c7f89d412044fe99007efb0f94f1e64d2e8090c619a39299d87e"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134",
        "version": "1",
        "digest": "D5W76mT1A3tqCmE1Z5MdV5obNzesMXLfLKpRDHSp1fyz",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0x5594d02890c986dbf328d28d21acece356d10d89e75f565b0934851ba8d5bc59"
        },
        "previousTransaction": "5itvhMFvtJcV6fY2VY4x7F9Ex18q2N4Rr5WU4FXTJsFU",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x23618df6438d21a48040e6bb568cafc13246bd847c60448160e0358cac4a1134"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656",
        "version": "1",
        "digest": "H2o2pWgceQgTtYrMacR4xnCi4vqGiuozDA6k2rBc4m3q",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0xda104dde1de9880be827a1a753e502ebcdfec53f33e745e3f021366b7bc47c2b"
        },
        "previousTransaction": "8rsTRNPs13DZvD2xneZEtf2nAAipep6uHXPXWVXfzDBr",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x8b95b4eaa9fd3b22b43f6b2c8e92090bd6d16522a6fd4fa83ec70a5f197ad656"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685",
        "version": "1",
        "digest": "3ovR1s3bZt6AN1AQ7QhGUfX9BSwgjJPvL6XaczgeSKXU",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0x00a65bf5fdccb50582333b61721e6963a25f25ac8ead5916a83f49a7b372eae7"
        },
        "previousTransaction": "3w6ars2tmgBST4ozGxPWzSpEGyn4AdxMBv3K9sdkCWfR",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x3fbbd3ebef7dbcc7b02346cdf05674452cc61f316af5d5d7c02b94b023242685"
            }
          }
        }
      }
    },
    {
      "data": {
        "objectId": "0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6",
        "version": "1",
        "digest": "25QdFqrh9FgxhGQyAxZsNEakYmHezqmU3FMPud7JGRB5",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0x3e7f360c51d035a6470f09c8d23716e4085025b89d176840d61dde92a452a72f"
        },
        "previousTransaction": "BE9GoMd7Mr8fGte3EdsXxUMwYjcErW71n6Gsm4iPvDmv",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "100000000",
            "id": {
              "id": "0x9b5cd5df0df2a168259b7115a41ccc0a372b6fd0026e0c63043492ce4d0c19a6"
            }
          }
        }
      }
    }
  ],
  "id": 1
}

iota_multiGetTransactionBlocks

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

Parameters

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

Result

Vec<IotaTransactionBlockResponse><[ TransactionBlockResponse ]>

Example

Returns the transaction data for specified digest.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_multiGetTransactionBlocks",
  "params": [
    [
      "Hj12H7iuX6ejEQCtbA2saQpa1i68f9d2CWxxgQo9QbpY",
      "81rKmx5TmSzq8UK51rwHS6gQdUg618JHoa4oUxB3opb",
      "AhdWMs5P16iyATKbiZ1vhoAj11Q9xKA7r9XTJDB5wFes"
    ],
    {
      "showInput": true,
      "showRawInput": false,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": false,
      "showBalanceChanges": false,
      "showRawEffects": false
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "digest": "Hj12H7iuX6ejEQCtbA2saQpa1i68f9d2CWxxgQo9QbpY",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
                "version": "2",
                "digest": "3gmeyj5oEdE8A4PvjWsDSHchC6tb6YQj18gnD7xnDqGz"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0x235c77b62592fd410cb9eb3c6a77aebddd1ff931aee26094b6702dfc1f65a905",
          "gasData": {
            "payment": [
              {
                "objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
                "version": 2,
                "digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
              }
            ],
            "owner": "0x235c77b62592fd410cb9eb3c6a77aebddd1ff931aee26094b6702dfc1f65a905",
            "price": "10",
            "budget": "100000"
          }
        },
        "txSignatures": [
          "ADXpbKNNpRW1Csi96IkAhv0CbvRO5D4Wx+iZ4S+k7SjACqqMtyW08Y0TFpydk9mrx9vb5qKyFAqgx4GDVgV/fQmnSicGHWn+0mf3oSb/LUa5i+dDAEb1qsgy7LkQ8hbr+w=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAgeo6aDQdPkP3bQs2Sj3S5hsb1Oac089fJp1qcsifsMVcBACSWLuQZPIwNL7KLvg60ul/IeixtGnwSyUVIcsXqBtXhAgAAAAAAAAAgJ+eEST+x3M3niTo6xcZ80sTidUC1LugoCWsqpf5Qp+8BAQEBAQABAAAjXHe2JZL9QQy56zxqd6693R/5Ma7iYJS2cC38H2WpBQGVhdVZFSG/0S3sOjcu/VORCLqAeg2r7W5doPF078P1jgIAAAAAAAAAIP8RnpL1eudNGyUNXfLLUXB4KopDj79oHt7U0eCizX37I1x3tiWS/UEMues8aneuvd0f+TGu4mCUtnAt/B9lqQUKAAAAAAAAAKCGAQAAAAAAAAFhADXpbKNNpRW1Csi96IkAhv0CbvRO5D4Wx+iZ4S+k7SjACqqMtyW08Y0TFpydk9mrx9vb5qKyFAqgx4GDVgV/fQmnSicGHWn+0mf3oSb/LUa5i+dDAEb1qsgy7LkQ8hbr+w==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "computationCostBurned": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "2SY11dmdTQv6JLD2wqcsMiJNqXbXUkn87Rzw5NHib8Mf",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0x235c77b62592fd410cb9eb3c6a77aebddd1ff931aee26094b6702dfc1f65a905"
            },
            "reference": {
              "objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
              "version": 2,
              "digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
            }
          },
          {
            "owner": {
              "AddressOwner": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
            },
            "reference": {
              "objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
              "version": 2,
              "digest": "3gmeyj5oEdE8A4PvjWsDSHchC6tb6YQj18gnD7xnDqGz"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0x235c77b62592fd410cb9eb3c6a77aebddd1ff931aee26094b6702dfc1f65a905"
          },
          "reference": {
            "objectId": "0x9585d5591521bfd12dec3a372efd539108ba807a0dabed6e5da0f174efc3f58e",
            "version": 2,
            "digest": "JAgYeYMPm5VLzBYcYxxQUEatfG9gHdFqSNwmBBS41Bri"
          }
        },
        "eventsDigest": "DkaTtjSfULiQ7FT48kzuS7yKj2JUAWGgjDBXddqn1z9o"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0x235c77b62592fd410cb9eb3c6a77aebddd1ff931aee26094b6702dfc1f65a905",
          "recipient": {
            "AddressOwner": "0x7a8e9a0d074f90fddb42cd928f74b986c6f539a734f3d7c9a75a9cb227ec3157"
          },
          "objectType": "0x2::example::Object",
          "objectId": "0x24962ee4193c8c0d2fb28bbe0eb4ba5fc87a2c6d1a7c12c9454872c5ea06d5e1",
          "version": "2",
          "digest": "J4k64LwycebB7TQhKrPaZ954yCK64rwbDJMSrSUW4Ba4"
        }
      ]
    },
    {
      "digest": "81rKmx5TmSzq8UK51rwHS6gQdUg618JHoa4oUxB3opb",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
                "version": "2",
                "digest": "HyJbrm9Th6ox4oU9vrrRzgZSaCu1n3omMJ1fAcHswvvo"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0xf528c54e5aa9397aa10a66ec4455fd4b49735ac19e5a0deed050c755ca98d29c",
          "gasData": {
            "payment": [
              {
                "objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
                "version": 2,
                "digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
              }
            ],
            "owner": "0xf528c54e5aa9397aa10a66ec4455fd4b49735ac19e5a0deed050c755ca98d29c",
            "price": "10",
            "budget": "100000"
          }
        },
        "txSignatures": [
          "AOTioLzQMACPuS2iB1FJBbTHnd/VTto9n+JwEeO5DtKAcAxQWN+MWuWGl8Th42XkVv2wqe8OG39I+Jji11TORgQLoJG5hufQ9rzjXn1UVSbD7HyPVZykOZAICGCiqQMgGw=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAgw+T4RqKCdUlG4YHgD0NBpTteiV747Dxz0jeKChGCXiMBAC+sGnDiDhRvsTA71g60vqm9RT5QaQtCMkHw4um+q9YBAgAAAAAAAAAg/Cdq6qc8DsEltgkKJ7uvql/DLnVzYS0husigmreRU3QBAQEBAQABAAD1KMVOWqk5eqEKZuxEVf1LSXNawZ5aDe7QUMdVypjSnAG72r8oKO6cp+QiemHP+FH++ftqCK5ETJb5gQJ11q+XPAIAAAAAAAAAIA0CLbniGg8JvLiQdz0RwavXF2ex9nqAQCZ3iCA/OXci9SjFTlqpOXqhCmbsRFX9S0lzWsGeWg3u0FDHVcqY0pwKAAAAAAAAAKCGAQAAAAAAAAFhAOTioLzQMACPuS2iB1FJBbTHnd/VTto9n+JwEeO5DtKAcAxQWN+MWuWGl8Th42XkVv2wqe8OG39I+Jji11TORgQLoJG5hufQ9rzjXn1UVSbD7HyPVZykOZAICGCiqQMgGw==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "computationCostBurned": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "69bh3Q9RhRgMFKwmQn8LYE8vYujFTpYyUSVBht3oYkm6",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0xf528c54e5aa9397aa10a66ec4455fd4b49735ac19e5a0deed050c755ca98d29c"
            },
            "reference": {
              "objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
              "version": 2,
              "digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
            }
          },
          {
            "owner": {
              "AddressOwner": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
            },
            "reference": {
              "objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
              "version": 2,
              "digest": "HyJbrm9Th6ox4oU9vrrRzgZSaCu1n3omMJ1fAcHswvvo"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0xf528c54e5aa9397aa10a66ec4455fd4b49735ac19e5a0deed050c755ca98d29c"
          },
          "reference": {
            "objectId": "0xbbdabf2828ee9ca7e4227a61cff851fef9fb6a08ae444c96f9810275d6af973c",
            "version": 2,
            "digest": "snEA8RNnDvsYjKJx2NMUP49TMjoAuQXx3LJgwe4qo9B"
          }
        },
        "eventsDigest": "4Vh6HmG6PwdbZbMiMwj9YnKvsMnP3gfhLmAd288eujv4"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0xf528c54e5aa9397aa10a66ec4455fd4b49735ac19e5a0deed050c755ca98d29c",
          "recipient": {
            "AddressOwner": "0xc3e4f846a282754946e181e00f4341a53b5e895ef8ec3c73d2378a0a11825e23"
          },
          "objectType": "0x2::example::Object",
          "objectId": "0x2fac1a70e20e146fb1303bd60eb4bea9bd453e50690b423241f0e2e9beabd601",
          "version": "2",
          "digest": "CHia3BiES8mt5kqMYhzBpjAeLRpjcsMNDMFakBAdcVAg"
        }
      ]
    },
    {
      "digest": "AhdWMs5P16iyATKbiZ1vhoAj11Q9xKA7r9XTJDB5wFes",
      "transaction": {
        "data": {
          "messageVersion": "v1",
          "transaction": {
            "kind": "ProgrammableTransaction",
            "inputs": [
              {
                "type": "pure",
                "valueType": "address",
                "value": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
              },
              {
                "type": "object",
                "objectType": "immOrOwnedObject",
                "objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
                "version": "2",
                "digest": "6jsxetsBSZJ5ozgZuDmHXJzn9ZBp8emivfYHe6tnHg7C"
              }
            ],
            "transactions": [
              {
                "TransferObjects": [
                  [
                    {
                      "Input": 1
                    }
                  ],
                  {
                    "Input": 0
                  }
                ]
              }
            ]
          },
          "sender": "0xc14b8463f3b1bc524043bd03c25f673ec576debde0096727f95524f0f555f6bb",
          "gasData": {
            "payment": [
              {
                "objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
                "version": 2,
                "digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
              }
            ],
            "owner": "0xc14b8463f3b1bc524043bd03c25f673ec576debde0096727f95524f0f555f6bb",
            "price": "10",
            "budget": "100000"
          }
        },
        "txSignatures": [
          "AAUbCJPG4NRwCaIP0fhIYKgbCj73YH4jG+aLybQnwzniioDlLXeALtmzQiVcO/c/muVfegYm9quaAuTXkseXdwrBLYrHKlE7PwRVuJjmBwbiSpqS0m/j+PFnALfPM5bN1Q=="
        ]
      },
      "rawTransaction": "AQAAAAAAAgAgA4jCjd1Zd6WOIGrNGWOch1pPvs8zQrglyDhDAKx+O60BAMggp1tXQiS5IKqbAFCTuCDfJO+LQ3FUmfT/9OBWwM1cAgAAAAAAAAAgVUZy4Te1Cxp8iyTYMxDI9sRo5v6QbaCnpymsaNySaNMBAQEBAQABAADBS4Rj87G8UkBDvQPCX2c+xXbeveAJZyf5VSTw9VX2uwHYAktLOaf+0nE0sHPahjhFQRE5ZRk3noiMg6uvDmAFBAIAAAAAAAAAIHnkVv8BP1ZT2rttbJXd19NaQtMfOpvru2g9tm6KBnBowUuEY/OxvFJAQ70Dwl9nPsV23r3gCWcn+VUk8PVV9rsKAAAAAAAAAKCGAQAAAAAAAAFhAAUbCJPG4NRwCaIP0fhIYKgbCj73YH4jG+aLybQnwzniioDlLXeALtmzQiVcO/c/muVfegYm9quaAuTXkseXdwrBLYrHKlE7PwRVuJjmBwbiSpqS0m/j+PFnALfPM5bN1Q==",
      "effects": {
        "messageVersion": "v1",
        "status": {
          "status": "success"
        },
        "executedEpoch": "0",
        "gasUsed": {
          "computationCost": "100",
          "computationCostBurned": "100",
          "storageCost": "100",
          "storageRebate": "10",
          "nonRefundableStorageFee": "0"
        },
        "transactionDigest": "DzJWHtFNHttaBdpECZGDMF7tcx5NYZfNfCk5NsaaRgmn",
        "mutated": [
          {
            "owner": {
              "AddressOwner": "0xc14b8463f3b1bc524043bd03c25f673ec576debde0096727f95524f0f555f6bb"
            },
            "reference": {
              "objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
              "version": 2,
              "digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
            }
          },
          {
            "owner": {
              "AddressOwner": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
            },
            "reference": {
              "objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
              "version": 2,
              "digest": "6jsxetsBSZJ5ozgZuDmHXJzn9ZBp8emivfYHe6tnHg7C"
            }
          }
        ],
        "gasObject": {
          "owner": {
            "ObjectOwner": "0xc14b8463f3b1bc524043bd03c25f673ec576debde0096727f95524f0f555f6bb"
          },
          "reference": {
            "objectId": "0xd8024b4b39a7fed27134b073da8638454111396519379e888c83abaf0e600504",
            "version": 2,
            "digest": "9CpH2aW4XPVxaZBGHRwHueXEQUvN3Pf7JQpASHiEsNCw"
          }
        },
        "eventsDigest": "Bbh3U8fCxVzdX6uZUNWRzZrUktcUfWcydhWCMyWJSPpt"
      },
      "objectChanges": [
        {
          "type": "transferred",
          "sender": "0xc14b8463f3b1bc524043bd03c25f673ec576debde0096727f95524f0f555f6bb",
          "recipient": {
            "AddressOwner": "0x0388c28ddd5977a58e206acd19639c875a4fbecf3342b825c8384300ac7e3bad"
          },
          "objectType": "0x2::example::Object",
          "objectId": "0xc820a75b574224b920aa9b005093b820df24ef8b43715499f4fff4e056c0cd5c",
          "version": "2",
          "digest": "HaFQHEJugXDGh95A9Ye1tp7GikbuAQNiEanrQuVLvpfz"
        }
      ]
    }
  ],
  "id": 1
}

iota_tryGetPastObject

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

Parameters

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

Result

IotaPastObjectResponse< ObjectRead >

Example

Gets Past Object data.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_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::iota::IOTA>",
      "owner": {
        "AddressOwner": "0x3568c40e814d9d5396d23087a0fd641e91e0e00df6c012cded9ef9ba5e5bf042"
      },
      "previousTransaction": "5jQByoouHBwaico5pQB73GdbzerC2StjTiHh5garBjiV",
      "storageRebate": "100",
      "content": {
        "dataType": "moveObject",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "fields": {
          "balance": "10000",
          "id": {
            "id": "0x11af4b844ff94b3fbef6e36b518da3ad4c5856fa686464524a876b463d129760"
          }
        }
      }
    }
  },
  "id": 1
}

iota_tryMultiGetPastObjects

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

Parameters

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

Result

Vec<IotaPastObjectResponse><[ ObjectRead ]>

Example

Gets Past Object data for a vector of objects.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_tryMultiGetPastObjects",
  "params": [
    [
      {
        "objectId": "0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf",
        "version": "4"
      },
      {
        "objectId": "0x5cd6fa76ed1d18f05f15e35075252ddec4fb83621d55952d9172fcfcb72feae2",
        "version": "12"
      }
    ],
    {
      "showType": true,
      "showOwner": true,
      "showPreviousTransaction": true,
      "showDisplay": false,
      "showContent": true,
      "showBcs": false,
      "showStorageRebate": true
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "status": "VersionFound",
      "details": {
        "objectId": "0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf",
        "version": "4",
        "digest": "5pCqw4G6F1hXcukW3XwhBzas9RqeFrUkvNon5jgX3ewg",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0x38b3186a7bb26a1ab2c982a0a9b482aa70f5a010fffc60f20194ef0f597474e8"
        },
        "previousTransaction": "EupJisi3AynCmcFyhkX1azsVtR6vun1Uaf7WSRCE82jx",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "10000",
            "id": {
              "id": "0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf"
            }
          }
        }
      }
    },
    {
      "status": "VersionFound",
      "details": {
        "objectId": "0x5cd6fa76ed1d18f05f15e35075252ddec4fb83621d55952d9172fcfcb72feae2",
        "version": "12",
        "digest": "CE9bNT96Sa2BxQQH2id4PRxTgW5TW7zm6VVhDeRNBegW",
        "type": "0x2::coin::Coin<0x2::iota::IOTA>",
        "owner": {
          "AddressOwner": "0x54b3c61936f77fcfdaa213c2f7b4fb1b51ef9f3ed66000c0e45697dbee095479"
        },
        "previousTransaction": "hvBGBXvKVhC7XYgVPujuiLjxASR6UGAkSFrCRtVxX1F",
        "storageRebate": "100",
        "content": {
          "dataType": "moveObject",
          "type": "0x2::coin::Coin<0x2::iota::IOTA>",
          "fields": {
            "balance": "20000",
            "id": {
              "id": "0xd22bbb46f892c42d9ec0ae4de93e02c75973a51c17180798237326a58694a2cf"
            }
          }
        }
      }
    }
  ],
  "id": 1
}

Transaction Builder API

unsafe_batchTransaction

Create an unsigned batched transaction.

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_mergeCoins

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_moveCall

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_pay

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_payAllIota

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_payIota

Send IOTA coins to a list of addresses, following a list of amounts. This is for IOTA coin only and does not require a separate gas coin object. Specifically, what pay_iota 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 IOTA from input coins left and deposit all IOTA to the first input coin, then use the first input coin as the gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - sum(amounts) - actual_gas_cost 4. all other input coints other than the first one are deleted.

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_publish

Create an unsigned transaction to publish a Move package.

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_requestAddStake

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_requestAddTimelockedStake

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

Parameters

Name<Type>
Required
Description
signer< IotaAddress >
Yes
The transaction signer's Iota address
locked_balance< ObjectID >
Yes
TimeLock<Balance<IOTA>> object to stake
validator< IotaAddress >
Yes
The validator's Iota address
gas< ObjectID >
Yes
Gas object to be used in this transaction
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_requestWithdrawStake

Withdraw stake from a validator's staking pool.

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_requestWithdrawTimelockedStake

Withdraw timelocked stake from a validator's staking pool.

Parameters

Name<Type>
Required
Description
signer< IotaAddress >
Yes
The transaction signer's Iota address
timelocked_staked_iota< ObjectID >
Yes
TimelockedStakedIota object ID
gas< ObjectID >
Yes
Gas object to be used in this transaction
gas_budget< BigInt_for_uint64 >
Yes
The gas budget, the transaction will fail if the gas cost exceed the budget

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_splitCoin

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_splitCoinEqual

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_transferIota

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

unsafe_transferObject

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

Parameters

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

Result

TransactionBlockBytes< TransactionBlockBytes >

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

Write API

iota_devInspectTransactionBlock

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

Parameters

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

Result

DevInspectResults< DevInspectResults >

The response from processing a dev inspect transaction

Parameter
Required
Description
effects< TransactionBlockEffects >
Yes
Summary of effects that likely would be generated if the transaction is actually run. Note however, that not all dev-inspect transactions are actually usable as transactions so it might not be possible actually generate these effects from a normal transaction.
error< [string,null] >
No
Execution error from executing the transactions
events<[ Event ]>
Yes
Events that likely would be generated if the transaction is actually run.
rawEffects<[ string ]>
No
The raw effects of the transaction that was dev inspected.
rawTxnData<[ string ]>
No
The raw transaction data that was dev inspected.
results< IotaExecutionResult [array,null] >
No
Execution results (including return values) from executing the transactions

Example

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

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_devInspectTransactionBlock",
  "params": [
    "0xd70420418b84502e506794227f897237764dde8d79a01ab2104bf742a277a2ab",
    "AAACACBnxtMcbJcOVn8D72fYEaT4Q2ZbjePygvpIs+AQO6m77QEAagYVO5/EhuEB8OnicDrIZm0GrsxN3355JqNhlwxlpbECAAAAAAAAACDoQ3EipycU+/EOvBcDPFtMkZiSbdzWAw3CwdmQCAtBWAEBAQEBAAEAAMKwMSYiOSHAg+aAydIFAV6gYWuOXEniP/ORldAFiheCASxDgF0Nb1QCp60Npb3sVJx83qBrxKHTOaIlIe6pM7iJAgAAAAAAAAAgnvsgc1pPauyCE27/c+aBnHN3fSsxRAWdEJYzYFOryNDCsDEmIjkhwIPmgMnSBQFeoGFrjlxJ4j/zkZXQBYoXggoAAAAAAAAAoIYBAAAAAAAA",
    1000,
    8888,
    null
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "effects": {
      "messageVersion": "v1",
      "status": {
        "status": "success"
      },
      "executedEpoch": "0",
      "gasUsed": {
        "computationCost": "100",
        "computationCostBurned": "100",
        "storageCost": "100",
        "storageRebate": "10",
        "nonRefundableStorageFee": "0"
      },
      "transactionDigest": "76gyHCk7FRrGACRqXM7Ybj5uJLtAzgEMJ5P9CeEzxZSG",
      "mutated": [
        {
          "owner": {
            "AddressOwner": "0xc2b03126223921c083e680c9d205015ea0616b8e5c49e23ff39195d0058a1782"
          },
          "reference": {
            "objectId": "0x2c43805d0d6f5402a7ad0da5bdec549c7cdea06bc4a1d339a22521eea933b889",
            "version": 2,
            "digest": "BhbWpBeESxuRWvmvLMyb2JNUuFa6j4aG1T4WUiPgKAHm"
          }
        },
        {
          "owner": {
            "AddressOwner": "0x67c6d31c6c970e567f03ef67d811a4f843665b8de3f282fa48b3e0103ba9bbed"
          },
          "reference": {
            "objectId": "0x6a06153b9fc486e101f0e9e2703ac8666d06aecc4ddf7e7926a361970c65a5b1",
            "version": 2,
            "digest": "GdfET1avZReDftpJNB8LSuHJ2cKUheSbEaLMzuPVXHsM"
          }
        }
      ],
      "gasObject": {
        "owner": {
          "ObjectOwner": "0xc2b03126223921c083e680c9d205015ea0616b8e5c49e23ff39195d0058a1782"
        },
        "reference": {
          "objectId": "0x2c43805d0d6f5402a7ad0da5bdec549c7cdea06bc4a1d339a22521eea933b889",
          "version": 2,
          "digest": "BhbWpBeESxuRWvmvLMyb2JNUuFa6j4aG1T4WUiPgKAHm"
        }
      },
      "eventsDigest": "6kerMphN4S5QTfd9TAhwMiFq1q9c2YwfpheBfWm85vUq"
    },
    "events": []
  },
  "id": 1
}

iota_dryRunTransactionBlock

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

Parameters

Name<Type>
Required
Description
tx_bytes< Base64 >
Yes

Result

DryRunTransactionBlockResponse< DryRunTransactionBlockResponse >

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

Example

Dry runs a transaction block to get back estimated gas fees and other potential effects.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_dryRunTransactionBlock",
  "params": [
    "AAACACB7qR3cfnF89wjJNwYPBASHNuwz+xdG2Zml5YzVxnftgAEAT4LxyFh7mNZMAL+0bDhDvYv2zPp8ZahhOGmM0f3Kw9wCAAAAAAAAACCxDABG4pPAjOwPQHg9msS/SrtNf4IGR/2F0ZGD3ufH/wEBAQEBAAEAAE9XTdl6Y4BapdPcmZyAyccZhwIZVzDQIcZrRpqqsEQ4AejYx86GPzE9o9vZKoPvJtEouI/ma/JuDg0Jza9yfR2EAgAAAAAAAAAgzMqpegLMOpgEFnDhYJ23FOmFjJbp5GmFXxzzv9+X6GVPV03ZemOAWqXT3JmcgMnHGYcCGVcw0CHGa0aaqrBEOAoAAAAAAAAAoIYBAAAAAAAA"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "B9CPdGjcArAtZXAiqHU874B5D9ZcFHj6kx4W3LaHdgAk",
    "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": "0x4f574dd97a63805aa5d3dc999c80c9c7198702195730d021c66b469aaab04438",
        "gasData": {
          "payment": [
            {
              "objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
              "version": 2,
              "digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
            }
          ],
          "owner": "0x4f574dd97a63805aa5d3dc999c80c9c7198702195730d021c66b469aaab04438",
          "price": "10",
          "budget": "100000"
        }
      },
      "txSignatures": [
        "AAk0zWxFHoW4PChs3RzxsnNgLYMAvtk8maZHBNEUiupqyV8ptMZrc/tt5rzi09oguNn1JeRsrO6sIH0JDn/sqAdDij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAge6kd3H5xfPcIyTcGDwQEhzbsM/sXRtmZpeWM1cZ37YABAE+C8chYe5jWTAC/tGw4Q72L9sz6fGWoYThpjNH9ysPcAgAAAAAAAAAgsQwARuKTwIzsD0B4PZrEv0q7TX+CBkf9hdGRg97nx/8BAQEBAQABAABPV03ZemOAWqXT3JmcgMnHGYcCGVcw0CHGa0aaqrBEOAHo2MfOhj8xPaPb2SqD7ybRKLiP5mvybg4NCc2vcn0dhAIAAAAAAAAAIMzKqXoCzDqYBBZw4WCdtxTphYyW6eRphV8c87/fl+hlT1dN2XpjgFql09yZnIDJxxmHAhlXMNAhxmtGmqqwRDgKAAAAAAAAAKCGAQAAAAAAAAFhAAk0zWxFHoW4PChs3RzxsnNgLYMAvtk8maZHBNEUiupqyV8ptMZrc/tt5rzi09oguNn1JeRsrO6sIH0JDn/sqAdDij1TvBYKLcfLNo8fq6GASb9yfo6uvuwNUBGkTf54wQ==",
    "effects": {
      "messageVersion": "v1",
      "status": {
        "status": "success"
      },
      "executedEpoch": "0",
      "gasUsed": {
        "computationCost": "100",
        "computationCostBurned": "100",
        "storageCost": "100",
        "storageRebate": "10",
        "nonRefundableStorageFee": "0"
      },
      "transactionDigest": "8UExPV121BEfWkbymSPDYhh23rVNh3MSWtC5juJ9JGMJ",
      "mutated": [
        {
          "owner": {
            "AddressOwner": "0x4f574dd97a63805aa5d3dc999c80c9c7198702195730d021c66b469aaab04438"
          },
          "reference": {
            "objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
            "version": 2,
            "digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
          }
        },
        {
          "owner": {
            "AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
          },
          "reference": {
            "objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
            "version": 2,
            "digest": "Cv7n2YaM7Am1ssZGu4khsFkcKHnpgVhwFCSs4kLjrtLW"
          }
        }
      ],
      "gasObject": {
        "owner": {
          "ObjectOwner": "0x4f574dd97a63805aa5d3dc999c80c9c7198702195730d021c66b469aaab04438"
        },
        "reference": {
          "objectId": "0xe8d8c7ce863f313da3dbd92a83ef26d128b88fe66bf26e0e0d09cdaf727d1d84",
          "version": 2,
          "digest": "EnRQXe1hDGAJCFyF2ds2GmPHdvf9V6yxf24LisEsDkYt"
        }
      },
      "eventsDigest": "55TNn3v5vpuXjQfjqamw76P9GZD522pumo4NuT7RYeFB"
    },
    "objectChanges": [
      {
        "type": "transferred",
        "sender": "0x4f574dd97a63805aa5d3dc999c80c9c7198702195730d021c66b469aaab04438",
        "recipient": {
          "AddressOwner": "0x7ba91ddc7e717cf708c937060f04048736ec33fb1746d999a5e58cd5c677ed80"
        },
        "objectType": "0x2::example::Object",
        "objectId": "0x4f82f1c8587b98d64c00bfb46c3843bd8bf6ccfa7c65a86138698cd1fdcac3dc",
        "version": "2",
        "digest": "B3xLC8EbyvTxy5pgiwTNUzHLa6kS7uwD6sZdErKB8F8f"
      }
    ]
  },
  "id": 1
}

iota_executeTransactionBlock

Execute the transaction and wait for results if desired. Request types: 1. WaitForEffectsCert: waits for TransactionEffectsCert and then return to client. This mode is a proxy for transaction finality. 2. WaitForLocalExecution: waits for TransactionEffectsCert and make sure the node executed the transaction locally before returning the client. The local execution makes sure this node is aware of this transaction when client fires subsequent queries. However if the node fails to execute the transaction locally in a timely manner, a bool type in the response is set to false to indicated the case. request_type is default to be WaitForEffectsCert unless options.show_events or options.show_effects is true

Parameters

Name<Type>
Required
Description
tx_bytes< Base64 >
Yes
BCS serialized transaction data bytes without its type tag, as base-64 encoded string.
signatures<[ Base64 ]>
Yes
A list of signatures (flag || signature || pubkey bytes, as base-64 encoded string). Signature is committed to the intent message of the transaction data, as base-64 encoded string.
options< TransactionBlockResponseOptions >
No
Options for specifying the content to be returned
request_type< ExecuteTransactionRequestType >
No
The request type, derived from IotaTransactionBlockResponseOptions if None

Result

IotaTransactionBlockResponse< TransactionBlockResponse >

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

Example

Executes a transaction with serialized signatures.

Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "iota_executeTransactionBlock",
  "params": [
    "AAACACBqEB6aOvXIBwES+Ahkizbvv43uihqC3kbZUE6WoRCKFwEAjvdvVsOZYzousxC8qRJOXy84znOeqsu2YAaIgE4HhEgCAAAAAAAAACB9w3+ufZMpihJFwxtCBojBaGy00TVtFxgN2C6TpIPFqwEBAQEBAAEAAL5N77yuKRb4g/2ejPxYvLpjZ2SwXH6wsX5+CabmRdtkAZ+Q9/hmzCnfsdpjc86U+dldylpA9OF2mRjuv5+64AvTAgAAAAAAAAAgjleHL0UiRGjh/BfIFHCJ3EMY/dQA22c2TvNQyVJnbYW+Te+8rikW+IP9noz8WLy6Y2dksFx+sLF+fgmm5kXbZAoAAAAAAAAAoIYBAAAAAAAA",
    [
      "ANM+jgFPQLHI7qyW/zmHCIi+gStO1jiw2S/b6tR7A9dbt/86/06SB4Z5/gdkRT5pkN5TRdd1INmxxbDZAOyK/AvqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
    ],
    {
      "showInput": true,
      "showRawInput": true,
      "showEffects": true,
      "showEvents": true,
      "showObjectChanges": true,
      "showBalanceChanges": true,
      "showRawEffects": false
    },
    "WaitForLocalExecution"
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "digest": "6x6axDu4LwDWuSjseCAwBzdKsyJ59iuV7QPNzctdfw7h",
    "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": "0xbe4defbcae2916f883fd9e8cfc58bcba636764b05c7eb0b17e7e09a6e645db64",
        "gasData": {
          "payment": [
            {
              "objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
              "version": 2,
              "digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
            }
          ],
          "owner": "0xbe4defbcae2916f883fd9e8cfc58bcba636764b05c7eb0b17e7e09a6e645db64",
          "price": "10",
          "budget": "100000"
        }
      },
      "txSignatures": [
        "ANM+jgFPQLHI7qyW/zmHCIi+gStO1jiw2S/b6tR7A9dbt/86/06SB4Z5/gdkRT5pkN5TRdd1INmxxbDZAOyK/AvqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w=="
      ]
    },
    "rawTransaction": "AQAAAAAAAgAgahAemjr1yAcBEvgIZIs277+N7ooagt5G2VBOlqEQihcBAI73b1bDmWM6LrMQvKkSTl8vOM5znqrLtmAGiIBOB4RIAgAAAAAAAAAgfcN/rn2TKYoSRcMbQgaIwWhstNE1bRcYDdguk6SDxasBAQEBAQABAAC+Te+8rikW+IP9noz8WLy6Y2dksFx+sLF+fgmm5kXbZAGfkPf4Zswp37HaY3POlPnZXcpaQPThdpkY7r+fuuAL0wIAAAAAAAAAII5Xhy9FIkRo4fwXyBRwidxDGP3UANtnNk7zUMlSZ22Fvk3vvK4pFviD/Z6M/Fi8umNnZLBcfrCxfn4JpuZF22QKAAAAAAAAAKCGAQAAAAAAAAFhANM+jgFPQLHI7qyW/zmHCIi+gStO1jiw2S/b6tR7A9dbt/86/06SB4Z5/gdkRT5pkN5TRdd1INmxxbDZAOyK/AvqvbuA0Q1Bqu4RHV3JPpqmH+C527hWJGUBOZN1j9sg8w==",
    "effects": {
      "messageVersion": "v1",
      "status": {
        "status": "success"
      },
      "executedEpoch": "0",
      "gasUsed": {
        "computationCost": "100",
        "computationCostBurned": "100",
        "storageCost": "100",
        "storageRebate": "10",
        "nonRefundableStorageFee": "0"
      },
      "transactionDigest": "9agZ3azEMgMqxrDVG8P4GddELfWag2HhimEkpjixHhGE",
      "mutated": [
        {
          "owner": {
            "AddressOwner": "0xbe4defbcae2916f883fd9e8cfc58bcba636764b05c7eb0b17e7e09a6e645db64"
          },
          "reference": {
            "objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
            "version": 2,
            "digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
          }
        },
        {
          "owner": {
            "AddressOwner": "0x6a101e9a3af5c8070112f808648b36efbf8dee8a1a82de46d9504e96a1108a17"
          },
          "reference": {
            "objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
            "version": 2,
            "digest": "9Tvs1pGrMbNv7kkr1PoKLsWamyQpaFz5UWbL2AQ1ezk2"
          }
        }
      ],
      "gasObject": {
        "owner": {
          "ObjectOwner": "0xbe4defbcae2916f883fd9e8cfc58bcba636764b05c7eb0b17e7e09a6e645db64"
        },
        "reference": {
          "objectId": "0x9f90f7f866cc29dfb1da6373ce94f9d95dca5a40f4e1769918eebf9fbae00bd3",
          "version": 2,
          "digest": "AaeJbTYkUuyromsivxzkoxSkHt7pCESTyQG7xz6nbQ2G"
        }
      },
      "eventsDigest": "816hEv4WAW2reK9xkf11PeHiaZJrp7PQT9oGJZhdf9TN"
    },
    "objectChanges": [
      {
        "type": "transferred",
        "sender": "0xbe4defbcae2916f883fd9e8cfc58bcba636764b05c7eb0b17e7e09a6e645db64",
        "recipient": {
          "AddressOwner": "0x6a101e9a3af5c8070112f808648b36efbf8dee8a1a82de46d9504e96a1108a17"
        },
        "objectType": "0x2::example::Object",
        "objectId": "0x8ef76f56c399633a2eb310bca9124e5f2f38ce739eaacbb6600688804e078448",
        "version": "2",
        "digest": "7PsBHpUW6yfGNov2WrbVafLjgT9nYziQ3gVDbRq6zTbF"
      }
    ]
  },
  "id": 1
}