For the complete documentation index, see llms.txt. This page is also available as Markdown.

BlockBook

Get Blockbook and backend status.

get

Returns Blockbook sync state and connected backend metadata.

Load estimate: Low; constant-size status metadata.

Authorizations
api-keystringRequired
Responses
200

Current Blockbook and backend status.

application/json
get/api/status

Get status from the API index handler.

get

Alias served by the same handler as /api/status on full public interfaces.

Load estimate: Low; constant-size status metadata.

Authorizations
api-keystringRequired
Responses
200

Current Blockbook and backend status.

application/json
get/api/

Get a block hash by height.

get

Returns the block hash for a height on the backend main chain. Blockbook follows the backend main chain; after a rollback or reorg, height lookups resolve to the current main-chain block.

Load estimate: Low; indexed height-to-hash lookup.

Authorizations
api-keystringRequired
Path parameters
heightintegerRequired

Block height on the backend main chain.

Example: 860730
Responses
200

Block hash at the requested height.

application/json
blockHashstringRequired

Block hash.

Example: 0000000000000000000b7b8574bc6fd285825ec2dbcbeca149121fc05b0c828c
get/api/v2/block-index/{height}

Get a block by height or hash.

get

Returns block information with paged transactions. When full transaction details are unavailable, the response can contain only transaction ids.

Blockbook follows the backend main chain. Height lookups always return the current main-chain block. Hash lookups can return a block from another fork only if the backend still keeps it.

Load estimate: Medium; grows mainly with block transaction count and requested page.

Authorizations
api-keystringRequired
Path parameters
blockIdstringRequired

Block height or block hash.

Example: 760f8ed32894ccce9c1ea11c8a019cadaa82bcb434b25c30102dd7e43f326217
Query parameters
pageinteger · min: 1Optional

1-based page index. Values outside safe bounds are sanitized to the closest possible page.

Example: 1
Responses
200

Block details.

application/json

Block with transactions.

pageintegerOptional

Current page number.

Example: 1
totalPagesintegerOptional

Total number of pages.

Example: 1
itemsOnPageintegerOptional

Number of items on this page.

Example: 1000
hashstringRequired

Block hash.

Example: 760f8ed32894ccce9c1ea11c8a019cadaa82bcb434b25c30102dd7e43f326217
previousBlockHashstringOptional

Previous block hash.

Example: 786a1f9f38493d32fd9f9c104d748490a070bc74a83809103bcadd93ae98288f
nextBlockHashstringOptional

Next block hash.

Example: 151615691b209de41dda4798a07e62db8429488554077552ccb1c4f8c7e9f57a
heightintegerRequired

Block height.

Example: 2648059
confirmationsintegerRequired

Number of confirmations.

Example: 47
sizeintegerOptional

Block size in bytes.

Example: 951
timeinteger · int64Optional

Block timestamp (Unix).

Example: 1553096617
versionone ofOptional

Block version.

Example: 6422787
stringOptional
or
integerOptional
merkleRootstringOptional

Merkle root.

Example: 6783f6083788c4f69b8af23bd2e4a194cf36ac34d590dfd97e510fe7aebc72c8
noncestringOptional

Block nonce.

Example: 0
bitsstringOptional

Bits representation.

Example: 1a063f3b
difficultystringOptional

Difficulty target.

Example: 2685605.260733312
txstring[]Optional

Transaction ids when full transactions are not returned.

Example: ["2b9fc57aaa8d01975631a703b0fc3f11d70671953fc769533b8078a04d029bf9"]
txCountintegerRequired

Total number of transactions in the block.

Example: 2
get/api/v2/block/{blockId}

Get raw block hex.

get

Returns raw serialized block data.

Load estimate: High for large blocks; payload size grows with the raw block size.

Authorizations
api-keystringRequired
Path parameters
blockIdstringRequired

Block height or block hash.

Example: 760f8ed32894ccce9c1ea11c8a019cadaa82bcb434b25c30102dd7e43f326217
Responses
200

Raw block data.

application/json
hexstringRequired

Raw block hex.

Example: 00000020f3e9...
get/api/v2/rawblock/{blockId}

Get compact block filters.

get

Returns compact block filters for the script type configured on this Blockbook instance. Provide either lastN or a from/to range. When to is omitted for a range, the current best height is used.

Load estimate: High for wide ranges; work and payload grow linearly with the number of requested filters.

Authorizations
api-keystringRequired
Query parameters
scriptTypestringRequired

