Home

Blockbook API

v2.0.0-draft
Base URLs
https://kmdbook.nownodes.io
https://kmd.nownodes.io

Canonical description of the Blockbook public API, based on blockbook-api.ts, api/xpub.go, and the api/server handlers.

API V2 is the current Blockbook API. It is available over REST and over WebSocket using the WsRequest/WsResponse JSON envelope documented below. The normalized API shapes are shared by all supported coins, while blockchain-specific payloads remain extensible where Blockbook returns raw backend JSON.

Amounts are strings in the lowest denomination of the chain, such as satoshis or wei, without a decimal point. Empty fields are omitted: empty means null, an empty string, numeric zero, a null object, or an empty array. Since the same API serves many different chains, this can sometimes hide otherwise meaningful zero values such as transaction version 0.

Legacy API V1 is a Bitcore Insight-compatible subset for Bitcoin-type coins. It is provided as-is for compatibility and is not being extended.

Load estimates are qualitative hints for client authors. Low means a small constant-time lookup or cached metadata. Medium means bounded indexed work or response size. High means potentially large scans, large payloads, broadcast/backend work, or external RPC enrichment. Actual cost also depends on chain speed, backend health, cache warmth, mempool size, pageSize, gap, and the number of addresses, transactions, tokens, filters, or timestamps involved.

Authentication

api-keyAuthapiKey

API Key: api-key in header

MAINNET / Blockbook

BlockBook

Get Blockbook and backend status.

GET
https://kmdbook.nownodes.io/api/status

Returns Blockbook sync state and connected backend metadata.

Load estimate: Low; constant-size status metadata.

Response

200OK

Current Blockbook and backend status.

default

Public API error. Public validation errors are HTTP 400; internal errors are HTTP 500.

Authorization

api-keyAuthapiKey in header

Get status from the API index handler.

GET
https://kmdbook.nownodes.io/api

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

Load estimate: Low; constant-size status metadata.

Response

200OK

Current Blockbook and backend status.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get a block hash by height.

GET
https://kmdbook.nownodes.io/api/v2/block-index/{height}

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.

Parameters

heightinteger>= 0requiredpath

Block height on the backend main chain.

Response

200OK

Block hash at the requested height.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get a block by height or hash.

GET
https://kmdbook.nownodes.io/api/v2/block/{blockId}

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.

Parameters

blockIdstringrequiredpath

Block height or block hash.

pageinteger>= 1query

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

Response

200OK

Block details.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get raw block hex.

GET
https://kmdbook.nownodes.io/api/v2/rawblock/{blockId}

Returns raw serialized block data.

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

Parameters

blockIdstringrequiredpath

Block height or block hash.

Response

200OK

Raw block data.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get compact block filters.

GET
https://kmdbook.nownodes.io/api/v2/block-filters

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.

Parameters

scriptTypestringrequiredquery

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

lastNinteger>= 1query

Return filters for the last N blocks.

frominteger>= 0query

First block height in the requested range.

tointeger>= 0query

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

Response

200OK

Block filters keyed by block height.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get a normalized transaction.

GET
https://kmdbook.nownodes.io/api/v2/tx/{txid}

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.

Parameters

txidstringrequiredpath

Transaction id/hash.

spendingbooleanquery

Include spending transaction metadata for UTXO outputs when available.

Response

200OK

Normalized transaction.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get blockchain-specific transaction JSON.

GET
https://kmdbook.nownodes.io/api/v2/tx-specific/{txid}

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.

Parameters

txidstringrequiredpath

Transaction id/hash.

Response

200OK

Chain-specific transaction payload.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get raw transaction hex.

GET
https://kmdbook.nownodes.io/api/rawtx/{txid}

Unversioned public endpoint exposed by Blockbook for raw transaction data.

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

Parameters

txidstringrequiredpath

Transaction id/hash.

Response

200OK

Raw transaction hex as a JSON string.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Broadcast a raw transaction using the path.

