Explorer API · Pay per request (x402)

Pay for each request with USDC over the x402 protocol (https://www.x402.org) — no account or API key needed.

1. Send the POST request with its JSON body.

2. The API answers 402 Payment Required with the payment requirements for that endpoint.

3. Pay with an x402-compatible client and retry the same request with the payment attached.

4. The API returns 200 with the data.

Each endpoint lists its price per request.

Payment required. Read the payment requirements from the PAYMENT-REQUIRED header, then retry the request with a signed payment in the PAYMENT-SIGNATURE header.

Base URL: https://api.blockchain.info/explorer-gateway-kt

Full OpenAPI spec with response schemas: /explorer/docs/explorer-gateway-x402.json

Bitcoin

Address balance

POST /x402/btc/address · $0.005 per request

Body fields: address (string, required)

Example body: {"address":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"}

Address transactions

POST /x402/btc/address/transactions · $0.005 per request

Body fields: address (string, required); limit (integer, default 20, max 50); offset (integer, default 0)

Example body: {"address":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa","limit":20,"offset":0}

Transaction

POST /x402/btc/transaction · $0.005 per request

Body fields: txId (string, required)

Example body: {"txId":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"}

Transactions (batch)

POST /x402/btc/transactions · $0.005 per request

Body fields: txIds (array of string, required, max 50 items)

Example body: {"txIds":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}

Block

POST /x402/btc/block · $0.005 per request

Body fields: hash (string); height (integer); includeTransactions (boolean, default true)

Example body: {"hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"}

Block transactions

POST /x402/btc/block/transactions · $0.005 per request

Body fields: hash (string); height (integer); limit (integer, default 15, max 50); offset (integer, default 0); sort (one of index | value | fees, default index); order (one of asc | desc, default asc)

Example body: {"height":850000}

Latest blocks

POST /x402/btc/blocks · $0.005 per request

Body fields: limit (integer, default 10, max 50); after (integer)

Example body: {"limit":10}

Broadcast transaction

POST /x402/btc/broadcast · $0.005 per request

Body fields: tx (string, required)

Example body: {"tx":"0200000001…"}

Bitcoin Cash

Address balance

POST /x402/bch/address · $0.005 per request

Body fields: address (string, required)

Example body: {"address":"bitcoincash:qp3wjpa3tjlj042z2wv7hahsldgwhwy0rq9sywjpyy"}

Address transactions

POST /x402/bch/address/transactions · $0.005 per request

Body fields: address (string, required); limit (integer, default 20, max 50); offset (integer, default 0)

Example body: {"address":"bitcoincash:qp3wjpa3tjlj042z2wv7hahsldgwhwy0rq9sywjpyy","limit":20,"offset":0}

Transaction

POST /x402/bch/transaction · $0.005 per request

Body fields: txId (string, required)

Example body: {"txId":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"}

Transactions (batch)

POST /x402/bch/transactions · $0.005 per request

Body fields: txIds (array of string, required, max 50 items)

Example body: {"txIds":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}

Block

POST /x402/bch/block · $0.005 per request

Body fields: hash (string); height (integer); includeTransactions (boolean, default true)

Example body: {"hash":"000000000000000000651ef99cb9fcbe0dadde1d424bd9f15ff20136191a5eec"}

Block transactions

POST /x402/bch/block/transactions · $0.005 per request

Body fields: hash (string); height (integer); limit (integer, default 15, max 50); offset (integer, default 0); sort (one of index | value | fees, default index); order (one of asc | desc, default asc)

Example body: {"height":850000}

Latest blocks

POST /x402/bch/blocks · $0.005 per request

Body fields: limit (integer, default 10, max 50); after (integer)

Example body: {"limit":10}

Broadcast transaction

POST /x402/bch/broadcast · $0.005 per request

Body fields: tx (string, required)

Example body: {"tx":"0200000001…"}

Ethereum

Address

POST /x402/eth/address · $0.005 per request

Body fields: network (string, required); address (string, required); page (integer, default 1); size (integer, default 20, max 50)

Example body: {"network":"ETH","address":"0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe","page":0,"size":20}

Token holdings

POST /x402/eth/address/tokens · $0.005 per request

Body fields: network (string, required); address (string, required)

Example body: {"network":"ETH","address":"0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe"}

Internal transactions

POST /x402/eth/address/internal-transactions · $0.005 per request

Body fields: network (string, required); address (string, required); page (integer, default 0); size (integer, default 20, max 50)

Example body: {"network":"ETH","address":"0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe","page":0,"size":20}

Transaction

POST /x402/eth/transaction · $0.005 per request

Body fields: network (string, required); txId (string, required); transfers (boolean, default false)

Example body: {"network":"ETH","txId":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"}

Latest blocks

POST /x402/eth/blocks · $0.005 per request

Body fields: network (string, required); limit (integer, default 10, max 20)

Example body: {"network":"ETH","limit":10}

Block

POST /x402/eth/block · $0.005 per request

Body fields: network (string, required); blockId (integer); hash (string); includeTransactions (boolean, default true)

Example body: {"network":"ETH","blockId":21000000}

Block transactions

POST /x402/eth/block/transactions · $0.005 per request

Body fields: network (string, required); blockId (integer); hash (string); limit (integer, default 15, max 50); offset (integer, default 0); sort (one of index | value | fees, default index); order (one of asc | desc, default asc)

Example body: {"network":"ETH","blockId":21000000}

Broadcast transaction

POST /x402/eth/broadcast · $0.005 per request

Body fields: tx (string, required)

Example body: {"tx":"0x02f8…"}

Solana

Latest blocks

POST /x402/sol/blocks · $0.005 per request

Body fields: network (string, required); limit (integer, default 10, max 20)

Example body: {"network":"SOL","limit":10}

Block

POST /x402/sol/block · $0.005 per request

Body fields: network (string, required); blockId (integer, required); includeTransactions (boolean, default true)

Example body: {"network":"SOL","blockId":280000000}

Block transactions

POST /x402/sol/block/transactions · $0.005 per request

Body fields: network (string, required); blockId (integer, required); limit (integer, default 15, max 50); offset (integer, default 0); sort (one of index | fees, default index); order (one of asc | desc, default asc)

Example body: {"network":"SOL","blockId":280000000}

Transaction

POST /x402/sol/transaction · $0.005 per request

Body fields: network (string, required); txId (string, required)

Example body: {"network":"SOL","txId":"4SMDZ7oiVvTyae1FrH2a4Li3hNNigZzc4s7QPiiGHk9xDsoSTPFbUSrV5KcRSDesj2BE11gvq8ua4DL3f5HFKxaW"}

Transaction instructions

POST /x402/sol/transaction/instructions · $0.005 per request

Body fields: network (string, required); txId (string, required)

Example body: {"network":"SOL","txId":"4SMDZ7oiVvTyae1FrH2a4Li3hNNigZzc4s7QPiiGHk9xDsoSTPFbUSrV5KcRSDesj2BE11gvq8ua4DL3f5HFKxaW"}

Raw transaction

POST /x402/sol/transaction/raw · $0.005 per request

Body fields: network (string, required); txId (string, required)

Example body: {"network":"SOL","txId":"4SMDZ7oiVvTyae1FrH2a4Li3hNNigZzc4s7QPiiGHk9xDsoSTPFbUSrV5KcRSDesj2BE11gvq8ua4DL3f5HFKxaW"}

Address

POST /x402/sol/address · $0.005 per request

Body fields: network (string, required); address (string, required); limit (integer, default 10, max 50); before (string)

Example body: {"network":"SOL","address":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg","limit":10}

Token accounts

POST /x402/sol/address/tokens · $0.005 per request

Body fields: network (string, required); address (string, required)

Example body: {"network":"SOL","address":"vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"}

Broadcast transaction

POST /x402/sol/broadcast · $0.005 per request

Body fields: tx (string, required)

Example body: {"tx":"AQAAAA…"}

Charts

Hash rate

POST /x402/charts/hash-rate · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Avg confirmation time

POST /x402/charts/avg-confirmation-time · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Total bitcoins

POST /x402/charts/total-bitcoins · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Difficulty

POST /x402/charts/difficulty · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Transaction count

POST /x402/charts/n-transactions · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Market price

POST /x402/charts/market-price · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Transaction fees

POST /x402/charts/transaction-fees · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Transactions per block

POST /x402/charts/n-transactions-per-block · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Avg block size

POST /x402/charts/avg-block-size · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Market cap

POST /x402/charts/market-cap · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Blockchain size

POST /x402/charts/blocks-size · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Total transactions

POST /x402/charts/n-transactions-total · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

UTXO count

POST /x402/charts/utxo-count · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Unique addresses

POST /x402/charts/n-unique-addresses · $0.005 per request

Body fields: timespan (string, default 1y); sampled (boolean, default true); metadata (boolean, default false); rollingAverage (string, default 8h); cors (boolean, default false); format (one of json | csv, default json)

Example body: {"timespan":"1y","sampled":true,"metadata":false,"rollingAverage":"8h","cors":false,"format":"json"}

Mining pools

POST /x402/charts/pools · $0.005 per request

Body fields: timespan (one of 24h | 2d | 4d | 7d | 10d | 6m | 1y | 2y | 3y, default 4d)

Example body: {"timespan":"4d"}