Script type configured for block filters on this instance, for example taproot.

Example: taproot
lastNinteger · min: 1Optional

Return filters for the last N blocks.

Example: 100
fromintegerOptional

First block height in the requested range.

Example: 860000
tointegerOptional

Last block height in the requested range. Defaults to the current best height when omitted.

Example: 860730
Responses
200

Block filters keyed by block height.

application/json
PintegerRequired

Parameter P.

Example: 19
Minteger · int64Required

Parameter M.

Example: 784931
zeroedKeybooleanRequired

Whether zeroed key was used.

Example: false
get/api/v2/block-filters/

Get a normalized transaction.

get

Returns normalized transaction data with the same general structure for all supported coins. Coin-specific fields that do not fit the common shape are omitted here; use getTransactionSpecific for backend-native JSON.

Bitcoin-like confirmed transactions include blockHash, confirmations, blockTime, size/vsize, value/valueIn, fees, and hex. Unconfirmed transactions can include confirmationETABlocks and confirmationETASeconds.

Ethereum-like transactions have one vin and one vout, tokenTransfers, ethereumSpecific execution data, and optional addressAliases. Parsed input data is included when the 4byte signature can be resolved.

For mined transactions, blockTime is the block timestamp. For mempool transactions, blockTime is when this Blockbook instance first learned about the transaction and can differ between instances.

Load estimate: Medium; grows with inputs, outputs, token transfers, address aliases, and spending=true extra lookups.

Authorizations
api-keystringRequired
Path parameters
txidstringRequired

Transaction id/hash.

Example: 8c1e3dec662d1f2a5e322ccef5eca263f98eb16723c6f990be0c88c1db113fb1
Query parameters
spendingbooleanOptional

Include spending transaction metadata for UTXO outputs when available.

Example: false
Responses
200

Normalized transaction.

application/json

Normalized transaction object.

txidstringRequired

Transaction id.

Example: 8c1e3dec662d1f2a5e322ccef5eca263f98eb16723c6f990be0c88c1db113fb1
versionintegerOptional

Transaction version.

Example: 2
lockTimeintegerOptional

Lock time.

Example: 860729
blockHashstringOptional

Block hash containing this transaction.

Example: 00000000000000000000effeb0c4460480e6a347deab95332c63007a68646ee5
blockHeightintegerRequired

-1 for unconfirmed transactions.

Example: 860730
confirmationsintegerRequired

Number of confirmations.

Example: 1
confirmationETABlocksintegerOptional

Estimated blocks until confirmation.

Example: 0
confirmationETASecondsinteger · int64Optional

Estimated seconds until confirmation.

Example: 0
blockTimeinteger · int64Required

Block timestamp.

Example: 1725956288
sizeintegerOptional

Transaction size.

Example: 225
vsizeintegerOptional

Virtual transaction size.

Example: 144
valuestringOptional

Total output value.

Example: 10063100Pattern: ^-?[0-9]+$
valueInstringOptional

Total input value.

Example: 10106300Pattern: ^-?[0-9]+$
feesstringOptional

Transaction fees.

Example: 43200Pattern: ^-?[0-9]+$
hexstringOptional

Serialized transaction hex.

Example: 02000000000101662a...
rbfbooleanOptional

Replace-by-fee flag.

Example: false
coinSpecificDataanyOptional

Raw blockchain-specific transaction data.

get/api/v2/tx/{txid}

Get blockchain-specific transaction JSON.

get

Returns transaction data in the exact backend-specific format. Use this when a chain exposes fields that are intentionally absent from the normalized Tx schema.

Load estimate: Medium; payload size depends on chain-specific fields and transaction complexity.

Authorizations
api-keystringRequired
Path parameters
txidstringRequired

Transaction id/hash.

Example: 7a0a0ff6f67bac2a856c7296382b69151949878de6fb0d01a8efa197182b2913
Responses
200

Chain-specific transaction payload.

application/json
anyOptional

Arbitrary chain-specific transaction payload.

get/api/v2/tx-specific/{txid}

Get raw transaction hex.

get

Unversioned public endpoint exposed by Blockbook for raw transaction data.

Load estimate: Medium; payload size grows with raw transaction size.

Authorizations
api-keystringRequired
Path parameters
txidstringRequired

Transaction id/hash.

Example: 8c1e3dec662d1f2a5e322ccef5eca263f98eb16723c6f990be0c88c1db113fb1
Responses
200