GET
https://kmdbook.nownodes.io/api/v2/sendtx/{hex}

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.

Parameters

hexstringrequiredpath

Raw transaction.

Response

200OK

Broadcast result.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Broadcast a raw transaction using the request body.

POST
https://kmdbook.nownodes.io/api/v2/sendtx

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.

Body

text/plain
string

Response

200OK

Broadcast result.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get address/account details.

GET
https://kmdbook.nownodes.io/api/v2/address/{address}

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.

Parameters

addressstringrequiredpath

Chain address.

pageinteger>= 1query

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

pageSizeinteger[1, 1000]query

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

frominteger>= 0query

First block height included in account transaction filtering.

tointeger>= 0query

Last block height included in account transaction filtering.

detailsstringbasictokenstokenBalancestxidstxslighttxstxidsquery

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.

filterstring | integerquery

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

contractstringquery

Contract address used to filter token data.

protocolsArray<string>query

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

secondarystringquery

Secondary currency code used to populate fiat values.

Response

200OK

Address/account details.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get XPUB or descriptor account details.

GET
https://kmdbook.nownodes.io/api/v2/xpub/{xpub}

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.

Parameters

xpubstringrequiredpath

XPUB or supported descriptor.

pageinteger>= 1query

1-based page index.

pageSizeinteger[1, 1000]query

Number of history items per page.

frominteger>= 0query

First block height included.

tointeger>= 0query

Last block height included.

detailsstringbasictokenstokenBalancestxidstxslighttxstxidsquery

Detail level.

tokensstringnonzerousedderivednonzeroquery

Controls which XPUB-derived address rows are included.

filterstring | integerquery

Filter by input/output side or numeric id.

contractstringquery

Contract address filter.

protocolsArray<string>query

Protocol enrichments.

secondarystringquery

Secondary currency code.

gapinteger[0, 10000]query

XPUB/address derivation gap limit.

Response

200OK

XPUB/descriptor account details.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get UTXOs for an address, XPUB, or descriptor.

GET
https://kmdbook.nownodes.io/api/v2/utxo/{descriptor}

Returns unspent outputs for an address, XPUB, or descriptor on Bitcoin-type coins. By default both confirmed and unconfirmed UTXOs are returned; confirmed=true filters out unconfirmed entries. Results are sorted by block height with newest entries first.

Unconfirmed UTXOs omit height, have confirmations set to 0, and can include lockTime. XPUB and descriptor UTXOs also include address and derivation path when available. Coinbase UTXOs include coinbase=true only up to the coinbase confirmation limit, currently 100 blocks.

Load estimate: Variable; address lookups are usually medium, while XPUB/descriptor lookups grow with gap, derived addresses, and UTXO count.

Parameters

descriptorstringrequiredpath

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

confirmedbooleanquery

When true, return only confirmed UTXOs.

gapinteger[0, 10000]query

XPUB/address derivation gap limit.

Response

200OK

UTXO list.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get account balance history.

GET
https://kmdbook.nownodes.io/api/v2/balancehistory/{descriptor}

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

descriptorstringrequiredpath

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

frominteger<int64>query

Unix timestamp lower bound.

tointeger<int64>query

Unix timestamp upper bound.

fiatcurrencystringquery

Optional fiat currency code to include in rates.

groupByinteger>= 1query

Aggregation interval in seconds. Defaults to 3600.

gapinteger[0, 10000]query

XPUB/address derivation gap limit.

Response

200OK

Balance history points.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get contract metadata.

GET
https://kmdbook.nownodes.io/api/v2/contract/{contract}

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.

Parameters

contractstringrequiredpath

Smart contract address.

currencystringquery

Secondary currency code for rates.

protocolsArray<string>query

Optional protocol enrichments, comma-separated or repeated.

Response

200OK

Contract metadata.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Estimate a fee target.

GET
https://kmdbook.nownodes.io/api/v2/estimatefee/{blocks}

