Skip to main content
This page documents all available REST API endpoints for the IOTA blockchain.

Node Information

GET /

Get node information including software version and chain ID. Stability: Stable
cURL
curl https://api.iota.io/api/v1/
Response:
{
  "name": "IOTA Node API",
  "version": "1.0.0",
  "chainId": "4btiuiMPvEENsttpZC7CZ53DruC3MAgfznDbASZ7DR6S"
}

GET /health

Health check endpoint. Stability: Stable
cURL
curl https://api.iota.io/api/v1/health
Response:
{
  "status": "ok"
}

Checkpoints

GET /checkpoints

List checkpoints with pagination. Stability: Stable
limit
u32
default:"50"
Page size limit (max: 100)
start
u64
Starting checkpoint sequence number. Defaults to latest if not specified.
direction
Direction
default:"descending"
Pagination direction: ascending or descending
contents
boolean
default:"false"
Include checkpoint contents
cURL
curl "https://api.iota.io/api/v1/checkpoints?limit=10&direction=ascending"
Response:
checkpoint
CheckpointSummary
required
Checkpoint summary data
signature
ValidatorAggregatedSignature
required
Aggregated validator signatures
contents
CheckpointContents
Checkpoint contents (if requested)
Headers:
  • X-Iota-Cursor: Cursor for next page

GET /checkpoints/

Get a specific checkpoint by sequence number or digest. Stability: Stable
checkpoint
CheckpointId
required
Checkpoint sequence number (e.g., “1000”) or digest (Base58-encoded)
contents
boolean
default:"false"
Include checkpoint contents
cURL
curl "https://api.iota.io/api/v1/checkpoints/1000?contents=true"
Status Codes:
  • 200 OK - Checkpoint found
  • 404 Not Found - Checkpoint doesn’t exist
  • 410 Gone - Checkpoint has been pruned

GET /checkpoints//full

Get full checkpoint data including all transactions, effects, events, and objects. Stability: Unstable Content-Type: Only supports application/bcs
checkpoint
CheckpointId
required
Checkpoint sequence number or digest
cURL
curl -H "Accept: application/bcs" \
  https://api.iota.io/api/v1/checkpoints/1000/full \
  --output checkpoint_1000.bcs
Status Codes:
  • 200 OK - Full checkpoint data returned (BCS format)
  • 400 Bad Request - Invalid accept type
  • 404 Not Found - Checkpoint doesn’t exist
  • 410 Gone - Checkpoint objects have been pruned

GET /checkpoints/full

List full checkpoints with all associated data. Stability: Unstable Content-Type: Only supports application/bcs
limit
u32
default:"5"
Page size (max: 10)
start
u64
Starting checkpoint sequence number
direction
Direction
default:"descending"
Pagination direction
cURL
curl -H "Accept: application/bcs" \
  "https://api.iota.io/api/v1/checkpoints/full?limit=5"

Transactions

GET /transactions/

Get a transaction by its digest. Stability: Unstable
transaction
Digest
required
Base58-encoded transaction digest
cURL
curl https://api.iota.io/api/v1/transactions/Dv5XRBjWvZTwiHVrhUetvDTgxyM8xVMb6P8pCAZv51tq
Response:
digest
Digest
required
Transaction digest
transaction
Transaction
required
Transaction data
signatures
Vec<UserSignature>
required
User signatures
effects
TransactionEffects
required
Transaction effects
events
TransactionEvents
Events emitted by the transaction
checkpoint
u64
Checkpoint sequence number where transaction was finalized
timestamp_ms
u64
Transaction timestamp in milliseconds

GET /transactions

List transactions with pagination. Stability: Unstable
limit
u32
default:"50"
Page size (max: 100)
start
String
Transaction cursor in format {checkpoint}.{index}. Defaults to latest.
direction
Direction
default:"descending"
Pagination direction
cURL
curl "https://api.iota.io/api/v1/transactions?limit=20"
Headers:
  • X-Iota-Cursor: Transaction cursor for next page (format: {checkpoint}.{index})

POST /transactions

Execute a signed transaction. Stability: Unstable
txBytes
Base64
required
BCS-encoded transaction bytes
signatures
Vec<Base64>
required
Transaction signatures
effects
boolean
default:"true"
Wait for and return transaction effects
events
boolean
default:"false"
Include transaction events
finality
EffectsFinality
default:"certified"
Finality level: certified or executed
cURL
curl -X POST https://api.iota.io/api/v1/transactions \
  -H "Content-Type: application/json" \
  -d '{
    "txBytes": "AAACACCNu...",
    "signatures": ["ANjGTW3..."]
  }'