Raw transaction hex as a JSON string.

application/json
stringOptional

Raw hex string.

Example: 02000000000101662a2fc609ddb4eb...
get/api/rawtx/{txid}

Broadcast a raw transaction using the path.

get

Broadcasts hex-encoded raw transaction data. Prefer POST for large payloads.

Load estimate: High; validates and forwards to the backend, with cost growing with transaction size and backend mempool policy checks.

Authorizations
api-keystringRequired
Path parameters
hexstringRequired

Raw transaction.

Example: 02000000000101662a...Pattern: ^[0-9a-fA-F]+$
Responses
200

Broadcast result.

application/json
resultstringRequired

Broadcast transaction id/hash.

Example: 7c3be24063f268aaa1ed81b64776798f56088757641a34fb156c4f51ed2e9d25
get/api/v2/sendtx/{hex}

Broadcast a raw transaction using the request body.

post

Broadcasts hex-encoded raw transaction data from the request body. The trailing slash is mandatory in the Blockbook handler. POST bodies are limited to 8 MiB.

Load estimate: High; validates and forwards to the backend, with cost growing with transaction size and backend mempool policy checks.

Authorizations
api-keystringRequired
Body
stringOptionalExample: 02000000000101662a...Pattern: ^[0-9a-fA-F]+$
Responses
200

Broadcast result.

application/json
resultstringRequired

Broadcast transaction id/hash.

Example: 7c3be24063f268aaa1ed81b64776798f56088757641a34fb156c4f51ed2e9d25
post/api/v2/sendtx/

Get address/account details.

get

Returns balances and transactions of an address. Transactions are sorted by block height with newest blocks first. Response size is controlled by the details parameter.

At details=basic, mempool transactions are not aggregated: unconfirmedBalance, unconfirmedSending, and unconfirmedReceiving are omitted, and unconfirmedTxs reports the raw mempool index size for the address.

Load estimate: Variable; basic is low, token/tokenBalances and txids/txslight are medium, and txs can be high as it grows with pageSize, transactions, token rows, filters, and protocol enrichment.

Authorizations
api-keystringRequired
Path parameters
addressstringRequired

Chain address.

Example: bc1q0wd209cv5k9pd9mhk7nspacywcj038xxdhnt5u
Query parameters
pageinteger · min: 1Optional

1-based page index. Values outside safe bounds are sanitized to the closest possible page.

Example: 1
pageSizeinteger · min: 1 · max: 1000Optional

Number of history items per page. The default and maximum for REST account endpoints is 1000.

Example: 1000
fromintegerOptional

First block height included in account transaction filtering.

Example: 0
tointegerOptional

Last block height included in account transaction filtering.

Example: 860730
detailsstring · enumOptional

Controls how much account data is returned. basic returns balances and counts only. tokens adds known token rows. tokenBalances returns token rows with balances. txids adds paged transaction ids. txslight adds limited transaction details from the index. txs adds full transaction details.

Default: txidsExample: txidsPossible values:
filterone ofOptional

Filter account history by input/output side, or by numeric token/internal filter id.

Example: inputs
string · enumOptionalExample: inputsPossible values:
or
integerOptionalExample: 0
contractstringOptional

Contract address used to filter token data.

Example: 0xdAC17F958D2ee523a2206206994597C13D831ec7
protocolsstring[]Optional

Optional protocol enrichments, comma-separated or repeated. Currently supported value: erc4626. Unknown values are rejected.

Example: ["erc4626"]
secondarystringOptional

Secondary currency code used to populate fiat values.

Example: usd
Responses
200

Address/account details.

application/json

Address/account details.

pageintegerOptional

Current page number.

Example: 1
totalPagesintegerOptional

Total number of pages.

Example: 1
itemsOnPageintegerOptional

Number of items on this page.

Example: 1000
addressstringRequired

The queried address.

Example: bc1q0wd209cv5k9pd9mhk7nspacywcj038xxdhnt5u
balancestringOptional

Confirmed balance.

Example: 4225100Pattern: ^-?[0-9]+$
totalReceivedstringOptional

Total received amount.

Example: 4225100Pattern: ^-?[0-9]+$
totalSentstringOptional

Total sent amount.

Example: 0Pattern: ^-?[0-9]+$
unconfirmedBalancestringOptional

Unconfirmed balance.

Example: 0Pattern: ^-?[0-9]+$
unconfirmedTxsintegerRequired

Number of unconfirmed transactions.