Returns backend fee estimation for the requested confirmation target.

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

Parameters

blocksinteger>= 1requiredpath

Confirmation target in blocks.

conservativebooleantruequery

Use conservative smart fee estimation where supported.

Response

200OK

Decimal fee estimate in chain base currency.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get fee statistics for a block.

GET
https://kmdbook.nownodes.io/api/v2/feestats/{blockId}

Returns fee statistics for transactions in one block.

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

Parameters

blockIdstringrequiredpath

Block height or block hash.

Response

200OK

Fee statistics.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get current or historical fiat rates.

GET
https://kmdbook.nownodes.io/api/v2/tickers

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.

Parameters

currencystringquery

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

timestampinteger<int64>query

Unix timestamp for historical rates.

blockstringquery

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

tokenstringquery

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

Response

200OK

Fiat rate ticker.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get fiat rates for multiple timestamps.

GET
https://kmdbook.nownodes.io/api/v2/multi-tickers

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.

Parameters

timestampstringrequiredquery

Comma-separated Unix timestamps.

currencystringquery

Optional currency code.

tokenstringquery

Optional token symbol or contract/address key.

Response

200OK

Fiat rate tickers.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Get currencies available for a timestamp.

GET
https://kmdbook.nownodes.io/api/v2/tickers-list

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.

Parameters

timestampinteger<int64>requiredquery

Unix timestamp for the requested currency list.

tokenstringquery

Optional token symbol or contract/address key.

Response

200OK

Available currencies.

default

Public API error.

Authorization

api-keyAuthapiKey in header

BlockBook (legacy)

Legacy get block hash by height.

GET
https://kmdbook.nownodes.io/api/v1/block-index/{height}

Bitcore Insight-compatible V1 route for Bitcoin-type coins.

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

Parameters

heightinteger>= 0requiredpath

Block height on the backend main chain.

Response

200OK

Block hash at the requested height.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy get transaction.

GET
https://kmdbook.nownodes.io/api/v1/tx/{txid}

Bitcore Insight-compatible V1 transaction shape for Bitcoin-type coins.

Load estimate: Medium; grows with inputs, outputs, scripts, and raw transaction size.

Parameters

txidstringrequiredpath

Transaction id/hash.

Response

200OK

Legacy transaction payload.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy get address.

GET
https://kmdbook.nownodes.io/api/v1/address/{address}

Bitcore Insight-compatible V1 address shape for Bitcoin-type coins.

Load estimate: Variable; grows with address transaction count and legacy response expansion.

Parameters

addressstringrequiredpath

Chain address.

Response

200OK

Legacy address payload.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy get address UTXOs.

GET
https://kmdbook.nownodes.io/api/v1/utxo/{address}

Bitcore Insight-compatible V1 UTXO list for Bitcoin-type coins.

Load estimate: Medium; grows with the number of unspent outputs.

Parameters

addressstringrequiredpath

Chain address.

Response

200OK

Legacy UTXO list.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy get block by height or hash.

GET
https://kmdbook.nownodes.io/api/v1/block/{blockId}

Bitcore Insight-compatible V1 block shape for Bitcoin-type coins.

Load estimate: Medium to high; grows with block transaction count and legacy payload size.

Parameters

blockIdstringrequiredpath

Block height or block hash.

Response

200OK

Legacy block payload.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy estimate fee target.

GET
https://kmdbook.nownodes.io/api/v1/estimatefee/{blocks}

Bitcore Insight-compatible V1 fee estimate for Bitcoin-type coins.

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

Parameters

blocksinteger>= 1requiredpath

Confirmation target in blocks.

Response

200OK

Decimal fee estimate in chain base currency.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy broadcast transaction using the path.

GET
https://kmdbook.nownodes.io/api/v1/sendtx/{hex}

Bitcore Insight-compatible V1 broadcast route for Bitcoin-type coins.

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

Parameters

hexstringrequiredpath

Raw transaction.

Response

200OK

