Sign in

eCash 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

  1. Create an account and an API key at https://account.olenza.io. The same key works for Olenza Node RPC and the Explorer API.
  2. Send the key in the X-API-Key header:
curl -H "X-API-Key: YOUR_KEY" https://explorer.olenza.io/api/v1/xec/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

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:

familyChainsWhat a transaction looks likeAddresses
utxobtc ltc doge bch xec zec dcr Inputs and outputs, each with an amount and addressesBalance, history, unspent outputs
accounteth Sender, recipient, value and gas, plus the logs, internal operations and token transfers the receipt shows Balance, nonce, code, history by cursor
ringxmr 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

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"}}
HTTPreasonMeaning
400BAD_REQUESTMalformed height, hash, address or parameter.
401MISSING_API_KEY, INVALID_API_KEYNo key, or not a valid key.
403KEY_REVOKED, ACCOUNT_SUSPENDED, CHAIN_NOT_IN_PLANThe key or account cannot use this.
404NOT_FOUNDNo such block, transaction or address.
404CHAIN_NOT_FOUND, ENDPOINT_NOT_FOUNDUnknown chain or path.
404NOT_ON_THIS_CHAINThis chain's family has no such thing — see the table above.
429RATE_LIMITED, DAILY_QUOTA_EXCEEDED, MONTHLY_QUOTA_EXCEEDED, TOO_MANY_CONCURRENTSlow down; Retry-After says for how long.
502, 503, 504UPSTREAM_ERROR, SERVICE_UNAVAILABLE, UPSTREAM_TIMEOUTOur side; not charged unless the call ran past the time limit. Retry shortly.
Endpoints

Endpoints

These are the endpoints of the utxo family — pick another chain below to see another family's. Samples are live answers from eCash, lists cut to two items. Show samples from: Bitcoin Ethereum Litecoin Dogecoin Bitcoin Cash eCash Zcash Decred Monero

Endpoint
GET /{chain}/status
GET /{chain}/blocks
GET /{chain}/block/{height|hash}
GET /{chain}/block/{height|hash}/txs
GET /{chain}/tx/{txid}
GET /{chain}/address/{address}
GET /{chain}/address/{address}/txs
GET /{chain}/address/{address}/utxo
GET /{chain}/mempool
GET /{chain}/search/{query}
Each endpoint

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/xec/status"
Sample response
{
  "best_hash": "000000000000000042f88dfb9a6906d211bf10fe575e961a7b27f17631af66f7",
  "chain": "xec",
  "decimals": 2,
  "difficulty": 6377060169.091486,
  "family": "utxo",
  "height": 969858,
  "in_sync": true,
  "mempool_count": 3,
  "name": "eCash",
  "node_version": "/Bitcoin ABC:0.33.12(EB32.0)/",
  "symbol": "XEC"
}

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/xec/blocks?limit=2"
Sample response
[
  {
    "hash": "000000000000000042f88dfb9a6906d211bf10fe575e961a7b27f17631af66f7",
    "height": 969858,
    "size": 2237,
    "time": 1791264577,
    "tx_count": 3
  },
  {
    "hash": "000000000000000028db95053e21a77ba15aefde4248576e7a43625ca8812444",
    "height": 969857,
    "size": 1729,
    "time": 1791264364,
    "tx_count": 5
  }
]

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/xec/block/969848"
Sample response
{
  "bits": "1900ab14",
  "confirmations": 11,
  "difficulty": 6426858200.368983,
  "hash": "00000000000000005df9100a7febbcaaa442e0b425fbfb4fc202aef5da82ad8e",
  "height": 969848,
  "merkle_root": "8f9d3d07175af37d265a41d3504deaa167b7e70ffcf57319d231392ce2e40134",
  "next_hash": "000000000000000099096ecd85d810a71dfe776b9951533d5a2303b55a002cd6",
  "nonce": "2147147777",
  "previous_hash": "00000000000000005c3dd2a465b588e6937c25df7f705fdd59a1f7250b443dc7",
  "size": 8975,
  "time": 1791257279,
  "tx_count": 16,
  "version": 594313216
}

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/xec/block/969848/txs?page_size=1"
Sample response
{
  "page": 1,
  "total_pages": 16,
  "tx_count": 16,
  "txs": [
    {
      "block_hash": "00000000000000005df9100a7febbcaaa442e0b425fbfb4fc202aef5da82ad8e",
      "block_height": 969848,
      "coinbase": true,
      "confirmations": 11,
      "time": 1791257279,
      "txid": "d81e1ab370e6c7e5d8b4a34295539758f917c14d0ae2dc20fde1d819cf0eb895",
      "value_out": "312509380",
      "vin": [
        {
          "n": 0,
          "vout": 0
        }
      ],
      "vout": [
        {
          "addresses": [
            "ecash:qz3yu2m8dzwrw5uc85a5pz78dyxnrvdhf542l5ja56"
          ],
          "n": 0,
          "value": "181255441"
        },
        {
          "addresses": [
            "ecash:prfhcnyqnl5cgrnmlfmms675w93ld7mvvqd0y8lz07"
          ],
          "n": 1,
          "value": "100003001"
        }
      ]
    }
  ]
}

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/xec/tx/0a537b98e5487343f2c379b1bae8059f3d44b14b55017194b612aed3cba3c981"
Sample response
{
  "block_hash": "00000000000000005df9100a7febbcaaa442e0b425fbfb4fc202aef5da82ad8e",
  "block_height": 969848,
  "confirmations": 11,
  "fee": "908",
  "size": 845,
  "time": 1791257279,
  "txid": "0a537b98e5487343f2c379b1bae8059f3d44b14b55017194b612aed3cba3c981",
  "value_in": "3092",
  "value_out": "2184",
  "version": 2,
  "vin": [
    {
      "addresses": [
        "ecash:qqfkdgq2vhdr2gpcve0ght9kvsfay47f3sdldd6q2c"
      ],
      "n": 0,
      "sequence": 4294967295,
      "txid": "2593eb67ad649eaa859986286c60e4a078aaf7cf33e3da0332dc0fc08239d22a",
      "value": "546",
      "vout": 3
    },
    {
      "addresses": [
        "ecash:qpz4yqv604tupwczvrez5fpetxs7cxdeuvcwznu9xh"
      ],
      "n": 1,
      "sequence": 4294967295,
      "txid": "9ebf56b6e2c7735326b1460bded0f6082197b2d1967365016d816d819d33f9aa",
      "value": "546",
      "vout": 8
    }
  ],
  "vout": [
    {
      "n": 0,
      "script_hex": "6a5037534c5032000453454e44d44ecf795494b063aa10be876868880df8ef822577c1a546fb1cd9b6c2f57bc60246becd010000119e0400000043534c5032000453454e44f0cb08302c4bbc665b6241592b19fd37ec5d632f323e9ab14fdb75d57f948703040000000000000000000000006f5e00000000312801000000",
      "value": "0"
    },
    {
      "addresses": [
        "ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2"
      ],
      "n": 1,
      "script_hex": "76a9149ee291ccce035e375060873f38d848a3cc6a09d288ac",
      "value": "546"
    }
  ]
}

