Blockbook API Changes 0.5.0 > 0.6.0 - Komodo (KMD) Blockbook - modified methods
v0.6.0-changeloghttps://kmdbook.nownodes.ioNOWNodes Komodo (KMD) Blockbook MAINNET endpoint.Changelog for the NOWNodes Komodo (KMD) Blockbook API (https://kmdbook.nownodes.io), covering the upstream Blockbook versions 0.5.0 and 0.6.0. This file documents the modified methods - API operations whose contract or behaviour changed between 0.5.0 and 0.6.0, shown in full as they exist in 0.6.0. In short, account and fiat endpoints serialize unconfirmed balances and bound pagination, batch and body sizes, sendtx gains a body-size limit with optional alternative broadcast relaying, fee estimation can return sub-1 sat/vB values. Live behavior noted per method was verified on the deployed pre-0.6.0 KMD build on 2026-09-05.
Authentication
api-keyAuthapiKeyNOWNodes API key passed in the api-key header.
API Key: api-key in header
MAINNET / Blockbook 0.5.0 > 0.6.0 API CHANGES / Modified methods
BlockBook
Get address/account details.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: unconfirmed balances are serialized (unconfirmedBalance/unconfirmedTxs; live on KMD present at details=basic as "0"/0), requests are rate-limited per client, and an optional protocols=erc4626 enrichment parameter is added for EVM chains (not applicable on Komodo). Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Live: unconfirmedBalance ("0") and unconfirmedTxs (0) are present at details=basic on the deployed build.
Parameters
addressstringrequiredpathKomodo address (base58, R...) or XPUB value accepted by Blockbook.
pageinteger<int32>>= 11queryPage number of the returned transaction list. Pagination starts from 1.
pageSizeinteger<int32>[1, 1000]1000queryMaximum number of transactions returned on one page.
frominteger<int64>>= 0queryStart block height filter for transactions, inclusive.
tointeger<int64>>= 0queryEnd block height filter for transactions, inclusive.
detailsstringbasictokenstokenBalancestxidstxslighttxstxidsqueryControls how much transaction or token detail is included in the response. Supported values: basic, tokens, tokenBalances, txids, txslight, txs.
tokensstringusednonzeroderivedqueryToken list mode for the address response. Use used to include tokens used by the address, nonzero to include only non-zero balances, or derived to include derived token information when supported.
secondarybooleanfalsequeryWhen true, includes secondary currency values in supported balance and transaction fields.
contractstringquerySmart-contract address used to filter token-related address data.
filterstring | integerqueryFilter account history by input/output side, or by numeric token/internal filter id.
protocolsArray<string>queryOptional protocol enrichments, comma-separated or repeated. Currently supported value: erc4626. Unknown values are rejected.
Response
HTTP 200 Komodo Blockbook response for getAddress.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Get XPUB or descriptor account details.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: extreme page/pageSize values are validated, xpub change-list expansion is bounded, and the in-memory xpub cache is capped with LRU eviction. Documented as it exists in 0.6.0.
Returns balances and transactions of an XPUB or output descriptor for Bitcoin-type coins. Transactions are sorted by block height with newest blocks first. URL-encode descriptors before placing them after /xpub/.
Blockbook expects XPUBs at level 3 of the derivation path, for example m/purpose'/coin_type'/account'. It derives the remaining change/address_index path. The BIP scheme is inferred from the XPUB prefix; unknown prefixes default to BIP44.
Supported descriptors are pkh(xpub), sh(wpkh(xpub)), wpkh(xpub), and tr(xpub). Descriptors can include origin paths and change selectors such as <0;1> or {0,1}; when change is omitted, Blockbook defaults to <0;1>.
Note: usedTokens always reports the total number of used addresses for the XPUB, regardless of the tokens query filter.
Load estimate: High for broad accounts; grows with derived addresses, gap, used address count, pageSize, transaction history, token rows, and protocol enrichment.
live-verified behavior:
- Live: an invalid XPUB on the deployed instance answers HTTP 500 {"error":"Internal server error"}.
Parameters
xpubstringrequiredpathExtended public key or output descriptor to query in Blockbook.
pageinteger<int32>>= 11queryPage number of the returned transaction list. Pagination starts from 1.
pageSizeinteger<int32>[1, 1000]1000queryMaximum number of transactions returned on one page.
frominteger<int64>>= 0queryStart block height filter for transactions, inclusive.
tointeger<int64>>= 0queryEnd block height filter for transactions, inclusive.
detailsstringbasictokenstokenBalancestxidstxslighttxstxidsqueryControls how much transaction or token detail is included in the response. Supported values: basic, tokens, tokenBalances, txids, txslight, txs.
tokensstringnonzerousedderivednonzeroqueryControls which XPUB-derived address rows are included.
filterstring | integerqueryFilter by input/output side or numeric id.
contractstringqueryContract address filter.
protocolsArray<string>queryProtocol enrichments.
secondarystringquerySecondary currency code.
gapinteger[0, 10000]queryXPUB/address derivation gap limit.
Response
HTTP 200 Komodo Blockbook response for getXpub.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Get account balance history.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: balance-history queries are rate-limited per client and batch fiat lookups are capped at 1000 timestamps. Documented as it exists in 0.6.0.
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.
Parameters
descriptorstringrequiredpathAddress, XPUB, or supported descriptor. URL-encode descriptors.
frominteger<int64>queryUnix timestamp lower bound.
tointeger<int64>queryUnix timestamp upper bound.
fiatcurrencystringqueryOptional fiat currency code to include in rates.
groupByinteger>= 1queryAggregation interval in seconds. Defaults to 3600.
gapinteger[0, 10000]queryXPUB/address derivation gap limit.
Response
HTTP 200 Komodo Blockbook response for getBalanceHistory.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Get current or historical fiat rates.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: fiat-rate currency selectors are bounded and rate fetching is hardened against throttling - the response shape is unchanged. Live on KMD fiat rates are unavailable: current rates answer 400 "No tickers found!", historical timestamps answer 200 with rates -1. Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Live: fiat rates are unavailable on the KMD instance - current rates answer HTTP 400 {"error":"No tickers found!"}, historical timestamps answer 200 with rates -1.
Parameters
currencystringqueryOptional currency code. When omitted, all available rates can be returned.
timestampinteger<int64>queryUnix timestamp for historical rates.
blockstringqueryBlock height or hash whose timestamp should be used for historical rates.
tokenstringqueryOptional token symbol or contract/address key for token-specific rates.
Response
HTTP 200 Komodo Blockbook response for getFiatTicker.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Get currencies available for a timestamp.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: fiat-rate currency selectors are bounded and rate fetching is hardened against throttling. Live on KMD the route answers 400 ("No tickers found for date ..."). Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Live: fiat rates are unavailable on the KMD instance; the endpoint answers HTTP 400 {"error":"No tickers found for date ..."}.
Parameters
timestampinteger<int64>requiredqueryUnix timestamp for the requested currency list.
tokenstringqueryOptional token symbol or contract/address key.
Response
HTTP 200 Komodo Blockbook response for getFiatTickersList.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Get fiat rates for multiple timestamps.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: at most 1000 timestamps per batch request are accepted. Live on KMD the route answers 200 with rates -1 for every timestamp (fiat rates unavailable). Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Live: fiat rates are unavailable on the KMD instance - current rates answer HTTP 400 {"error":"No tickers found!"}, historical timestamps answer 200 with rates -1.
Parameters
timestampstringrequiredqueryComma-separated Unix timestamps.
currencystringqueryOptional currency code.
tokenstringqueryOptional token symbol or contract/address key.
Response
HTTP 200 Komodo Blockbook response for getFiatTickersForTimestamps.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Broadcast a raw transaction using the path.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: the broadcast payload size is limited, an alternative broadcast provider can be configured server-side, and requests are rate-limited per client. Write operation: the success scenario is not executed intentionally; the invalid-hex validation error is live-verified ("-22: TX decode failed"). Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Write operation. Live-validated scenario (invalid hex): HTTP 400 {"error":"-22: TX decode failed"}. Success scenario not executed intentionally.
Parameters
hexstringrequiredpathRaw transaction.
Response
HTTP 200 Komodo Blockbook response for sendTransactionByGet.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Broadcast a raw transaction using the request body.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: the POST body size is limited, an alternative broadcast provider can be configured server-side, and requests are rate-limited per client. Write operation: the success scenario is not executed intentionally; the invalid-hex validation error is live-verified ("-22: TX decode failed"). Documented as it exists in 0.6.0.
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.
live-verified behavior:
- Write operation. Live-validated scenario (invalid hex body): HTTP 400 {"error":"-22: TX decode failed"}. Success scenario not executed intentionally.
Body
Response
HTTP 200 Komodo Blockbook response for sendTransactionByPost.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).
Estimate a fee target.
Authorizations
ApiKeyAuthApiKeyAuthapi-key string
NOWNodes API key passed in the api-key header.
Modified in 0.6.0: fee estimates lower than 1 sat/vB can be returned instead of being rounded up; the response shape is unchanged. Live on KMD the komodod backend returns {"result":"-1"} (no estimate available). Documented as it exists in 0.6.0.
Returns backend fee estimation for the requested confirmation target.
Load estimate: Low; a small backend fee estimate lookup.
Parameters
blocksinteger>= 1requiredpathConfirmation target in blocks.
conservativebooleantruequeryUse conservative smart fee estimation where supported.
Response
HTTP 200 Komodo Blockbook response for estimateFee.
Domain or validation error. live-verified: JSON body {"error": "..."} (unknown block/transaction, invalid address, malformed broadcast hex, missing filter parameters).
Unauthorized: missing or invalid api-key header. The NOWNodes gateway returns the plain-text body "Unknown API_key".
Method Not Allowed: gateway-level response for unknown routes (and for the v1 GET broadcast route on this instance).
Internal Server Error. live-verified on the deployed instance: JSON body {"error":"Internal server error"} (observed on /api/rawtx and invalid XPUB lookups).