Broadcast result.

default

Public API error.

Authorization

api-keyAuthapiKey in header

Legacy broadcast transaction using the request body.

POST
https://kmdbook.nownodes.io/api/v1/sendtx

Bitcore Insight-compatible V1 broadcast route for Bitcoin-type coins.

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

Body

text/plain
string

Response

200OK

Broadcast result.

default

Public API error.

Authorization

api-keyAuthapiKey in header

MAINNET / Blockchain_RPCs

getbestblockhash

getbestblockhash

POST
https://kmdbook.nownodes.io/

Returns the hash of the best block in the most-work fully-validated chain. The best block is the tip of the blockchain, representing the most recent block that has been validated and added to the chain.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetbestblockhashrequired
paramsArray<any>required

Response

200OK

Valid response

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getblock

getblock

POST
https://kmdbook.nownodes.io/

Returns information about the block with the given block hash. Optional verbosity levels determine the level of detail in the response:

  • 0: Returns a string that is serialized, hex-encoded data for the block.
  • 1: Returns a JSON object with basic block details and txids.
  • 2: Returns a JSON object with detailed transaction info.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetblockrequired
paramsArray<string | integer>required

Parameters:

  1. blockhash (string) – The hash of the block
  2. verbosity (integer, optional) – Level of detail: 0, 1, or 2
Show child attributes
One of
string
integer

Response

200OK

Block information retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getblockchaininfo

Get blockchain state information

POST
https://kmdbook.nownodes.io/

Returns detailed information about the current state of the Komodo blockchain, including block height, difficulty, network upgrades, value pools, and consensus status.

Body

application/json

JSON-RPC request object

jsonrpcstringrequired

JSON-RPC protocol version used by the Komodo node.

idstringrequired

Client-defined request identifier.

methodstringrequired

RPC method name.

paramsArray<any>required

This method does not accept parameters.

Response

200OK

Successful JSON-RPC response

Authorization

api-keyAuthapiKey in header

getblockcount

getblockcount

POST
https://kmdbook.nownodes.io/

Returns the number of blocks in the longest blockchain. This number increases as new blocks are added.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetblockcountrequired
paramsarrayrequired

This method takes no parameters.

Response

200OK

Current block height retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getblockhash

getblockhash

POST
https://kmdbook.nownodes.io/

Returns the block hash of the block at the given height in the blockchain. You must provide a block height (0-based index).

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetblockhashrequired
paramsArray<integer>required

Parameters:

  1. height (integer) — The height (index) of the block.

Response

200OK

Block hash successfully retrieved

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getblockheader

getblockheader

POST
https://kmdbook.nownodes.io/

Returns information about the block header given a block hash. You can specify whether to return a JSON object or raw hex-encoded string using the verbose flag.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetblockheaderrequired
paramsArray<string | boolean>required

Parameters:

  1. blockhash (string) — The hash of the block.
  2. verbose (boolean, optional) — If true, returns a JSON object; if false, returns a hex string. Default is true.
Show child attributes
One of
string
boolean

Response

200OK

Block header information retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getblockstats

getblockstats

POST
https://kmdbook.nownodes.io/

Returns a variety of statistics about the block identified by its height or block hash. Available in Bitcoin Core v0.17.0 and later.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetblockstatsrequired
paramsArray<integer | string | Array<string>>required

Parameters:

  1. height_or_hash (integer or string) — The block height (integer) or block hash (string).
  2. stats (array, optional) — Specific stats to return. If not specified, returns all.
Show child attributes
One of
integer
string
Array<string>

Response

200OK

Block statistics returned successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getchaintips

getchaintips

POST
https://kmdbook.nownodes.io/

Returns information about all known tips in the block tree, including the main chain as well as orphaned forks.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetchaintipsrequired
paramsarrayrequired

This method takes no parameters.

Response

200OK

Chain tips retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getchaintxstats

getchaintxstats

POST
https://kmdbook.nownodes.io/

