IOTA logo

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

APIs

IOTA Coin Query API

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

IOTA Read API

Core read-oriented JSON-RPC methods for the IOTA blockchain. Includes iota_getChainIdentifier to retrieve the genesis checkpoint digest, iota_getCheckpoint and iota_getCheckpoin...

IOTA Extended API

Advanced indexer-exclusive JSON-RPC methods for the IOTA blockchain. Provides address metrics via iotax_getAllEpochAddressMetrics and iotax_getLatestAddressMetrics, epoch data v...

IOTA Governance Read API

Governance and staking JSON-RPC methods for the IOTA blockchain. Includes iotax_getCommitteeInfo to retrieve committee data for specific epochs, iotax_getLatestIotaSystemState t...

IOTA Move Utils API

Move language introspection JSON-RPC methods for the IOTA blockchain. Provides iota_getMoveFunctionArgTypes to retrieve function argument types for a Move function, iota_getNorm...

IOTA Transaction Builder API

Transaction construction JSON-RPC methods for the IOTA blockchain. Includes methods for building unsigned transactions such as unsafe_transferObject, unsafe_transferIota, unsafe...

IOTA Write API

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

IOTA GraphQL API

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

IOTA EVM JSON-RPC API

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

Features

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

Use Cases

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

Semantic Vocabularies

Iota Context

1 classes · 30 properties

JSON-LD

Resources

🔗
Website
Website
🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
IOTA JSON-RPC API Reference
APIReference
🔑
Public endpoints require no API key; load balanced and rate limited
Authentication
📦
IOTA TypeScript SDK
SDK
📦
IOTA Rust SDK
SDK
📦
IOTA GraphQL RPC
SDK
🔗
IOTA CLI
CLI
👥
GitHubOrganization
GitHubOrganization
👥
IOTA Core Repository
GitHubRepository
🔗
IOTA Explorer (Mainnet)
Explorer
🔗
IOTA Testnet Faucet
Faucet
📰
Blog
Blog
🔗
IOTA Network Overview (Mainnet, Testnet, Devnet)
NetworkOverview
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
RateLimits
RateLimits
🔗
Plans
Plans
🔗
FinOps
FinOps
🔗
IOTA JSON-RPC OpenAPI 3.0 (75 methods, derived from OpenRPC)
OpenAPI
🔗
IOTA EVM WASP Node REST API OpenAPI 3.0 (59 paths)
OpenAPI
🔗
IOTA JSON-RPC OpenRPC Specification (source)
OpenRPC
🔗
IOTA JSON-LD Context
JSONLDContext

Sources

Raw ↑
aid: iota
url: https://raw.githubusercontent.com/api-evangelist/iota/refs/heads/main/apis.yml
name: IOTA
type: Index
image: https://kinlane-productions.s3.amazonaws.com/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
    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: SDK
    url: https://docs.iota.org/developer/ts-sdk/
    title: IOTA TypeScript SDK
  - type: SDK
    url: https://github.com/iotaledger/iota/tree/develop/crates/iota-sdk
    title: IOTA Rust SDK
  - type: SDK
    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
maintainers:
  - FN: Kin Lane
    email: [email protected]