Example: 0
unconfirmedSendingstringOptional

Unconfirmed sending amount.

Example: 0Pattern: ^-?[0-9]+$
unconfirmedReceivingstringOptional

Unconfirmed receiving amount.

Example: 0Pattern: ^-?[0-9]+$
txsintegerRequired

Total number of transactions.

Example: 2
addrTxCountintegerOptional

Alternative transaction count field.

Example: 2
nonTokenTxsintegerOptional

Number of non-token transactions.

Example: 0
internalTxsintegerOptional

Number of internal transactions.

Example: 0
txidsstring[]Optional

Transaction ids when detail is txids.

Example: ["0db6010dc0815a4bdaa505bd1ccc851056b0d53c7e4ea7af39c4d648a2c0c019","7532920ddc506218337cceac978cce9c7f98e27ad3226dee55f3e934e0b32e80"]
noncestringOptional

Account nonce (Ethereum).

Example: 1
usedTokensintegerOptional

Number of used addresses for XPUB.

Example: 2
secondaryValuenumberOptional

Total secondary currency value.

Example: 33.247601671503574
tokensBaseValuenumberOptional

Sum of token base values.

Example: 3.104622978658881
tokensSecondaryValuenumberOptional

Sum of token secondary values.

Example: 4914.214559070491
totalBaseValuenumberOptional

Total base value including tokens.

Example: 3.125627610608482
totalSecondaryValuenumberOptional

Total secondary value including tokens.

Example: 4947.462160741995
get/api/v2/address/{address}

Get account balance history.

get

Returns balance history points for an address, XPUB, or descriptor. from and to are Unix timestamps. groupBy is an aggregation interval in seconds and defaults to 3600. When fiatcurrency is omitted, rates can contain all available currencies. sentToSelf is the amount sent from an address to itself or within addresses of the same XPUB.

Load estimate: High; grows with account transaction history, time span, grouping cardinality, fiat rate lookups, and XPUB/descriptor gap.

Authorizations
api-keystringRequired
Path parameters
descriptorstringRequired

Address, XPUB, or supported descriptor. URL-encode descriptors.

Example: bc1q0wd209cv5k9pd9mhk7nspacywcj038xxdhnt5u
Query parameters
frominteger · int64Optional

Unix timestamp lower bound.

Example: 1578391200
tointeger · int64Optional

Unix timestamp upper bound.

Example: 1578488400
fiatcurrencystringOptional

Optional fiat currency code to include in rates.

Example: usd
groupByinteger · min: 1Optional

Aggregation interval in seconds. Defaults to 3600.

Example: 3600
gapinteger · max: 10000Optional

XPUB/address derivation gap limit.

Example: 20
Responses
200

Balance history points.

application/json

Balance history data.

timeinteger · int64Required

Unix timestamp of the interval.

Example: 1578391200
txsintegerRequired

Number of transactions in the interval.

Example: 5
receivedstringOptional

Total received amount.

Example: 5000000Pattern: ^-?[0-9]+$
sentstringOptional

Total sent amount.

Example: 5000000Pattern: ^-?[0-9]+$
sentToSelfstringOptional

Amount sent to self.

Example: 100000Pattern: ^-?[0-9]+$
txidstringOptional

Transaction id if interval represents a single transaction.

get/api/v2/balancehistory/{descriptor}

Get contract metadata.

get

Returns indexed token/contract metadata and optional current protocol enrichments such as ERC4626.

blockHeight reflects the indexer's best block at request time. ERC4626 fields under protocols.erc4626 are fetched through JSON-RPC calls pinned to that exact blockHeight, so the ERC4626 values are a consistent snapshot. If a vault is detected but the underlying asset metadata cannot be resolved, protocols.erc4626 contains error and omits asset; callers must not derive fiat rates or human-unit exchange rates from such a partial response.

Load estimate: Medium; indexed metadata is cheap, but optional protocol enrichment can add backend RPC calls and token metadata lookups.

Authorizations
api-keystringRequired
Path parameters
contractstringRequired

Smart contract address.

Example: 0x0000000000000000000000000000000000000001
Query parameters
currencystringOptional

Secondary currency code for rates.

Example: usd
protocolsstring[]Optional

Optional protocol enrichments, comma-separated or repeated.

Example: ["erc4626"]
Responses
200

Contract metadata.

application/json

Contract metadata.

standardstringRequired

Token standard.

Example: ERC20
contractstringRequired

