Where is the chain?
Tip height, header id, peers and mempool size in one call.
curl https://node.kadia.io/info
node.kadia.io · Ergo mainnet
Read blocks, boxes, tokens, balances and the mempool, or submit a signed transaction — straight from a browser, a script or your dApp. No API key, no sign-up, CORS open to every origin.
https://node.kadia.io
01 / Quick start
Tip height, header id, peers and mempool size in one call.
curl https://node.kadia.io/info
Unspent boxes, newest first. Page with offset and limit.
curl "https://node.kadia.io/blockchain/box/unspent/byAddress/$ADDRESS?limit=10"
Confirmed and unconfirmed ERG and token balances.
curl https://node.kadia.io/blockchain/balanceForAddress/$ADDRESS
Dry-run it with /transactions/check first; /transactions
broadcasts it and returns the id.
curl -X POST https://node.kadia.io/transactions \
-H "Content-Type: application/json" \
--data @signed-tx.json
Any origin can call the node directly — no proxy needed.
const info = await fetch('https://node.kadia.io/info').then((r) => r.json());
console.log(info.fullHeight, info.bestFullHeaderId);
02 / What's open
These follow the standard Ergo node REST API, so existing clients and SDKs work unchanged. Each route below was checked against this node. Pick Try to load it into the console with live example values. The machine-readable contract is openapi.json (OpenAPI 3, only the routes listed here).
Chain tip, sync state and network time.
2/infoNode status: tip height, header ids, peers, mempool size, version/peers/status Time of the last incoming peer message and the node's clockHeaders and full blocks by id, height or range, plus Merkle proofs.
10/blocksHeader ids for a range of heights (offset = start height)/blocks/at/{blockHeight} Header ids at a height/blocks/chainSlice Headers between two heights/blocks/{headerId} Full block: header, transactions, extension, AD proofs/blocks/headerIds Full blocks for a list of header ids/blocks/{headerId}/header Block header/blocks/{headerId}/transactions Transactions in a block/blocks/{headerId}/proofFor/{txId} Merkle proof that a transaction is in a block/blocks/lastHeaders/{count} The most recent headers/blocks/modifier/{modifierId} Any block section by its modifier idCheck or broadcast signed transactions; fee and wait-time estimates.
7/transactionsBroadcast a signed transaction (JSON); returns its id/transactions/bytes Broadcast a signed transaction (hex bytes); returns its id/transactions/check Validate a signed transaction (JSON) without broadcasting/transactions/checkBytes Validate a signed transaction (hex bytes) without broadcasting/transactions/poolHistogram Mempool fee histogram by expected wait/transactions/getFee Recommended fee in nanoERG for a wait time and size/transactions/waitTime Expected wait in ms for a fee and sizeTransactions waiting to be mined on this node.
6/transactions/unconfirmed Mempool transactions, paged/transactions/unconfirmed/{txId} Is this transaction in the mempool? (200 or 404)/transactions/unconfirmed/byTransactionId/{txId} One mempool transaction/transactions/unconfirmed/transactionIds Ids of every mempool transaction/transactions/unconfirmed/byTransactionIds Mempool transactions for a list of ids/transactions/unconfirmed/byErgoTree Mempool transactions touching an ErgoTreeUnspent boxes straight from the state, with or without the mempool.
7/utxo/byId/{boxId} Unspent box by id/utxo/byIdBinary/{boxId} Unspent box by id, as serialized hex/utxo/withPool/byId/{boxId} Box by id from the UTXO set or the mempool/utxo/withPool/byIds Boxes for a list of ids, UTXO set or mempool/utxo/withPool/byIdBinary/{boxId} Box by id as serialized hex, UTXO set or mempool/utxo/getSnapshotsInfo UTXO snapshots stored on this node/utxo/genesis The genesis boxesAddresses, tokens, balances and history from the node's extra index.
23/blockchain/indexedHeight How far the extra index has caught up/blockchain/block/byHeaderId/{headerId} Indexed block by header id/blockchain/block/byHeaderIds Indexed blocks for a list of header ids/blockchain/transaction/byId/{txId} Confirmed transaction by id, with addresses and indexes/blockchain/transaction/byIndex/{txIndex} Confirmed transaction by global index/blockchain/transaction/byAddress Transactions for an address (address as JSON string)/blockchain/transaction/byAddress/{address} Transactions for an address/blockchain/box/byId/{boxId} Box by id, spent or unspent/blockchain/box/byIndex/{boxIndex} Box by global index/blockchain/box/byTokenId/{tokenId} Boxes that ever held a token/blockchain/box/unspent/byTokenId/{tokenId} Unspent boxes holding a token/blockchain/box/byAddress Boxes for an address (address as JSON string)/blockchain/box/byAddress/{address} Boxes for an address, spent or unspent/blockchain/box/unspent/byAddress Unspent boxes for an address (address as JSON string)/blockchain/box/unspent/byAddress/{address} Unspent boxes for an address, newest first/blockchain/box/byTemplateHash/{hash} Boxes by contract template hash/blockchain/box/unspent/byTemplateHash/{hash} Unspent boxes by contract template hash/blockchain/box/byErgoTree Boxes for an ErgoTree (hex as JSON string)/blockchain/box/unspent/byErgoTree Unspent boxes for an ErgoTree (hex as JSON string)/blockchain/token/byId/{tokenId} Token name, decimals, supply and minting box/blockchain/tokens Token details for a list of ids/blockchain/balance Confirmed and unconfirmed balance (address as JSON string)/blockchain/balanceForAddress/{address} Confirmed and unconfirmed balance for an address03 / Try it
Pick a route above, or press Send to call GET /info.
04 / Good to know
GET, POST and HEAD./api/v1/*, /metrics)./blockchain/storageRent/*).403.