Response: Same as GET /transactions/

POST /transactions/simulate

Simulate transaction execution without committing. Stability: Unstable
txBytes
Base64
required
BCS-encoded transaction bytes
effects
boolean
default:"true"
Include transaction effects
events
boolean
default:"false"
Include transaction events
cURL
curl -X POST "https://api.iota.io/api/v1/transactions/simulate?effects=true" \
  -H "Content-Type: application/json" \
  -d '{"txBytes": "AAACACCNu..."}'

POST /transactions/resolve

Resolve unresolved transaction data into a complete transaction. Stability: Unstable
cURL
curl -X POST https://api.iota.io/api/v1/transactions/resolve \
  -H "Content-Type: application/json" \
  -d '{...}'

Objects

GET /objects/

Get an object by its ID. Stability: Unstable
object_id
ObjectId
required
Hex-encoded object ID (e.g., “0x5”)
cURL
curl https://api.iota.io/api/v1/objects/0x5

GET /objects//version/

Get a specific version of an object. Stability: Unstable
object_id
ObjectId
required
Object ID
version
u64
required
Object version
cURL
curl https://api.iota.io/api/v1/objects/0x5/version/42

GET /objects//dynamic-fields

List dynamic fields of an object. Stability: Unstable
object_id
ObjectId
required
Parent object ID
limit
u32
default:"50"
Page size
start
ObjectId
Starting cursor
cURL
curl "https://api.iota.io/api/v1/objects/0x5/dynamic-fields?limit=10"

Accounts

GET /accounts//objects

List objects owned by an account. Stability: Unstable
account
Address
required
Account address
limit
u32
default:"50"
Page size (max: 100)
start
ObjectId
Starting object ID
cURL
curl "https://api.iota.io/api/v1/accounts/0x479c602460ae68771dcb9bfcef607dccc678859fb72d7d8aa8d9ce58c9430747/objects"
Response:
owner
Address
Owner address
object_id
ObjectId
Object ID
version
u64
Object version
type
StructTag
Object type

System

GET /system/state

Get the current system state summary. Stability: Unstable
cURL
curl https://api.iota.io/api/v1/system/state

GET /system/protocol

Get the current protocol configuration. Stability: Unstable
cURL
curl https://api.iota.io/api/v1/system/protocol

GET /system/protocol/

Get a specific protocol version configuration. Stability: Unstable
version
u64
required
Protocol version number
cURL
curl https://api.iota.io/api/v1/system/protocol/50

GET /system/gas

Get gas information including reference gas price. Stability: Unstable
cURL
curl https://api.iota.io/api/v1/system/gas
Response:
referenceGasPrice
u64
Reference gas price in NANOS

Committee

GET /committee

Get the latest committee information. Stability: Unstable
cURL
curl https://api.iota.io/api/v1/committee

GET /committee/

Get committee information for a specific epoch. Stability: Unstable
epoch
u64
required
Epoch number
cURL
curl https://api.iota.io/api/v1/committee/100

Coins

GET /coins/

Get coin metadata for a specific coin type. Stability: Unstable
coin_type
String
required
Coin type (e.g., “0x2::iota::IOTA”)
cURL
curl https://api.iota.io/api/v1/coins/0x2::iota::IOTA
Response:
decimals
u8
Number of decimal places
name
String
Coin name
symbol
String
Coin symbol
description
String
Coin description
iconUrl
String
Icon URL

Epochs

GET /epochs//checkpoints/last

Get the last checkpoint of an epoch. Stability: Unstable
epoch
u64
required
Epoch number
cURL
curl https://api.iota.io/api/v1/epochs/100/checkpoints/last

Response Headers

All responses include these headers:
  • X-Iota-Chain-Id - Chain identifier
  • X-Iota-Software-Version - Node software version
  • X-Iota-Cursor - Pagination cursor (for paginated endpoints)
  • Content-Type - Response content type (JSON or BCS)

Error Responses

Error responses include a JSON object with an error message:
{
  "error": "Description of the error"
}
Common HTTP status codes:
  • 400 Bad Request - Invalid request parameters
  • 404 Not Found - Resource not found
  • 410 Gone - Resource has been pruned from the node
  • 500 Internal Server Error - Server error

Build docs developers (and LLMs) love