Compute statistics about the total number and rate of transactions in the blockchain. You can optionally specify the number of blocks and a block hash to start from.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetchaintxstatsrequired
paramsArray<integer | string>required

Parameters:

  1. nblocks (integer, optional) — Number of blocks to average over. Default: 1 month worth (~4320).
  2. blockhash (string, optional) — Hash of the block to stop at; defaults to the chain tip.
Show child attributes
One of
integer
string

Response

200OK

Chain transaction statistics retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getcheckpoint

Get current blockchain checkpoint

POST
https://kmdbook.nownodes.io/

Returns the current checkpoint hash used by the Komodo node. A checkpoint is a fixed block hash that the node uses to secure consensus.

Body

application/json

JSON-RPC request object

jsonrpcstringrequired

JSON-RPC protocol version. Komodo uses JSON-RPC version 1.0.

idstringrequired

Client-defined request identifier. It is returned unchanged in the response.

methodstringrequired

RPC method name to be executed by the Komodo node.

paramsArray<any>required

Parameters for the RPC method. The getcheckpoint method does not require any parameters.

Response

200OK

Successful JSON-RPC response

Authorization

api-keyAuthapiKey in header

getdifficulty

getdifficulty

POST
https://kmdbook.nownodes.io/

Returns the current difficulty as a multiple of the minimum difficulty (lowest possible difficulty on the network). This is a relative measure of how difficult it is to find a new block.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetdifficultyrequired
paramsarrayrequired

This method takes no parameters.

Response

200OK

Difficulty value returned successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getmempoolancestors

getmempoolancestors

POST
https://kmdbook.nownodes.io/

Returns all in-mempool ancestor transactions for a given transaction ID. An ancestor is a transaction whose outputs are used as inputs in another transaction. You can get a summary or detailed object output.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetmempoolancestorsrequired
paramsArray<string | boolean>required

Parameters:

  1. txid (string, required) — Transaction ID to query.
  2. verbose (boolean, optional) — Whether to return a JSON object or just an array of txids. Default is false.
Show child attributes
One of
string
boolean

Response

200OK

Ancestor transaction(s) retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getmempooldescendants

getmempooldescendants

POST
https://kmdbook.nownodes.io/

Returns all in-mempool descendant transactions for a given transaction ID. Descendants are transactions that depend on the outputs of the specified transaction. Can return either a simple list of transaction IDs or detailed JSON objects.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetmempooldescendantsrequired
paramsArray<string | boolean>required

Parameters:

  1. txid (string, required) — Transaction ID to query descendants for.
  2. verbose (boolean, optional) — Return JSON object if true, or list of txids if false. Default: false.
Show child attributes
One of
string
boolean

Response

200OK

Descendant transactions retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getmempoolentry

getmempoolentry

POST
https://kmdbook.nownodes.io/

Returns detailed information about a transaction currently in the mempool. Requires the transaction ID (txid) as a parameter.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetmempoolentryrequired
paramsArray<string>required

Parameters:

  1. txid (string, required) — Transaction ID to query.

Response

200OK

Mempool entry details retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getmempoolinfo

getmempoolinfo

POST
https://kmdbook.nownodes.io/

Returns details about the current state of the mempool, including size, usage, fees, and more. No parameters required.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetmempoolinforequired
paramsArray<any>required

No parameters required

Response

200OK

Mempool info retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getrawmempool

getrawmempool

POST
https://kmdbook.nownodes.io/

Returns all transaction IDs currently in the mempool. If verbose is true, returns a JSON object with detailed mempool entry information for each transaction.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetrawmempoolrequired
paramsArray<boolean>required

Parameters:

  1. verbose (boolean, optional) — If true, return detailed JSON objects instead of txid array. Default: false.

Response

200OK

Mempool transactions retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

gettxout

gettxout

POST
https://kmdbook.nownodes.io/

