[**brk-client**](../README.md) *** [brk-client](../globals.md) / BrkClient # Class: BrkClient Defined in: [Developer/brk/modules/brk-client/index.js:4940](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L4940) Main BRK client with metrics tree and API methods ## Extends - `BrkClientBase` ## Constructors ### Constructor > **new BrkClient**(`options`): `BrkClient` Defined in: [Developer/brk/modules/brk-client/index.js:5857](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L5857) #### Parameters ##### options `string` | [`BrkClientOptions`](../interfaces/BrkClientOptions.md) #### Returns `BrkClient` #### Overrides `BrkClientBase.constructor` ## Properties ### \_cache > **\_cache**: `Cache` \| `null` Defined in: [Developer/brk/modules/brk-client/index.js:1129](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1129) #### Inherited from `BrkClientBase._cache` *** ### \_cachePromise > **\_cachePromise**: `Promise`\<`Cache` \| `null`\> Defined in: [Developer/brk/modules/brk-client/index.js:1127](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1127) #### Inherited from `BrkClientBase._cachePromise` *** ### metrics > **metrics**: [`MetricsTree`](../interfaces/MetricsTree.md) Defined in: [Developer/brk/modules/brk-client/index.js:5860](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L5860) ## Methods ### \_fetchMetricData() > **\_fetchMetricData**\<`T`\>(`path`, `onUpdate?`): `Promise`\<[`MetricData`](../interfaces/MetricData.md)\<`T`\>\> Defined in: [Developer/brk/modules/brk-client/index.js:1219](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1219) Fetch metric data and wrap with helper methods (internal) #### Type Parameters ##### T `T` #### Parameters ##### path `string` ##### onUpdate? (`value`) => `void` #### Returns `Promise`\<[`MetricData`](../interfaces/MetricData.md)\<`T`\>\> #### Inherited from `BrkClientBase._fetchMetricData` *** ### get() > **get**(`path`): `Promise`\<`Response`\> Defined in: [Developer/brk/modules/brk-client/index.js:1137](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1137) #### Parameters ##### path `string` #### Returns `Promise`\<`Response`\> #### Inherited from `BrkClientBase.get` *** ### getAddress() > **getAddress**(`address`): `Promise`\<[`AddressStats`](../interfaces/AddressStats.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7048](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7048) Address information Retrieve address information including balance and transaction counts. Supports all standard Bitcoin address types (P2PKH, P2SH, P2WPKH, P2WSH, P2TR). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address)* Endpoint: `GET /api/address/{address}` #### Parameters ##### address `string` #### Returns `Promise`\<[`AddressStats`](../interfaces/AddressStats.md)\> *** ### getAddressConfirmedTxs() > **getAddressConfirmedTxs**(`address`, `after_txid?`, `limit?`): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7089](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7089) Address confirmed transactions Get confirmed transaction IDs for an address, 25 per page. Use ?after_txid= for pagination. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions-chain)* Endpoint: `GET /api/address/{address}/txs/chain` #### Parameters ##### address `string` ##### after\_txid? `string` Txid to paginate from (return transactions before this one) ##### limit? `number` Maximum number of results to return. Defaults to 25 if not specified. #### Returns `Promise`\<`string`[]\> *** ### getAddressMempoolTxs() > **getAddressMempoolTxs**(`address`): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7110](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7110) Address mempool transactions Get unconfirmed transaction IDs for an address from the mempool (up to 50). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions-mempool)* Endpoint: `GET /api/address/{address}/txs/mempool` #### Parameters ##### address `string` #### Returns `Promise`\<`string`[]\> *** ### getAddressTxs() > **getAddressTxs**(`address`, `after_txid?`, `limit?`): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7066](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7066) Address transaction IDs Get transaction IDs for an address, newest first. Use after_txid for pagination. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions)* Endpoint: `GET /api/address/{address}/txs` #### Parameters ##### address `string` ##### after\_txid? `string` Txid to paginate from (return transactions before this one) ##### limit? `number` Maximum number of results to return. Defaults to 25 if not specified. #### Returns `Promise`\<`string`[]\> *** ### getAddressUtxos() > **getAddressUtxos**(`address`): `Promise`\<[`Utxo`](../interfaces/Utxo.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7126](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7126) Address UTXOs Get unspent transaction outputs (UTXOs) for an address. Returns txid, vout, value, and confirmation status for each UTXO. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-utxo)* Endpoint: `GET /api/address/{address}/utxo` #### Parameters ##### address `string` #### Returns `Promise`\<[`Utxo`](../interfaces/Utxo.md)[]\> *** ### getApi() > **getApi**(): `Promise`\<`any`\> Defined in: [Developer/brk/modules/brk-client/index.js:7032](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7032) Compact OpenAPI specification Compact OpenAPI specification optimized for LLM consumption. Removes redundant fields while preserving essential API information. Full spec available at `/openapi.json`. Endpoint: `GET /api.json` #### Returns `Promise`\<`any`\> *** ### getBlock() > **getBlock**(`hash`): `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7158](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7158) Block information Retrieve block information by block hash. Returns block metadata including height, timestamp, difficulty, size, weight, and transaction count. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block)* Endpoint: `GET /api/block/{hash}` #### Parameters ##### hash `string` #### Returns `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)\> *** ### getBlockByHeight() > **getBlockByHeight**(`height`): `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7142](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7142) Block by height Retrieve block information by block height. Returns block metadata including hash, timestamp, difficulty, size, weight, and transaction count. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-height)* Endpoint: `GET /api/block-height/{height}` #### Parameters ##### height `number` #### Returns `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)\> *** ### getBlockByTimestamp() > **getBlockByTimestamp**(`timestamp`): `Promise`\<[`BlockTimestamp`](../interfaces/BlockTimestamp.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7672](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7672) Block by timestamp Find the block closest to a given UNIX timestamp. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-timestamp)* Endpoint: `GET /api/v1/mining/blocks/timestamp/{timestamp}` #### Parameters ##### timestamp `number` #### Returns `Promise`\<[`BlockTimestamp`](../interfaces/BlockTimestamp.md)\> *** ### getBlockFeeRates() > **getBlockFeeRates**(`time_period`): `Promise`\<`any`\> Defined in: [Developer/brk/modules/brk-client/index.js:7608](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7608) Block fee rates (WIP) **Work in progress.** Get block fee rate percentiles (min, 10th, 25th, median, 75th, 90th, max) for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-feerates)* Endpoint: `GET /api/v1/mining/blocks/fee-rates/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<`any`\> *** ### getBlockFees() > **getBlockFees**(`time_period`): `Promise`\<[`BlockFeesEntry`](../interfaces/BlockFeesEntry.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7624](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7624) Block fees Get average block fees for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-fees)* Endpoint: `GET /api/v1/mining/blocks/fees/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`BlockFeesEntry`](../interfaces/BlockFeesEntry.md)[]\> *** ### getBlockRaw() > **getBlockRaw**(`hash`): `Promise`\<`number`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7174](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7174) Raw block Returns the raw block data in binary format. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-raw)* Endpoint: `GET /api/block/{hash}/raw` #### Parameters ##### hash `string` #### Returns `Promise`\<`number`[]\> *** ### getBlockRewards() > **getBlockRewards**(`time_period`): `Promise`\<[`BlockRewardsEntry`](../interfaces/BlockRewardsEntry.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7640](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7640) Block rewards Get average block rewards (coinbase = subsidy + fees) for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-rewards)* Endpoint: `GET /api/v1/mining/blocks/rewards/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`BlockRewardsEntry`](../interfaces/BlockRewardsEntry.md)[]\> *** ### getBlocks() > **getBlocks**(): `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7254](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7254) Recent blocks Retrieve the last 10 blocks. Returns block metadata for each block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks)* Endpoint: `GET /api/blocks` #### Returns `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)[]\> *** ### getBlocksFromHeight() > **getBlocksFromHeight**(`height`): `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7270](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7270) Blocks from height Retrieve up to 10 blocks going backwards from the given height. For example, height=100 returns blocks 100, 99, 98, ..., 91. Height=0 returns only block 0. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks)* Endpoint: `GET /api/blocks/{height}` #### Parameters ##### height `number` #### Returns `Promise`\<[`BlockInfo`](../interfaces/BlockInfo.md)[]\> *** ### getBlockSizesWeights() > **getBlockSizesWeights**(`time_period`): `Promise`\<[`BlockSizesWeights`](../interfaces/BlockSizesWeights.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7656](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7656) Block sizes and weights Get average block sizes and weights for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-sizes-weights)* Endpoint: `GET /api/v1/mining/blocks/sizes-weights/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`BlockSizesWeights`](../interfaces/BlockSizesWeights.md)\> *** ### getBlockStatus() > **getBlockStatus**(`hash`): `Promise`\<[`BlockStatus`](../interfaces/BlockStatus.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7190](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7190) Block status Retrieve the status of a block. Returns whether the block is in the best chain and, if so, its height and the hash of the next block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-status)* Endpoint: `GET /api/block/{hash}/status` #### Parameters ##### hash `string` #### Returns `Promise`\<[`BlockStatus`](../interfaces/BlockStatus.md)\> *** ### getBlockTxid() > **getBlockTxid**(`hash`, `index`): `Promise`\<`string`\> Defined in: [Developer/brk/modules/brk-client/index.js:7207](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7207) Transaction ID at index Retrieve a single transaction ID at a specific index within a block. Returns plain text txid. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-transaction-id)* Endpoint: `GET /api/block/{hash}/txid/{index}` #### Parameters ##### hash `string` Bitcoin block hash ##### index `number` Transaction index within the block (0-based) #### Returns `Promise`\<`string`\> *** ### getBlockTxids() > **getBlockTxids**(`hash`): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7223](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7223) Block transaction IDs Retrieve all transaction IDs in a block. Returns an array of txids in block order. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-transaction-ids)* Endpoint: `GET /api/block/{hash}/txids` #### Parameters ##### hash `string` #### Returns `Promise`\<`string`[]\> *** ### getBlockTxs() > **getBlockTxs**(`hash`, `start_index`): `Promise`\<[`Transaction`](../interfaces/Transaction.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7240](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7240) Block transactions (paginated) Retrieve transactions in a block by block hash, starting from the specified index. Returns up to 25 transactions at a time. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-transactions)* Endpoint: `GET /api/block/{hash}/txs/{start_index}` #### Parameters ##### hash `string` Bitcoin block hash ##### start\_index `number` Starting transaction index within the block (0-based) #### Returns `Promise`\<[`Transaction`](../interfaces/Transaction.md)[]\> *** ### getDifficultyAdjustment() > **getDifficultyAdjustment**(): `Promise`\<[`DifficultyAdjustment`](../interfaces/DifficultyAdjustment.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7564](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7564) Difficulty adjustment Get current difficulty adjustment information including progress through the current epoch, estimated retarget date, and difficulty change prediction. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-difficulty-adjustment)* Endpoint: `GET /api/v1/difficulty-adjustment` #### Returns `Promise`\<[`DifficultyAdjustment`](../interfaces/DifficultyAdjustment.md)\> *** ### getDifficultyAdjustments() > **getDifficultyAdjustments**(): `Promise`\<[`DifficultyAdjustmentEntry`](../interfaces/DifficultyAdjustmentEntry.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7686](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7686) Difficulty adjustments (all time) Get historical difficulty adjustments including timestamp, block height, difficulty value, and percentage change. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-difficulty-adjustments)* Endpoint: `GET /api/v1/mining/difficulty-adjustments` #### Returns `Promise`\<[`DifficultyAdjustmentEntry`](../interfaces/DifficultyAdjustmentEntry.md)[]\> *** ### getDifficultyAdjustmentsByPeriod() > **getDifficultyAdjustmentsByPeriod**(`time_period`): `Promise`\<[`DifficultyAdjustmentEntry`](../interfaces/DifficultyAdjustmentEntry.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7702](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7702) Difficulty adjustments Get historical difficulty adjustments for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-difficulty-adjustments)* Endpoint: `GET /api/v1/mining/difficulty-adjustments/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`DifficultyAdjustmentEntry`](../interfaces/DifficultyAdjustmentEntry.md)[]\> *** ### getDiskUsage() > **getDiskUsage**(): `Promise`\<[`DiskUsage`](../interfaces/DiskUsage.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7457](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7457) Disk usage Returns the disk space used by BRK and Bitcoin data. Endpoint: `GET /api/server/disk` #### Returns `Promise`\<[`DiskUsage`](../interfaces/DiskUsage.md)\> *** ### getHashrate() > **getHashrate**(): `Promise`\<[`HashrateSummary`](../interfaces/HashrateSummary.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7716](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7716) Network hashrate (all time) Get network hashrate and difficulty data for all time. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-hashrate)* Endpoint: `GET /api/v1/mining/hashrate` #### Returns `Promise`\<[`HashrateSummary`](../interfaces/HashrateSummary.md)\> *** ### getHashrateByPeriod() > **getHashrateByPeriod**(`time_period`): `Promise`\<[`HashrateSummary`](../interfaces/HashrateSummary.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7732](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7732) Network hashrate Get network hashrate and difficulty data for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-hashrate)* Endpoint: `GET /api/v1/mining/hashrate/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`HashrateSummary`](../interfaces/HashrateSummary.md)\> *** ### getHealth() > **getHealth**(): `Promise`\<[`Health`](../interfaces/Health.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7822](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7822) Health check Returns the health status of the API server, including uptime information. Endpoint: `GET /health` #### Returns `Promise`\<[`Health`](../interfaces/Health.md)\> *** ### getIndexes() > **getIndexes**(): `Promise`\<[`IndexInfo`](../interfaces/IndexInfo.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7408](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7408) List available indexes Returns all available indexes with their accepted query aliases. Use any alias when querying metrics. Endpoint: `GET /api/metrics/indexes` #### Returns `Promise`\<[`IndexInfo`](../interfaces/IndexInfo.md)[]\> *** ### getJson() > **getJson**\<`T`\>(`path`, `onUpdate?`): `Promise`\<`T`\> Defined in: [Developer/brk/modules/brk-client/index.js:1152](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1152) Make a GET request - races cache vs network, first to resolve calls onUpdate #### Type Parameters ##### T `T` #### Parameters ##### path `string` ##### onUpdate? (`value`) => `void` Called when data is available (may be called twice: cache then network) #### Returns `Promise`\<`T`\> #### Inherited from `BrkClientBase.getJson` *** ### getMempool() > **getMempool**(): `Promise`\<[`MempoolInfo`](../interfaces/MempoolInfo.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7284](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7284) Mempool statistics Get current mempool statistics including transaction count, total vsize, and total fees. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool)* Endpoint: `GET /api/mempool/info` #### Returns `Promise`\<[`MempoolInfo`](../interfaces/MempoolInfo.md)\> *** ### getMempoolBlocks() > **getMempoolBlocks**(): `Promise`\<[`MempoolBlock`](../interfaces/MempoolBlock.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7578](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7578) Projected mempool blocks Get projected blocks from the mempool for fee estimation. Each block contains statistics about transactions that would be included if a block were mined now. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-blocks-fees)* Endpoint: `GET /api/v1/fees/mempool-blocks` #### Returns `Promise`\<[`MempoolBlock`](../interfaces/MempoolBlock.md)[]\> *** ### getMempoolTxids() > **getMempoolTxids**(): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7298](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7298) Mempool transaction IDs Get all transaction IDs currently in the mempool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-transaction-ids)* Endpoint: `GET /api/mempool/txids` #### Returns `Promise`\<`string`[]\> *** ### getMetric() > **getMetric**(`metric`, `index`, `start?`, `end?`, `limit?`, `format?`): `Promise`\<`string` \| [`AnyMetricData`](../type-aliases/AnyMetricData.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7331](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7331) Get metric data Fetch data for a specific metric at the given index. Use query parameters to filter by date range and format (json/csv). Endpoint: `GET /api/metric/{metric}/{index}` #### Parameters ##### metric `string` Metric name ##### index [`Index`](../type-aliases/Index.md) Aggregation index ##### start? `number` Inclusive starting index, if negative counts from end ##### end? `number` Exclusive ending index, if negative counts from end ##### limit? `string` Maximum number of values to return (ignored if `end` is set) ##### format? [`Format`](../type-aliases/Format.md) Format of the output #### Returns `Promise`\<`string` \| [`AnyMetricData`](../type-aliases/AnyMetricData.md)\> *** ### getMetricInfo() > **getMetricInfo**(`metric`): `Promise`\<[`Index`](../type-aliases/Index.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7312](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7312) Get supported indexes for a metric Returns the list of indexes supported by the specified metric. For example, `realized_price` might be available on dateindex, weekindex, and monthindex. Endpoint: `GET /api/metric/{metric}` #### Parameters ##### metric `string` #### Returns `Promise`\<[`Index`](../type-aliases/Index.md)[]\> *** ### getMetrics() > **getMetrics**(`metrics?`, `index?`, `start?`, `end?`, `limit?`, `format?`): `Promise`\<`string` \| [`AnyMetricData`](../type-aliases/AnyMetricData.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7372](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7372) Bulk metric data Fetch multiple metrics in a single request. Supports filtering by index and date range. Returns an array of MetricData objects. For a single metric, use `get_metric` instead. Endpoint: `GET /api/metrics/bulk` #### Parameters ##### metrics? `string` Requested metrics ##### index? [`Index`](../type-aliases/Index.md) Index to query ##### start? `number` Inclusive starting index, if negative counts from end ##### end? `number` Exclusive ending index, if negative counts from end ##### limit? `string` Maximum number of values to return (ignored if `end` is set) ##### format? [`Format`](../type-aliases/Format.md) Format of the output #### Returns `Promise`\<`string` \| [`AnyMetricData`](../type-aliases/AnyMetricData.md)[]\> *** ### getMetricsCount() > **getMetricsCount**(): `Promise`\<[`MetricCount`](../interfaces/MetricCount.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7396](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7396) Metric count Returns the number of metrics available per index type. Endpoint: `GET /api/metrics/count` #### Returns `Promise`\<[`MetricCount`](../interfaces/MetricCount.md)[]\> *** ### getMetricsTree() > **getMetricsTree**(): `Promise`\<[`TreeNode`](../type-aliases/TreeNode.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7353](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7353) Metrics catalog Returns the complete hierarchical catalog of available metrics organized as a tree structure. Metrics are grouped by categories and subcategories. Endpoint: `GET /api/metrics` #### Returns `Promise`\<[`TreeNode`](../type-aliases/TreeNode.md)\> *** ### getOpenapi() > **getOpenapi**(): `Promise`\<`any`\> Defined in: [Developer/brk/modules/brk-client/index.js:7834](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7834) OpenAPI specification Full OpenAPI 3.1 specification for this API. Endpoint: `GET /openapi.json` #### Returns `Promise`\<`any`\> *** ### getPool() > **getPool**(`slug`): `Promise`\<[`PoolDetail`](../interfaces/PoolDetail.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7748](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7748) Mining pool details Get detailed information about a specific mining pool including block counts and shares for different time periods. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool)* Endpoint: `GET /api/v1/mining/pool/{slug}` #### Parameters ##### slug [`PoolSlug`](../type-aliases/PoolSlug.md) #### Returns `Promise`\<[`PoolDetail`](../interfaces/PoolDetail.md)\> *** ### getPools() > **getPools**(): `Promise`\<[`PoolInfo`](../interfaces/PoolInfo.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7762](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7762) List all mining pools Get list of all known mining pools with their identifiers. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pools)* Endpoint: `GET /api/v1/mining/pools` #### Returns `Promise`\<[`PoolInfo`](../interfaces/PoolInfo.md)[]\> *** ### getPoolStats() > **getPoolStats**(`time_period`): `Promise`\<[`PoolsSummary`](../interfaces/PoolsSummary.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7778](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7778) Mining pool statistics Get mining pool statistics for a time period. Valid periods: 24h, 3d, 1w, 1m, 3m, 6m, 1y, 2y, 3y *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pools)* Endpoint: `GET /api/v1/mining/pools/{time_period}` #### Parameters ##### time\_period [`TimePeriod`](../type-aliases/TimePeriod.md) #### Returns `Promise`\<[`PoolsSummary`](../interfaces/PoolsSummary.md)\> *** ### getRecommendedFees() > **getRecommendedFees**(): `Promise`\<[`RecommendedFees`](../interfaces/RecommendedFees.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7592](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7592) Recommended fees Get recommended fee rates for different confirmation targets based on current mempool state. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-recommended-fees)* Endpoint: `GET /api/v1/fees/recommended` #### Returns `Promise`\<[`RecommendedFees`](../interfaces/RecommendedFees.md)\> *** ### getRewardStats() > **getRewardStats**(`block_count`): `Promise`\<[`RewardStats`](../interfaces/RewardStats.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7794](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7794) Mining reward statistics Get mining reward statistics for the last N blocks including total rewards, fees, and transaction count. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-reward-stats)* Endpoint: `GET /api/v1/mining/reward-stats/{block_count}` #### Parameters ##### block\_count `number` Number of recent blocks to include #### Returns `Promise`\<[`RewardStats`](../interfaces/RewardStats.md)\> *** ### getSyncStatus() > **getSyncStatus**(): `Promise`\<[`SyncStatus`](../interfaces/SyncStatus.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7469](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7469) Sync status Returns the sync status of the indexer, including indexed height, tip height, blocks behind, and last indexed timestamp. Endpoint: `GET /api/server/sync` #### Returns `Promise`\<[`SyncStatus`](../interfaces/SyncStatus.md)\> *** ### getText() > **getText**(`path`): `Promise`\<`string`\> Defined in: [Developer/brk/modules/brk-client/index.js:1207](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L1207) Make a GET request and return raw text (for CSV responses) #### Parameters ##### path `string` #### Returns `Promise`\<`string`\> #### Inherited from `BrkClientBase.getText` *** ### getTx() > **getTx**(`txid`): `Promise`\<[`Transaction`](../interfaces/Transaction.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7485](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7485) Transaction information Retrieve complete transaction data by transaction ID (txid). Returns inputs, outputs, fee, size, and confirmation status. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction)* Endpoint: `GET /api/tx/{txid}` #### Parameters ##### txid `string` #### Returns `Promise`\<[`Transaction`](../interfaces/Transaction.md)\> *** ### getTxHex() > **getTxHex**(`txid`): `Promise`\<`string`\> Defined in: [Developer/brk/modules/brk-client/index.js:7501](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7501) Transaction hex Retrieve the raw transaction as a hex-encoded string. Returns the serialized transaction in hexadecimal format. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-hex)* Endpoint: `GET /api/tx/{txid}/hex` #### Parameters ##### txid `string` #### Returns `Promise`\<`string`\> *** ### getTxOutspend() > **getTxOutspend**(`txid`, `vout`): `Promise`\<[`TxOutspend`](../interfaces/TxOutspend.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7518](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7518) Output spend status Get the spending status of a transaction output. Returns whether the output has been spent and, if so, the spending transaction details. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-outspend)* Endpoint: `GET /api/tx/{txid}/outspend/{vout}` #### Parameters ##### txid `string` Transaction ID ##### vout `number` Output index #### Returns `Promise`\<[`TxOutspend`](../interfaces/TxOutspend.md)\> *** ### getTxOutspends() > **getTxOutspends**(`txid`): `Promise`\<[`TxOutspend`](../interfaces/TxOutspend.md)[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7534](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7534) All output spend statuses Get the spending status of all outputs in a transaction. Returns an array with the spend status for each output. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-outspends)* Endpoint: `GET /api/tx/{txid}/outspends` #### Parameters ##### txid `string` #### Returns `Promise`\<[`TxOutspend`](../interfaces/TxOutspend.md)[]\> *** ### getTxStatus() > **getTxStatus**(`txid`): `Promise`\<[`TxStatus`](../interfaces/TxStatus.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7550](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7550) Transaction status Retrieve the confirmation status of a transaction. Returns whether the transaction is confirmed and, if so, the block height, hash, and timestamp. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-status)* Endpoint: `GET /api/tx/{txid}/status` #### Parameters ##### txid `string` #### Returns `Promise`\<[`TxStatus`](../interfaces/TxStatus.md)\> *** ### getVersion() > **getVersion**(): `Promise`\<`string`\> Defined in: [Developer/brk/modules/brk-client/index.js:7846](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7846) API version Returns the current version of the API server Endpoint: `GET /version` #### Returns `Promise`\<`string`\> *** ### indexToDate() > **indexToDate**(`index`, `i`): `Date` Defined in: [Developer/brk/modules/brk-client/index.js:5841](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L5841) Convert an index value to a Date for date-based indexes. #### Parameters ##### index [`Index`](../type-aliases/Index.md) The index type ##### i `number` The index value #### Returns `Date` *** ### isDateIndex() > **isDateIndex**(`index`): `boolean` Defined in: [Developer/brk/modules/brk-client/index.js:5850](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L5850) Check if an index type is date-based. #### Parameters ##### index [`Index`](../type-aliases/Index.md) #### Returns `boolean` *** ### listMetrics() > **listMetrics**(`page?`): `Promise`\<[`PaginatedMetrics`](../interfaces/PaginatedMetrics.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7422](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7422) Metrics list Paginated flat list of all available metric names. Use `page` query param for pagination. Endpoint: `GET /api/metrics/list` #### Parameters ##### page? `number` Pagination index #### Returns `Promise`\<[`PaginatedMetrics`](../interfaces/PaginatedMetrics.md)\> *** ### metric() > **metric**(`metric`, `index`): [`MetricEndpointBuilder`](../interfaces/MetricEndpointBuilder.md)\<`unknown`\> Defined in: [Developer/brk/modules/brk-client/index.js:7020](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7020) Create a dynamic metric endpoint builder for any metric/index combination. Use this for programmatic access when the metric name is determined at runtime. For type-safe access, use the `metrics` tree instead. #### Parameters ##### metric `string` The metric name ##### index [`Index`](../type-aliases/Index.md) The index name #### Returns [`MetricEndpointBuilder`](../interfaces/MetricEndpointBuilder.md)\<`unknown`\> *** ### searchMetrics() > **searchMetrics**(`metric`, `limit?`): `Promise`\<`string`[]\> Defined in: [Developer/brk/modules/brk-client/index.js:7441](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7441) Search metrics Fuzzy search for metrics by name. Supports partial matches and typos. Endpoint: `GET /api/metrics/search/{metric}` #### Parameters ##### metric `string` ##### limit? `number` #### Returns `Promise`\<`string`[]\> *** ### validateAddress() > **validateAddress**(`address`): `Promise`\<[`AddressValidation`](../interfaces/AddressValidation.md)\> Defined in: [Developer/brk/modules/brk-client/index.js:7810](https://github.com/bitcoinresearchkit/brk/blob/dc15cceb1ee5fd90210add64f487f8d2140ef45a/modules/brk-client/index.js#L7810) Validate address Validate a Bitcoin address and get information about its type and scriptPubKey. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-validate)* Endpoint: `GET /api/v1/validate-address/{address}` #### Parameters ##### address `string` Bitcoin address to validate (can be any string) #### Returns `Promise`\<[`AddressValidation`](../interfaces/AddressValidation.md)\>