IOTA
IOTA is an open-source distributed ledger technology built to bring real-world applications on-chain. It is the first internet-scale programmable blockchain platform powered by the Move programming language with horizontal scaling, feeless transactions, and a unique parallel transaction processing model. IOTA exposes a JSON-RPC 2.0 API over HTTP and a GraphQL RPC for querying objects, checkpoints, transactions, coins, events, and on-chain state on Mainnet, Testnet, and Devnet networks. The platform targets trade and supply chains, decentralized finance, digital identity, real-world asset tokenization, and product lifecycle management.
9 APIs
8 Features
BlockchainDistributed LedgerWeb3DeFiCryptocurrencyMoveTangle
Coin and balance-oriented JSON-RPC methods for the IOTA blockchain. Provides iotax_getAllBalances to retrieve total balances across all coin types for an address, iotax_getAllCo...
Core read-oriented JSON-RPC methods for the IOTA blockchain. Includes iota_getChainIdentifier to retrieve the genesis checkpoint digest, iota_getCheckpoint and iota_getCheckpoin...
Advanced indexer-exclusive JSON-RPC methods for the IOTA blockchain. Provides address metrics via iotax_getAllEpochAddressMetrics and iotax_getLatestAddressMetrics, epoch data v...
Governance and staking JSON-RPC methods for the IOTA blockchain. Includes iotax_getCommitteeInfo to retrieve committee data for specific epochs, iotax_getLatestIotaSystemState t...
Move language introspection JSON-RPC methods for the IOTA blockchain. Provides iota_getMoveFunctionArgTypes to retrieve function argument types for a Move function, iota_getNorm...
Transaction construction JSON-RPC methods for the IOTA blockchain. Includes methods for building unsigned transactions such as unsafe_transferObject, unsafe_transferIota, unsafe...
Transaction execution and simulation JSON-RPC methods for the IOTA blockchain. Provides iota_executeTransactionBlock to submit a signed transaction to the network and return res...
GraphQL RPC interface for the IOTA blockchain, providing an alternative to the JSON-RPC API. Supports querying transaction blocks, objects, checkpoints, events, and on-chain sta...
Ethereum-compatible JSON-RPC API for the IOTA EVM Layer 2. Supports standard Ethereum JSON-RPC methods enabling Solidity smart contract deployment and interaction via EVM-compat...
JSON-RPC 2.0 over HTTP
Standard JSON-RPC 2.0 protocol over HTTP POST to IOTA full nodes and indexers
GraphQL RPC
GraphQL interface as an alternative to JSON-RPC for flexible on-chain data queries
Three Network Environments
Mainnet (production), Testnet (testing), and Devnet (development) environments with faucets
Move Smart Contracts
Asset-oriented Move programming language for type-safe, resource-oriented smart contracts
EVM Layer 2
Ethereum-compatible EVM Layer 2 chain enabling Solidity contract deployment and tooling reuse
No Authentication Required
Public endpoints are open and require no API key for development and testing use
Cursor-based Pagination
All list endpoints support cursor-based pagination for efficient data traversal
BCS Binary Encoding
Binary Canonical Serialization (BCS) support alongside JSON for efficient data transfer
DeFi Application Backend
Query coin balances, object states, and submit transactions for decentralized finance apps on IOTA
Supply Chain Traceability
Track real-world assets and product lifecycle data on the IOTA distributed ledger
Digital Identity
Manage decentralized identifiers (DIDs) and verifiable credentials on-chain
Real-World Asset Tokenization
Tokenize and manage traditional financial assets bridged to IOTA using Move smart contracts
Blockchain Analytics
Query checkpoints, transaction blocks, and events for real-time analytics and data pipelines
Wallet Development
Check coin balances, fetch transaction history, build and submit signed transactions
Smart Contract Development
Introspect Move modules, deploy packages, and interact with on-chain programs via Move Utils
EVM dApp Migration
Deploy existing Solidity smart contracts on IOTA EVM Layer 2 using standard Ethereum tooling
aid: iota
url: https://raw.githubusercontent.com/api-evangelist/iota/refs/heads/main/apis.yml
name: IOTA
type: Index
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
tags:
- Blockchain
- Distributed Ledger
- Web3
- DeFi
- Cryptocurrency
- Move
- Tangle
description: IOTA is an open-source distributed ledger technology built to bring real-world applications on-chain. It is the
first internet-scale programmable blockchain platform powered by the Move programming language with horizontal scaling,
feeless transactions, and a unique parallel transaction processing model. IOTA exposes a JSON-RPC 2.0 API over HTTP and
a GraphQL RPC for querying objects, checkpoints, transactions, coins, events, and on-chain state on Mainnet, Testnet, and
Devnet networks. The platform targets trade and supply chains, decentralized finance, digital identity, real-world asset
tokenization, and product lifecycle management.
created: '2026-06-14'
modified: '2026-06-14'
specificationVersion: '0.19'
apis:
- aid: iota:iota-coin-query-api
name: IOTA Coin Query API
tags:
- Coins
- Balances
- Tokens
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Coin and balance-oriented JSON-RPC methods for the IOTA blockchain. Provides iotax_getAllBalances to retrieve
total balances across all coin types for an address, iotax_getAllCoins to list all coin objects owned by an address, iotax_getBalance
for the balance of a specific coin type, iotax_getCirculatingSupply to retrieve circulating supply summary, iotax_getCoinMetadata
for token symbol, decimals and description, iotax_getCoins to list coins of a specific type with pagination, and iotax_getTotalSupply
to return the total supply for a given coin type.
- aid: iota:iota-read-api
name: IOTA Read API
tags:
- Objects
- Checkpoints
- Transactions
- Events
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Core read-oriented JSON-RPC methods for the IOTA blockchain. Includes iota_getChainIdentifier to retrieve the
genesis checkpoint digest, iota_getCheckpoint and iota_getCheckpoints for checkpoint data with pagination, iota_getObject
and iota_multiGetObjects for on-chain object retrieval, iota_getTransactionBlock for individual transaction details, iota_multiGetTransactionBlocks
for batch transaction lookup, iota_getEvents to query on-chain events by filter criteria, iota_getProtocolConfig for current
protocol configuration, iota_getLatestCheckpointSequenceNumber, iota_getTotalTransactionBlocks, and iota_tryGetPastObject
for historical object state.
- aid: iota:iota-extended-api
name: IOTA Extended API
tags:
- Epochs
- Metrics
- Events
- Dynamic Fields
- Indexer
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://indexer.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Advanced indexer-exclusive JSON-RPC methods for the IOTA blockchain. Provides address metrics via iotax_getAllEpochAddressMetrics
and iotax_getLatestAddressMetrics, epoch data via iotax_getCurrentEpoch and iotax_getEpochMetrics, dynamic field access
via iotax_getDynamicFieldObject and iotax_getDynamicFields, network metrics, event and transaction queries with rich filtering,
IOTA Names (SuiNS-compatible) resolution, and validator APY data. Approximately 18 methods available exclusively through
the indexer endpoint rather than full nodes.
- aid: iota:iota-governance-read-api
name: IOTA Governance Read API
tags:
- Governance
- Validators
- Staking
- System State
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Governance and staking JSON-RPC methods for the IOTA blockchain. Includes iotax_getCommitteeInfo to retrieve
committee data for specific epochs, iotax_getLatestIotaSystemState to return the full system state object, iotax_getReferenceGasPrice
for the current network gas price, iotax_getStakes and iotax_getStakesByIds to query staking positions, iotax_getValidatorsApy
for validator annual percentage yields, iotax_getCheckpointSummaryByEpoch, and additional epoch-scoped governance queries
totaling 9 methods.
- aid: iota:iota-move-utils-api
name: IOTA Move Utils API
tags:
- Move
- Smart Contracts
- Modules
- Introspection
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Move language introspection JSON-RPC methods for the IOTA blockchain. Provides iota_getMoveFunctionArgTypes
to retrieve function argument types for a Move function, iota_getNormalizedMoveFunction for full function structure including
visibility and generics, iota_getNormalizedMoveModule to retrieve a normalized Move module, iota_getNormalizedMoveModulesByPackage
to list all modules in a package, and iota_getNormalizedMoveStruct for detailed struct representation including fields
and abilities. These 5 methods enable smart contract introspection and on-chain ABI discovery.
- aid: iota:iota-transaction-builder-api
name: IOTA Transaction Builder API
tags:
- Transactions
- Transfer
- Staking
- Construction
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Transaction construction JSON-RPC methods for the IOTA blockchain. Includes methods for building unsigned transactions
such as unsafe_transferObject, unsafe_transferIota, unsafe_payIota, unsafe_pay, unsafe_payAllIota, unsafe_moveCall for
Move function invocations, unsafe_requestAddStake and unsafe_requestWithdrawStake for staking operations, and additional
batch transfer and publish methods. These 16 unsafe transaction builder methods produce serialized unsigned transactions
requiring subsequent signing and submission via the Write API.
- aid: iota:iota-write-api
name: IOTA Write API
tags:
- Transactions
- Execution
- Simulation
- Submit
- Blockchain
humanURL: https://docs.iota.org/iota-api-ref
baseURL: https://api.mainnet.iota.cafe:443
properties:
- url: https://docs.iota.org/iota-api-ref
type: Documentation
- url: https://docs.iota.org/iota-api-ref
type: APIReference
- url: openapi/iota-jsonrpc-openapi.json
type: OpenAPI
description: Transaction execution and simulation JSON-RPC methods for the IOTA blockchain. Provides iota_executeTransactionBlock
to submit a signed transaction to the network and return results, iota_dryRunTransactionBlock to simulate a transaction
without broadcasting and receive full effects and events, iota_devInspectTransactionBlock for development inspection of
transaction execution with arbitrary gas budgets, and iotax_estimateGasBudget for gas budget estimation. These 4 methods
handle all state-mutating operations on the IOTA network.
- aid: iota:iota-graphql-api
name: IOTA GraphQL API
tags:
- GraphQL
- Queries
- Objects
- Transactions
- Blockchain
humanURL: https://docs.iota.org/developer/references/iota-api
baseURL: https://graphql.mainnet.iota.cafe
properties:
- url: https://docs.iota.org/developer/references/iota-api
type: Documentation
- url: https://graphql.mainnet.iota.cafe
type: APIReference
- url: graphql/iota-graphql.md
type: GraphQL
description: GraphQL RPC interface for the IOTA blockchain, providing an alternative to the JSON-RPC API. Supports querying
transaction blocks, objects, checkpoints, events, and on-chain state using GraphQL query syntax. Available on all IOTA
networks including Mainnet at graphql.mainnet.iota.cafe, Testnet at graphql.testnet.iota.cafe, and Devnet at graphql.devnet.iota.cafe.
Cursor-based pagination is supported for list operations.
- aid: iota:iota-evm-json-rpc-api
name: IOTA EVM JSON-RPC API
tags:
- EVM
- Ethereum
- Smart Contracts
- L2
- Blockchain
humanURL: https://docs.iota.org/developer/iota-evm/references/json-rpc-spec
baseURL: https://json-rpc.evm.testnet.iotaledger.net
properties:
- url: https://docs.iota.org/developer/iota-evm/references/json-rpc-spec
type: Documentation
- url: https://docs.iota.org/developer/iota-evm/references/openapi/ethereum-json-rpc
type: APIReference
- url: openapi/iota-evm-wasp-openapi.yaml
type: OpenAPI
description: Ethereum-compatible JSON-RPC API for the IOTA EVM Layer 2. Supports standard Ethereum JSON-RPC methods enabling
Solidity smart contract deployment and interaction via EVM-compatible tooling including Hardhat, Foundry, and MetaMask.
Provides HTTP and WebSocket transports for state queries and event subscriptions. The IOTA EVM is a WASP-based smart contract
chain with an Ethereum-compatible interface for cross-chain interoperability and developer migration from EVM ecosystems.
common:
- type: Website
url: https://www.iota.org/
- type: Portal
url: https://docs.iota.org/
- type: Documentation
url: https://docs.iota.org/
- type: GettingStarted
url: https://docs.iota.org/developer/getting-started
- type: APIReference
url: https://docs.iota.org/iota-api-ref
title: IOTA JSON-RPC API Reference
- type: Authentication
url: https://docs.iota.org/developer/network-overview
title: Public endpoints require no API key; load balanced and rate limited
- type: SDKs
url: https://docs.iota.org/developer/ts-sdk/
title: IOTA TypeScript SDK
- type: SDKs
url: https://github.com/iotaledger/iota/tree/develop/crates/iota-sdk
title: IOTA Rust SDK
- type: SDKs
url: https://docs.iota.org/developer/references/iota-api
title: IOTA GraphQL RPC
- type: CLI
url: https://docs.iota.org/developer/getting-started
title: IOTA CLI
- type: GitHubOrganization
url: https://github.com/iotaledger
- type: GitHubRepository
url: https://github.com/iotaledger/iota
title: IOTA Core Repository
- type: Explorer
url: https://explorer.iota.org/
title: IOTA Explorer (Mainnet)
- type: Faucet
url: https://faucet.testnet.iota.cafe
title: IOTA Testnet Faucet
- type: Blog
url: https://blog.iota.org/
- type: NetworkOverview
url: https://docs.iota.org/developer/network-overview
title: IOTA Network Overview (Mainnet, Testnet, Devnet)
- type: TermsOfService
url: https://www.iota.org/privacy-policy
- type: PrivacyPolicy
url: https://www.iota.org/privacy-policy
- type: RateLimits
url: rate-limits/iota-rate-limits.yml
- type: Plans
url: plans/iota-plans.yml
- type: FinOps
url: finops/iota-finops.yml
- type: OpenAPI
url: openapi/iota-jsonrpc-openapi.json
title: IOTA JSON-RPC OpenAPI 3.0 (75 methods, derived from OpenRPC)
- type: OpenAPI
url: openapi/iota-evm-wasp-openapi.yaml
title: IOTA EVM WASP Node REST API OpenAPI 3.0 (59 paths)
- type: OpenRPC
url: openapi/iota-openrpc.json
title: IOTA JSON-RPC OpenRPC Specification (source)
- type: JSONLDContext
url: json-ld/iota-context.jsonld
title: IOTA JSON-LD Context
- type: UseCases
data:
- name: DeFi Application Backend
description: Query coin balances, object states, and submit transactions for decentralized finance apps on IOTA
- name: Supply Chain Traceability
description: Track real-world assets and product lifecycle data on the IOTA distributed ledger
- name: Digital Identity
description: Manage decentralized identifiers (DIDs) and verifiable credentials on-chain
- name: Real-World Asset Tokenization
description: Tokenize and manage traditional financial assets bridged to IOTA using Move smart contracts
- name: Blockchain Analytics
description: Query checkpoints, transaction blocks, and events for real-time analytics and data pipelines
- name: Wallet Development
description: Check coin balances, fetch transaction history, build and submit signed transactions
- name: Smart Contract Development
description: Introspect Move modules, deploy packages, and interact with on-chain programs via Move Utils
- name: EVM dApp Migration
description: Deploy existing Solidity smart contracts on IOTA EVM Layer 2 using standard Ethereum tooling
- type: Features
data:
- name: JSON-RPC 2.0 over HTTP
description: Standard JSON-RPC 2.0 protocol over HTTP POST to IOTA full nodes and indexers
- name: GraphQL RPC
description: GraphQL interface as an alternative to JSON-RPC for flexible on-chain data queries
- name: Three Network Environments
description: Mainnet (production), Testnet (testing), and Devnet (development) environments with faucets
- name: Move Smart Contracts
description: Asset-oriented Move programming language for type-safe, resource-oriented smart contracts
- name: EVM Layer 2
description: Ethereum-compatible EVM Layer 2 chain enabling Solidity contract deployment and tooling reuse
- name: No Authentication Required
description: Public endpoints are open and require no API key for development and testing use
- name: Cursor-based Pagination
description: All list endpoints support cursor-based pagination for efficient data traversal
- name: BCS Binary Encoding
description: Binary Canonical Serialization (BCS) support alongside JSON for efficient data transfer
- type: GraphQL
url: graphql/iota-graphql.md
title: IOTA GraphQL RPC Schema and Docs
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com