Returns details about an unspent transaction output (UTXO) specified by transaction ID and output index.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgettxoutrequired
paramsArray<string | integer | boolean>required

Parameters:

  1. txid (string, required) — The transaction ID.
  2. vout (integer, required) — The output index.
  3. include_mempool (boolean, optional, default: true) — Whether to include mempool transactions.
Show child attributes
One of
string
integer
boolean

Response

200OK

UTXO details retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

gettxoutproof

gettxoutproof

POST
https://kmdbook.nownodes.io/

Returns a hex-encoded proof that one or more transactions are included in a block. The proof can be validated with verifytxoutproof.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgettxoutproofrequired
paramsArray<Array<string> | string>required

Parameters:

  1. txids (array[string], required) — Array of transaction IDs to prove inclusion.
  2. blockhash (string, optional) — Hash of the block to look for transactions. If omitted, searches the entire blockchain.
Show child attributes
One of
Array<string>
string

Response

200OK

Proof retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

preciousblock

preciousblock

POST
https://kmdbook.nownodes.io/

Marks a block as "precious," causing the node to reconsider the chain from that block. This can be used to manually reorganize the chain to a particular fork.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringpreciousblockrequired
paramsArray<string>required

Parameters:

  1. blockhash (string, required) — The hash of the block to mark as precious.

Response

200OK

Block marked as precious successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

MAINNET / Mining_RPCs

getmininginfo

getmininginfo

POST
https://kmdbook.nownodes.io/

Returns mining-related information such as current block, difficulty, network hash rate, etc. No parameters are required.

Body

application/json
jsonrpcstringrequired

JSON-RPC version (always "1.0")

idstringrequired

Request identifier

methodstringgetmininginforequired

The RPC method name

paramsarrayrequired

No parameters required

Response

200OK

Mining info retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getnetworkhashps

getnetworkhashps

POST
https://kmdbook.nownodes.io/

Returns the estimated network hashes per second (hash rate) based on the last nblocks blocks. This provides an estimate of the total computational power securing the network.

Body

application/json
jsonrpcstringrequired

The JSON-RPC protocol version (always "1.0")

idstringrequired

The identifier for the request

methodstringgetnetworkhashpsrequired

The name of the RPC method

paramsArray<integer>required

Optional parameters:

  1. nblocks (integer) — The number of blocks to average over. Default is 120.
  2. height (integer) — Use the block at this height instead of the current tip. Use -1 for the tip.
Show child attributes
One of
integer

Response

200OK

Hash rate retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

MAINNET / Rawtransactions_RPCs

createrawtransaction

createrawtransaction

POST
https://kmdbook.nownodes.io/

Creates an unsigned raw transaction from a list of inputs and outputs. The transaction is returned as a serialized hex string, which can then be signed and broadcast.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringcreaterawtransactionrequired
paramsArray<Array<object> | object | integer | boolean>required

Parameters:

  1. inputs (array) — List of transaction inputs, each including txid and vout.
  2. outputs (object) — Destination addresses and amounts.
  3. locktime (integer, optional) — Locktime value.
  4. replaceable (boolean, optional) — Whether this transaction signals BIP125 replaceability.
Show child attributes
One of
Array<object>
Show child attributes
txidstring

Transaction ID to spend

voutinteger

Output index

object
integer
boolean

Response

200OK

Unsigned raw transaction created successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

decoderawtransaction

decoderawtransaction

POST
https://kmdbook.nownodes.io/

Decodes a raw hex-encoded Bitcoin transaction and returns a JSON object with readable fields. Useful for viewing the contents of raw transactions before broadcasting.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringdecoderawtransactionrequired
paramsArray<string>required

Parameters:

  1. hexstring (string, required) — The raw transaction hex string.

Response

200OK

Transaction decoded successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

decodescript

decodescript

POST
https://kmdbook.nownodes.io/

Decodes a hex-encoded script (usually scriptPubKey) and returns a JSON representation including the script type and addresses. Useful for analyzing output scripts or creating Pay-to-Script-Hash addresses.

