Bitcoin Cash Explorer API
Blocks, transactions and addresses for Bitcoin, Ethereum, Litecoin, Dogecoin, Bitcoin Cash, eCash, Zcash, Decred and Monero as JSON, from the same indexes as this site. Every chain shares the same envelope and the same /status; what a transaction contains follows the chain's own model, which status.family names — see chain families.
Quick start
- Create an account and an API key at https://account.olenza.io. The same key works for Olenza Node RPC and the Explorer API.
- Send the key in the
X-API-Keyheader:
curl -H "X-API-Key: YOUR_KEY" https://explorer.olenza.io/api/v1/bch/status
An Authorization: Bearer YOUR_KEY header also works. Keys are never accepted in the URL: URLs end up in logs.
Machine-readable: OpenAPI 3.1 description · Full docs: olenza.io/docs (markdown)
Chains do not all work the same way
A Bitcoin transaction consumes outputs and creates new ones. An Ethereum transaction is one account calling another, and most of what it did is in its receipt. A Monero transaction hides its amounts and recipients on purpose. Forcing all three into one shape would mean lying about two of them, so this API has three shapes and /status says which one a chain answers with, in family:
family | Chains | What a transaction looks like | Addresses |
|---|---|---|---|
utxo | btc ltc doge bch xec zec dcr | Inputs and outputs, each with an amount and addresses | Balance, history, unspent outputs |
account | eth | Sender, recipient, value and gas, plus the logs, internal operations and token transfers the receipt shows | Balance, nonce, code, history by cursor |
ring | xmr | Key images, the ring each input hides in, one-time output keys. Amounts appear only where the protocol makes them public | None. A Monero address never appears on the chain |
An endpoint a chain's family does not have answers 404 NOT_ON_THIS_CHAIN and says why. It is a fact about the chain, not a failure.
Basics
- Base URL:
https://explorer.olenza.io/api/v1/{chain}/…— chain isbtc(Bitcoin) oreth(Ethereum) orltc(Litecoin) ordoge(Dogecoin) orbch(Bitcoin Cash) orxec(eCash) orzec(Zcash) ordcr(Decred) orxmr(Monero). - Amounts are strings in the coin's smallest unit (for example zatoshi, litoshi). Divide by 10decimals —
decimalsis in/status. Strings, because some chains' totals do not fit a 64-bit integer and JavaScript loses precision above 253. - A field that does not apply to a chain is left out, never
null. On a Monero transaction a missing amount means hidden, not zero. - Paging:
pageandpage_sizewhere a chain has stable pages;cursorandlimiton account chains, where history is walked backwards from a block and the next cursor comes back in the answer. - Only
GET. Answers areapplication/json.
Plans and limits
Every call counts as one unit against your plan's daily and monthly allowance, whatever the endpoint, and once against the per-second rate limit. The Explorer API has its own plan and allowance, separate from Olenza Node: using up one does not touch the other. See pricing.
Every answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (seconds until the burst refills, not a timestamp), and — when your plan has quotas — X-Quota-Daily-Remaining and X-Quota-Monthly-Remaining in units. Every response, success or error, also carries X-Request-Id — a unique id for the request; quote it if you need support. Calls the explorer fails to answer (5xx) are not charged; a 404 for something that does not exist is an answer and is charged.
Errors
{"error": {"reason": "NOT_FOUND", "message": "transaction not found"}}
| HTTP | reason | Meaning |
|---|---|---|
| 400 | BAD_REQUEST | Malformed height, hash, address or parameter. |
| 401 | MISSING_API_KEY, INVALID_API_KEY | No key, or not a valid key. |
| 403 | KEY_REVOKED, ACCOUNT_SUSPENDED, CHAIN_NOT_IN_PLAN | The key or account cannot use this. |
| 404 | NOT_FOUND | No such block, transaction or address. |
| 404 | CHAIN_NOT_FOUND, ENDPOINT_NOT_FOUND | Unknown chain or path. |
| 404 | NOT_ON_THIS_CHAIN | This chain's family has no such thing — see the table above. |
| 429 | RATE_LIMITED, DAILY_QUOTA_EXCEEDED, MONTHLY_QUOTA_EXCEEDED, TOO_MANY_CONCURRENT | Slow down; Retry-After says for how long. |
| 502, 503, 504 | UPSTREAM_ERROR, SERVICE_UNAVAILABLE, UPSTREAM_TIMEOUT | Our side; not charged unless the call ran past the time limit. Retry shortly. |
Endpoints
These are the endpoints of the utxo family — pick another chain below to see another family's. Samples are live answers from Bitcoin Cash, lists cut to two items. Show samples from: Bitcoin Ethereum Litecoin Dogecoin Bitcoin Cash eCash Zcash Decred Monero
GET /{chain}/status
Chain tip, sync state, the coin's symbol and decimals, mempool size, and `family` — which shape this chain's answers take.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/status"
Sample response
{
"best_hash": "00000000000000000189694b0153e295e2b4fd80663295fc8cc4af71f0f0c1fa",
"chain": "bch",
"decimals": 8,
"difficulty": 534757948483.0731,
"family": "utxo",
"height": 971698,
"in_sync": true,
"mempool_count": 0,
"name": "Bitcoin Cash",
"node_version": "/Bitcoin Cash Node:29.1.0(EB32.0)/",
"symbol": "BCH"
}
GET /{chain}/blocks
Latest blocks, newest first.
limit— 1 to 25 (default 10)start— height to start from (default: the tip)
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/blocks?limit=2"
Sample response
[
{
"hash": "00000000000000000189694b0153e295e2b4fd80663295fc8cc4af71f0f0c1fa",
"height": 971698,
"size": 62371,
"time": 1791265007,
"tx_count": 87
},
{
"hash": "000000000000000000b1490c6317cb8c37273eba3e19971dd7c8c5948408ec0d",
"height": 971697,
"size": 8302,
"time": 1791264201,
"tx_count": 19
}
]
GET /{chain}/block/{height|hash}
One block's header and transaction count.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/block/971688"
Sample response
{
"bits": "18020fd4",
"confirmations": 11,
"difficulty": 533262000283.4445,
"hash": "000000000000000001ca5b39a9b85b968741a4d1737302aeb76d97b28bcf1f3f",
"height": 971688,
"merkle_root": "21974bf49e1e6e022099d19a97576a2dd928f980adcb6a27f8e2505c230d5027",
"next_hash": "0000000000000000000cd9365f48dc624e1fb4f9f6f1c2d074a8f45bb31d8b95",
"nonce": "1109670755",
"previous_hash": "00000000000000000074cd83cfa83c28c53477676351b8a6e9faaefc907a0a71",
"size": 11157,
"time": 1791259102,
"tx_count": 27,
"version": 537247744
}
GET /{chain}/block/{height|hash}/txs
A block's transactions, in block order.
page— page number, from 1 (default 1)page_size— 1 to 50 (default 25)
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/block/971688/txs?page_size=1"
Sample response
{
"page": 1,
"total_pages": 27,
"tx_count": 27,
"txs": [
{
"block_hash": "000000000000000001ca5b39a9b85b968741a4d1737302aeb76d97b28bcf1f3f",
"block_height": 971688,
"coinbase": true,
"confirmations": 11,
"time": 1791259102,
"txid": "12a3201a3ae617d6067ea6bd8d77289f030f0afd1667a60230dc715d14bf181f",
"value_out": "312518946",
"vin": [
{
"n": 0,
"vout": 0
}
],
"vout": [
{
"addresses": [
"bitcoincash:qrcuqadqrzp2uztjl9wn5sthepkg22majyxw4gmv6p"
],
"n": 0,
"value": "312518946"
},
{
"n": 1,
"type": "nulldata",
"value": "0"
}
]
}
]
}
GET /{chain}/tx/{txid}
One transaction with every input resolved: input values and addresses, total in, fee.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/tx/040d78aa5bc9c91b8ae68108c13312acb9867e1eaf2cd3737d34db6fdfd867b7"
Sample response
{
"block_hash": "000000000000000001ca5b39a9b85b968741a4d1737302aeb76d97b28bcf1f3f",
"block_height": 971688,
"confirmations": 11,
"fee": "372",
"lock_time": 971687,
"size": 372,
"time": 1791259102,
"txid": "040d78aa5bc9c91b8ae68108c13312acb9867e1eaf2cd3737d34db6fdfd867b7",
"value_in": "2967424",
"value_out": "2967052",
"version": 2,
"vin": [
{
"addresses": [
"bitcoincash:qqkrmclzp7j74wr34lt96e4pr663guyphcwzwgknmv"
],
"n": 0,
"sequence": 4294967294,
"txid": "24c71135a52cca80cc6edbf67a8411797ca25d93bd4a48077543e047812c541e",
"value": "1613809",
"vout": 0
},
{
"addresses": [
"bitcoincash:qpahr4yf5xhzq3s68tgtnfmstfxsfwywdcdpx7hsuh"
],
"n": 1,
"sequence": 4294967294,
"txid": "b80131238c5d69ebd1d25a27845f5043cb0307b310e25d394455996af72e5ebc",
"value": "1353615",
"vout": 1
}
],
"vout": [
{
"addresses": [
"bitcoincash:qrfk3frqx200ct8yxpuh5x04zeytejau8u7pykez8a"
],
"n": 0,
"script_hex": "76a914d368a460329efc2ce430797a19f51648bccbbc3f88ac",
"value": "1163949"
},
{
"addresses": [
"bitcoincash:qqu5lk3rmyat89050rl2h3x3mce26wk2qvcjdvtanp"
],
"n": 1,
"script_hex": "76a914394fda23d93ab395f478feabc4d1de32ad3aca0388ac",
"value": "1803103"
}
]
}
GET /{chain}/address/{address}
Balance, total received and sent, transaction count.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/address/bitcoincash:qrfk3frqx200ct8yxpuh5x04zeytejau8u7pykez8a"
Sample response
{
"address": "bitcoincash:qrfk3frqx200ct8yxpuh5x04zeytejau8u7pykez8a",
"balance": "0",
"received": "1163949",
"sent": "1163949",
"tx_count": 2
}
GET /{chain}/address/{address}/txs
An address's transactions, newest first.
page— page number, from 1 (default 1)page_size— 1 to 50 (default 25)
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/address/bitcoincash:qrfk3frqx200ct8yxpuh5x04zeytejau8u7pykez8a/txs?page_size=1"
Sample response
{
"page": 1,
"total_pages": 2,
"tx_count": 2,
"txs": [
{
"block_hash": "0000000000000000002868f4f4e9c781ec96f914e725b0233912e39a40ae8d68",
"block_height": 971694,
"confirmations": 5,
"fee": "21476",
"size": 21476,
"time": 1791260739,
"txid": "752f406d127fba83df717d3741ecce98c944644c4150ccbd8f57fec104b8ce31",
"value_in": "1590313118",
"value_out": "1590291642",
"version": 2,
"vin": [
{
"addresses": [
"bitcoincash:qz7mw78dxy2yf5ju3py85422305d8v9suc59e7ay7y"
],
"n": 0,
"sequence": 4294967295,
"txid": "7804320f916b26610713f6fcc120a7bc0deb9b7765be446f7be61cc72d550f4e",
"value": "7573",
"vout": 1
},
{
"addresses": [
"bitcoincash:qz7mw78dxy2yf5ju3py85422305d8v9suc59e7ay7y"
],
"n": 1,
"sequence": 4294967295,
"txid": "317b76472d45b29e33c74f8f02e61b0e42fb1912da50f02732a732f9751a7c29",
"value": "76682",
"vout": 1
}
],
"vout": [
{
"addresses": [
"bitcoincash:qqntualv5pyqgld3smujc7zrgly8dx69muuprz8a09"
],
"n": 0,
"script_hex": "76a91426be77eca048047db186f92c784347c8769b45df88ac",
"value": "1590291642"
}
]
}
]
}
GET /{chain}/address/{address}/utxo
Unspent outputs of an address — at most 1000, the largest first when there are more; count says how many there are.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/address/bitcoincash:qrfk3frqx200ct8yxpuh5x04zeytejau8u7pykez8a/utxo"
Sample response
{
"count": 0,
"truncated": false,
"utxos": []
}
GET /{chain}/mempool
Transactions waiting to be mined.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/mempool"
Sample response
{
"count": 0
}
GET /{chain}/search/{query}
What a height, hash, txid or address is: block, tx, address or none.
curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/bch/search/971688"
Sample response
{
"hash": "000000000000000001ca5b39a9b85b968741a4d1737302aeb76d97b28bcf1f3f",
"height": 971688,
"kind": "block"
}