Contract address.

Example: 0x0000000000000000000000000000000000000001
namestringRequired

Contract name.

Example: Vault Share
symbolstringRequired

Contract symbol.

Example: vETH
decimalsintegerRequired

Decimals.

Example: 18
createdInBlockintegerOptional

Creation block.

Example: 0
destructedInBlockintegerOptional

Destruction block.

Example: 0
blockHeightintegerRequired

Indexer best block height.

Example: 12345678
get/api/v2/contract/{contract}

Estimate a fee target.

get

Returns backend fee estimation for the requested confirmation target.

Load estimate: Low; a small backend fee estimate lookup.

Authorizations
api-keystringRequired
Path parameters
blocksinteger · min: 1Required

Confirmation target in blocks.

Example: 2
Query parameters
conservativebooleanOptional

Use conservative smart fee estimation where supported.

Default: trueExample: true
Responses
200

Decimal fee estimate in chain base currency.

application/json
resultstringRequired

Result string, usually a decimal amount in chain base currency.

Example: 0.00002460
get/api/v2/estimatefee/{blocks}

Get fee statistics for a block.

get

Returns fee statistics for transactions in one block.

Load estimate: Medium to high; grows with the number of transactions in the requested block.

Authorizations
api-keystringRequired
Path parameters
blockIdstringRequired

Block height or block hash.

Example: 2648059
Responses
200

Fee statistics.

application/json

Fee statistics for a block.

txCountintegerRequired

Number of transactions in the block.

Example: 1820
totalFeesSatstringOptional

Total fees in satoshis.

Example: 182000000Pattern: ^-?[0-9]+$
averageFeePerKbnumberRequired

Average fee per kilobyte.

Example: 23.41
decilesFeePerKbnumber[]Required

Deciles of fee per kilobyte.

Example: [3.1,5.4,8.8,11.2,15.7,20.3,26.8,35.1,48.4,91.6]
get/api/v2/feestats/{blockId}

Get current or historical fiat rates.

get

Returns currency rates for the requested currency and date. If a rate is unavailable for the exact timestamp, the closest available rate can be returned. Responses include the actual rate timestamp. Without a currency parameter, all available currencies can be returned. A rate of -1 marks an unavailable or invalid currency for that timestamp.

Load estimate: Low to medium; specific currency lookups are cheap, while omitted currency and token lookups increase response size.

Authorizations
api-keystringRequired
Query parameters
currencystringOptional

Optional currency code. When omitted, all available rates can be returned.

Example: usd
timestampinteger · int64Optional

Unix timestamp for historical rates.

Example: 1574346615
blockstringOptional

Block height or hash whose timestamp should be used for historical rates.

tokenstringOptional

Optional token symbol or contract/address key for token-specific rates.

Responses
200

Fiat rate ticker.

application/json

Fiat rate ticker.

tsinteger · int64Optional

Unix timestamp of the rate.

Example: 1574346615
errorstringOptional

Error message if any.

get/api/v2/tickers/

Get fiat rates for multiple timestamps.

get

Returns fiat rate tickers for a comma-separated list of Unix timestamps.

Load estimate: Medium; work and payload grow linearly with timestamp count, plus token/currency selection.

Authorizations
api-keystringRequired
Query parameters
timestampstringRequired

Comma-separated Unix timestamps.

Example: 1710000000,1720000000Pattern: ^[0-9]+(,[0-9]+)*$
currencystringOptional

Optional currency code.

Example: usd
tokenstringOptional

Optional token symbol or contract/address key.

Responses
200

Fiat rate tickers.

application/json

List of fiat tickers.

tsinteger · int64Optional

Unix timestamp.

Example: 1574346615
errorstringOptional

Error if any.

get/api/v2/multi-tickers/

Get currencies available for a timestamp.

get

Returns available secondary currencies for a date together with the actual rate timestamp.

Load estimate: Low to medium; token lookups and wide currency lists increase response size.

Authorizations
api-keystringRequired
Query parameters
timestampinteger · int64Required

Unix timestamp for the requested currency list.

Example: 1574346615
tokenstringOptional

Optional token symbol or contract/address key.

Responses
200

Available currencies.

application/json

Available currencies object.

tsinteger · int64Optional

Unix timestamp of the available currencies.

Example: 1574346615
available_currenciesstring[]Required

List of currency codes.

Example: ["eur","usd"]
errorstringOptional

Error if any.

get/api/v2/tickers-list/

Last updated