Body

application/json
jsonrpcstringrequired

JSON-RPC version

idstringrequired

Request identifier

methodstringdecodescriptrequired

RPC method name

paramsArray<string>required

Parameters:

  1. hexstring (string, required) — The script in hex format to decode.

Response

200OK

Script decoded successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

getrawtransaction

getrawtransaction

POST
https://kmdbook.nownodes.io/

Retrieves a raw transaction by its txid. If verbose is false or omitted, the result is a raw hex string. If verbose is true, returns a JSON object with decoded transaction details.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringgetrawtransactionrequired
paramsArray<string | boolean>required

Parameters:

  1. txid (string, required) — The transaction ID.
  2. verbose (boolean, optional) — If true, return JSON; if false, return hex. Default: false.
Show child attributes
One of
string
boolean

Response

200OK

Transaction retrieved successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

sendrawtransaction

sendrawtransaction

POST
https://kmdbook.nownodes.io/

Submits a raw transaction (hex-encoded string) to the mempool and broadcasts it to the network. Returns the transaction ID (txid) if accepted.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringsendrawtransactionrequired
paramsArray<string | number | boolean>required

Parameters:

  1. hexstring (string, required): The raw transaction in hex format.
  2. maxfeerate (number or boolean, optional): Reject transactions with fees higher than this (BTC/KB). Use false to disable check.
Show child attributes
One of
string
number
boolean

Response

200OK

Transaction accepted and broadcasted

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

signrawtransactionwithkey

signrawtransactionwithkey

POST
https://kmdbook.nownodes.io/

Signs inputs for a raw transaction using explicitly provided private keys, without needing access to a local wallet. Useful for offline signing or stateless transaction construction.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringsignrawtransactionwithkeyrequired
paramsArray<string | Array<string> | Array<object>>required

Parameters:

  1. hexstring (string, required): The raw transaction hex string.
  2. privkeys (array of strings, required): Array of WIF private keys.
  3. prevtxs (array, optional): Array of previous output details for inputs to sign.
Show child attributes
One of
string
Array<string>
Array<object>
Show child attributes
txidstring

Transaction ID of the UTXO being spent.

voutinteger

Output index.

scriptPubKeystring

Script of the UTXO.

redeemScriptstring

(optional) Redeem script for P2SH inputs.

witnessScriptstring

(optional) Witness script for P2WSH inputs.

amountnumber

Amount in BTC of the UTXO.

Response

200OK

Transaction signed successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

MAINNET / Util_RPCs

signmessagewithprivkey

signmessagewithprivkey

POST
https://kmdbook.nownodes.io/

Signs a message with the given private key (in WIF format). Returns the base64-encoded signature.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringsignmessagewithprivkeyrequired
paramsArray<string>required

Parameters:

  1. privkey (string, required): The private key in WIF format.
  2. message (string, required): The message to sign.

Response

200OK

Message signed successfully

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

validateaddress

validateaddress

POST
https://kmdbook.nownodes.io/

Validate a Bitcoin address and return useful information such as whether it is valid, script, or witness, and optionally if it's linked to the wallet.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringvalidateaddressrequired
paramsArray<string>required

Parameters:

  1. address (string, required): The Bitcoin address to validate.

Response

200OK

Address validation result

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header

verifymessage

verifymessage

POST
https://kmdbook.nownodes.io/

Verify a message signature. Returns true if the signature is valid and corresponds to the provided address and message.

Body

application/json
jsonrpcstringrequired
idstringrequired
methodstringverifymessagerequired
paramsArray<string>required

Parameters:

  1. address (string, required): The Bitcoin address to verify.
  2. signature (string, required): The base64-encoded signature.
  3. message (string, required): The original signed message.

Response

200OK

Signature verification result

401Unauthorized

Unauthorized

500Internal Server Error

Internal Server Error

Authorization

api-keyAuthapiKey in header