GET /{chain}/address/{address}

Balance, total received and sent, transaction count.

curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/xec/address/ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2"
Sample response
{
  "address": "ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2",
  "balance": "89093497",
  "received": "73388173551",
  "sent": "73299080054",
  "tx_count": 2148
}

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/xec/address/ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2/txs?page_size=1"
Sample response
{
  "page": 1,
  "total_pages": 2148,
  "tx_count": 2148,
  "txs": [
    {
      "block_hash": "00000000000000005df9100a7febbcaaa442e0b425fbfb4fc202aef5da82ad8e",
      "block_height": 969848,
      "confirmations": 11,
      "fee": "602",
      "size": 602,
      "time": 1791257279,
      "txid": "b1421bffba2842fe36bcabc4d0a41e4363b33e86f1ebb9e78eea7c61a36a9702",
      "value_in": "89091369",
      "value_out": "89090767",
      "version": 2,
      "vin": [
        {
          "addresses": [
            "ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2"
          ],
          "n": 0,
          "sequence": 4294967295,
          "txid": "aa5a24f17d6de47c2b3224d9e6d44dbab05bc68115ac7fa250ff7ce00a27476d",
          "value": "546",
          "vout": 2
        },
        {
          "addresses": [
            "ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2"
          ],
          "n": 1,
          "sequence": 4294967295,
          "txid": "0a537b98e5487343f2c379b1bae8059f3d44b14b55017194b612aed3cba3c981",
          "value": "546",
          "vout": 1
        }
      ],
      "vout": [
        {
          "n": 0,
          "script_hex": "6a5037534c5032000453454e44d44ecf795494b063aa10be876868880df8ef822577c1a546fb1cd9b6c2f57bc60200e1f5050000f63b67000000",
          "value": "0"
        },
        {
          "addresses": [
            "ecash:qpz4yqv604tupwczvrez5fpetxs7cxdeuvcwznu9xh"
          ],
          "n": 1,
          "script_hex": "76a9144552019a7d57c0bb0260f22a243959a1ec19b9e388ac",
          "value": "546"
        }
      ]
    }
  ]
}

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/xec/address/ecash:qz0w9ywvecp4ud6svzrn7wxcfz3uc6sf6gkedhmwy2/utxo"
Sample response
{
  "count": 8,
  "truncated": false,
  "utxos": [
    {
      "confirmations": 11,
      "height": 969848,
      "txid": "b1421bffba2842fe36bcabc4d0a41e4363b33e86f1ebb9e78eea7c61a36a9702",
      "value": "89089675",
      "vout": 3
    },
    {
      "confirmations": 11,
      "height": 969848,
      "txid": "b1421bffba2842fe36bcabc4d0a41e4363b33e86f1ebb9e78eea7c61a36a9702",
      "value": "546",
      "vout": 2
    }
  ]
}

GET /{chain}/mempool

Transactions waiting to be mined.

curl -H "X-API-Key: YOUR_KEY" "https://explorer.olenza.io/api/v1/xec/mempool"
Sample response
{
  "count": 3
}