IOTA
IOTA API is available on Web3 API platform.
IOTA is a Move-based protocol that provides a decentralized, scalable platform for digital asset management and smart contracts. Leveraging the Move programming language, IOTA Layer 1 ensures high performance and security for applications deployed on the IOTA Mainnet.
In order for your Web3 application to interact with IOTA — either by reading blockchain data or sending transactions to the network — it must connect to an IOTA node. Developers interact with the blockchain using the methods provided by the API.
The API interaction follows the JSON-RPC which is a stateless, light-weight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in other message-passing environments. It uses JSON (RFC 4627) as data format.
Methods supported
Coin Query:
iotax_getAllBalances— retrieves all coin balances for an account.iotax_getAllCoins— retrieves all coins held by an account.iotax_getBalance— retrieves the balance of a specific coin for an account.iotax_getCirculatingSupply— retrieves the circulating supply of a coin.iotax_getCoinMetadata— retrieves metadata of a coin (name, symbol, etc.).iotax_getCoins— retrieves all existing coins.iotax_getTotalSupply— retrieves the total minted supply of a coin.
Governance Read:
iotax_getCommitteeInfo— retrieves the committee information for the askedepoch.iotax_getLatestIotaSystemState— retrieves the latest IOTA system state.iotax_getLatestIotaSystemStateV2— retrieves the latest IOTA system state (v2 format).iotax_getReferenceGasPrice— retrieves the current reference gas price.iotax_getStakes— retrieves all stakes for a given address.iotax_getStakesByIds— retrieves stakes by stake object IDs.iotax_getTimelockedStakes— retrieves all timelocked stakes for an address.iotax_getTimelockedStakesByIds— retrieves timelocked stakes by object IDs.iotax_getValidatorsApy— retrieves the annual percentage yield (APY) for validators.
Move Utils:
iota_getMoveFunctionArgTypes— retrieves argument types for a Move function.iota_getNormalizedMoveFunction— retrieves normalized representation of a Move function.iota_getNormalizedMoveModule— retrieves normalized representation of a Move module.iota_getNormalizedMoveModulesByPackage— retrieves all normalized Move modules in a package.iota_getNormalizedMoveStruct— retrieves normalized representation of a Move struct.
Read:
iota_getChainIdentifier— retrieves the unique identifier of the chain.iota_getCheckpoint— retrieves a checkpoint by sequence number.iota_getCheckpoints— retrieves a list of checkpoints.iota_getEvents— retrieves transaction events.iota_getLatestCheckpointSequenceNumber— retrieves the latest checkpoint sequence number.iota_getObject— retrieves object data by ID.iota_getProtocolConfig— retrieves the current protocol configuration.iota_getTotalTransactionBlocks— retrieves the total number of transaction blocks.iota_getTransactionBlock— retrieves a transaction block by digest.iota_multiGetObjects— retrieves multiple on-chain objects by ID.iota_multiGetTransactionBlocks— retrieves multiple transaction blocks by digest.iota_tryGetPastObject— retrieves a past version of an object if available.iota_tryMultiGetPastObjects— retrieves past versions of multiple objects if available.
Transaction Builder:
unsafe_batchTransaction— creates an unsigned batched transaction.unsafe_mergeCoins— creates an unsigned transaction to merge multiple coins.unsafe_moveCall— creates an unsigned transaction to call a Move function.unsafe_pay— creates a transaction to transfer coins to multiple recipients.unsafe_payAllIota— creates a transaction to transfer all IOTA coins to a single recipient.unsafe_payIota— creates a transaction to transfer IOTA coins to multiple recipients.unsafe_publish— creates an unsigned transaction to publish Move modules.unsafe_requestAddStake— creates a request to add stake.unsafe_requestAddTimelockedStake— adds a timelocked stake.unsafe_requestWithdrawStake— withdraws stake from a validator's staking pool.unsafe_requestWithdrawTimelockedStake— withdraws timelocked stake from a validator's staking pool.unsafe_splitCoin— creates an unsigned transaction to split a coin into specified amounts.unsafe_splitCoinEqual— creates an unsigned transaction to split a coin into equal parts.unsafe_transferIota— creates an unsigned transaction to transfer IOTA coins.unsafe_transferObject— creates an unsigned transaction to transfer an on-chain object.
Write:
iota_devInspectTransactionBlock— simulates a transaction block for debugging and inspection.iota_dryRunTransactionBlock— simulates execution of a transaction block without committing it.iota_executeTransactionBlock— executes and commits a transaction block to the network.
Coin Query
Governance Read
Move Utils
Read
Transaction Builder
Write
Methods
iotax, iota
iotax_getAllBalancesiotax_getAllCoinsiotax_getBalanceiotax_getCirculatingSupplyiotax_getCoinMetadataiotax_getCoinsiotax_getTotalSupplyiotax_getCommitteeInfoiotax_getLatestIotaSystemStateiotax_getLatestIotaSystemStateV2iotax_getReferenceGasPriceiotax_getStakesiotax_getStakesByIdsiotax_getTimelockedStakesiotax_getTimelockedStakesByIdsiotax_getValidatorsApyiota_getMoveFunctionArgTypesiota_getNormalizedMoveFunctioniota_getNormalizedMoveModule
iota, unsafe
iota_getNormalizedMoveModulesByPackageiota_getNormalizedMoveStructiota_getChainIdentifieriota_getCheckpointiota_getCheckpointsiota_getEventsiota_getLatestCheckpointSequenceNumberiota_getObjectiota_getProtocolConfigiota_getTotalTransactionBlocksiota_getTransactionBlockiota_multiGetObjectsiota_multiGetTransactionBlocksiota_tryGetPastObjectiota_tryMultiGetPastObjectsunsafe_batchTransactionunsafe_mergeCoinsunsafe_moveCall
unsafe, iota
unsafe_payunsafe_payAllIotaunsafe_payIotaunsafe_publishunsafe_requestAddStakeunsafe_requestAddTimelockedStakeunsafe_requestWithdrawStakeunsafe_requestWithdrawTimelockedStakeunsafe_splitCoinunsafe_splitCoinEqualunsafe_transferIotaunsafe_transferObjectiota_devInspectTransactionBlockiota_dryRunTransactionBlockiota_executeTransactionBlock