# Table of Contents * [brk\_client](#brk_client) * [BrkError](#brk_client.BrkError) * [BrkClient](#brk_client.BrkClient) * [VERSION](#brk_client.BrkClient.VERSION) * [INDEXES](#brk_client.BrkClient.INDEXES) * [POOL\_ID\_TO\_POOL\_NAME](#brk_client.BrkClient.POOL_ID_TO_POOL_NAME) * [TERM\_NAMES](#brk_client.BrkClient.TERM_NAMES) * [EPOCH\_NAMES](#brk_client.BrkClient.EPOCH_NAMES) * [CLASS\_NAMES](#brk_client.BrkClient.CLASS_NAMES) * [SPENDABLE\_TYPE\_NAMES](#brk_client.BrkClient.SPENDABLE_TYPE_NAMES) * [AGE\_RANGE\_NAMES](#brk_client.BrkClient.AGE_RANGE_NAMES) * [UNDER\_AGE\_NAMES](#brk_client.BrkClient.UNDER_AGE_NAMES) * [OVER\_AGE\_NAMES](#brk_client.BrkClient.OVER_AGE_NAMES) * [AMOUNT\_RANGE\_NAMES](#brk_client.BrkClient.AMOUNT_RANGE_NAMES) * [OVER\_AMOUNT\_NAMES](#brk_client.BrkClient.OVER_AMOUNT_NAMES) * [UNDER\_AMOUNT\_NAMES](#brk_client.BrkClient.UNDER_AMOUNT_NAMES) * [PROFITABILITY\_RANGE\_NAMES](#brk_client.BrkClient.PROFITABILITY_RANGE_NAMES) * [PROFIT\_NAMES](#brk_client.BrkClient.PROFIT_NAMES) * [LOSS\_NAMES](#brk_client.BrkClient.LOSS_NAMES) * [\_\_init\_\_](#brk_client.BrkClient.__init__) * [series\_endpoint](#brk_client.BrkClient.series_endpoint) * [index\_to\_date](#brk_client.BrkClient.index_to_date) * [date\_to\_index](#brk_client.BrkClient.date_to_index) * [get\_api](#brk_client.BrkClient.get_api) * [get\_address](#brk_client.BrkClient.get_address) * [get\_address\_txs](#brk_client.BrkClient.get_address_txs) * [get\_address\_confirmed\_txs](#brk_client.BrkClient.get_address_confirmed_txs) * [get\_address\_mempool\_txs](#brk_client.BrkClient.get_address_mempool_txs) * [get\_address\_utxos](#brk_client.BrkClient.get_address_utxos) * [get\_block\_by\_height](#brk_client.BrkClient.get_block_by_height) * [get\_block](#brk_client.BrkClient.get_block) * [get\_block\_header](#brk_client.BrkClient.get_block_header) * [get\_block\_raw](#brk_client.BrkClient.get_block_raw) * [get\_block\_status](#brk_client.BrkClient.get_block_status) * [get\_block\_txid](#brk_client.BrkClient.get_block_txid) * [get\_block\_txids](#brk_client.BrkClient.get_block_txids) * [get\_block\_txs](#brk_client.BrkClient.get_block_txs) * [get\_block\_txs\_from\_index](#brk_client.BrkClient.get_block_txs_from_index) * [get\_blocks](#brk_client.BrkClient.get_blocks) * [get\_block\_tip\_hash](#brk_client.BrkClient.get_block_tip_hash) * [get\_block\_tip\_height](#brk_client.BrkClient.get_block_tip_height) * [get\_blocks\_from\_height](#brk_client.BrkClient.get_blocks_from_height) * [get\_mempool](#brk_client.BrkClient.get_mempool) * [get\_live\_price](#brk_client.BrkClient.get_live_price) * [get\_mempool\_recent](#brk_client.BrkClient.get_mempool_recent) * [get\_mempool\_txids](#brk_client.BrkClient.get_mempool_txids) * [get\_series\_tree](#brk_client.BrkClient.get_series_tree) * [get\_series\_bulk](#brk_client.BrkClient.get_series_bulk) * [get\_cost\_basis\_cohorts](#brk_client.BrkClient.get_cost_basis_cohorts) * [get\_cost\_basis\_dates](#brk_client.BrkClient.get_cost_basis_dates) * [get\_cost\_basis](#brk_client.BrkClient.get_cost_basis) * [get\_series\_count](#brk_client.BrkClient.get_series_count) * [get\_indexes](#brk_client.BrkClient.get_indexes) * [list\_series](#brk_client.BrkClient.list_series) * [search\_series](#brk_client.BrkClient.search_series) * [get\_series\_info](#brk_client.BrkClient.get_series_info) * [get\_series](#brk_client.BrkClient.get_series) * [get\_series\_data](#brk_client.BrkClient.get_series_data) * [get\_series\_latest](#brk_client.BrkClient.get_series_latest) * [get\_series\_len](#brk_client.BrkClient.get_series_len) * [get\_series\_version](#brk_client.BrkClient.get_series_version) * [get\_disk\_usage](#brk_client.BrkClient.get_disk_usage) * [get\_sync\_status](#brk_client.BrkClient.get_sync_status) * [get\_tx](#brk_client.BrkClient.get_tx) * [get\_tx\_hex](#brk_client.BrkClient.get_tx_hex) * [get\_tx\_merkle\_proof](#brk_client.BrkClient.get_tx_merkle_proof) * [get\_tx\_merkleblock\_proof](#brk_client.BrkClient.get_tx_merkleblock_proof) * [get\_tx\_outspend](#brk_client.BrkClient.get_tx_outspend) * [get\_tx\_outspends](#brk_client.BrkClient.get_tx_outspends) * [get\_tx\_raw](#brk_client.BrkClient.get_tx_raw) * [get\_tx\_status](#brk_client.BrkClient.get_tx_status) * [get\_block\_v1](#brk_client.BrkClient.get_block_v1) * [get\_blocks\_v1](#brk_client.BrkClient.get_blocks_v1) * [get\_blocks\_v1\_from\_height](#brk_client.BrkClient.get_blocks_v1_from_height) * [get\_cpfp](#brk_client.BrkClient.get_cpfp) * [get\_difficulty\_adjustment](#brk_client.BrkClient.get_difficulty_adjustment) * [get\_mempool\_blocks](#brk_client.BrkClient.get_mempool_blocks) * [get\_precise\_fees](#brk_client.BrkClient.get_precise_fees) * [get\_recommended\_fees](#brk_client.BrkClient.get_recommended_fees) * [get\_historical\_price](#brk_client.BrkClient.get_historical_price) * [get\_block\_fee\_rates](#brk_client.BrkClient.get_block_fee_rates) * [get\_block\_fees](#brk_client.BrkClient.get_block_fees) * [get\_block\_rewards](#brk_client.BrkClient.get_block_rewards) * [get\_block\_sizes\_weights](#brk_client.BrkClient.get_block_sizes_weights) * [get\_block\_by\_timestamp](#brk_client.BrkClient.get_block_by_timestamp) * [get\_difficulty\_adjustments](#brk_client.BrkClient.get_difficulty_adjustments) * [get\_difficulty\_adjustments\_by\_period](#brk_client.BrkClient.get_difficulty_adjustments_by_period) * [get\_hashrate](#brk_client.BrkClient.get_hashrate) * [get\_pools\_hashrate](#brk_client.BrkClient.get_pools_hashrate) * [get\_pools\_hashrate\_by\_period](#brk_client.BrkClient.get_pools_hashrate_by_period) * [get\_hashrate\_by\_period](#brk_client.BrkClient.get_hashrate_by_period) * [get\_pool](#brk_client.BrkClient.get_pool) * [get\_pool\_blocks](#brk_client.BrkClient.get_pool_blocks) * [get\_pool\_blocks\_from](#brk_client.BrkClient.get_pool_blocks_from) * [get\_pool\_hashrate](#brk_client.BrkClient.get_pool_hashrate) * [get\_pools](#brk_client.BrkClient.get_pools) * [get\_pool\_stats](#brk_client.BrkClient.get_pool_stats) * [get\_reward\_stats](#brk_client.BrkClient.get_reward_stats) * [get\_prices](#brk_client.BrkClient.get_prices) * [get\_transaction\_times](#brk_client.BrkClient.get_transaction_times) * [validate\_address](#brk_client.BrkClient.validate_address) * [get\_health](#brk_client.BrkClient.get_health) * [get\_openapi](#brk_client.BrkClient.get_openapi) * [get\_version](#brk_client.BrkClient.get_version) # brk\_client ## BrkError Objects ```python class BrkError(Exception) ``` Custom error class for BRK client errors. ## BrkClient Objects ```python class BrkClient(BrkClientBase) ``` Main BRK client with series tree and API methods. #### VERSION #### INDEXES #### POOL\_ID\_TO\_POOL\_NAME #### TERM\_NAMES #### EPOCH\_NAMES #### CLASS\_NAMES #### SPENDABLE\_TYPE\_NAMES #### AGE\_RANGE\_NAMES #### UNDER\_AGE\_NAMES #### OVER\_AGE\_NAMES #### AMOUNT\_RANGE\_NAMES #### OVER\_AMOUNT\_NAMES #### UNDER\_AMOUNT\_NAMES #### PROFITABILITY\_RANGE\_NAMES #### PROFIT\_NAMES #### LOSS\_NAMES #### \_\_init\_\_ ```python def __init__(base_url: str = 'http://localhost:3000', timeout: float = 30.0) ``` #### series\_endpoint ```python def series_endpoint(series: str, index: Index) -> SeriesEndpoint[Any] ``` Create a dynamic series endpoint builder for any series/index combination. Use this for programmatic access when the series name is determined at runtime. For type-safe access, use the `series` tree instead. #### index\_to\_date ```python def index_to_date(index: Index, i: int) -> Union[date, datetime] ``` Convert an index value to a date/datetime for date-based indexes. #### date\_to\_index ```python def date_to_index(index: Index, d: Union[date, datetime]) -> int ``` Convert a date/datetime to an index value for date-based indexes. #### get\_api ```python def get_api() -> str ``` 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` #### get\_address ```python def get_address(address: Addr) -> AddrStats ``` 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}` #### get\_address\_txs ```python def get_address_txs(address: Addr, after_txid: Optional[Txid] = None) -> List[Transaction] ``` Address transactions. Get transaction history for an address, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. Use ?after_txid= for pagination. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions)* Endpoint: `GET /api/address/{address}/txs` #### get\_address\_confirmed\_txs ```python def get_address_confirmed_txs(address: Addr, after_txid: Optional[Txid] = None ) -> List[Transaction] ``` Address confirmed transactions. Get confirmed transactions 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` #### get\_address\_mempool\_txs ```python def get_address_mempool_txs(address: Addr) -> List[Txid] ``` 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` #### get\_address\_utxos ```python def get_address_utxos(address: Addr) -> List[Utxo] ``` 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` #### get\_block\_by\_height ```python def get_block_by_height(height: Height) -> str ``` Block hash by height. Retrieve the block hash at a given height. Returns the hash as plain text. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-height)* Endpoint: `GET /api/block-height/{height}` #### get\_block ```python def get_block(hash: BlockHash) -> BlockInfo ``` 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}` #### get\_block\_header ```python def get_block_header(hash: BlockHash) -> str ``` Block header. Returns the hex-encoded 80-byte block header. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-header)* Endpoint: `GET /api/block/{hash}/header` #### get\_block\_raw ```python def get_block_raw(hash: BlockHash) -> str ``` 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` #### get\_block\_status ```python def get_block_status(hash: BlockHash) -> BlockStatus ``` 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` #### get\_block\_txid ```python def get_block_txid(hash: BlockHash, index: TxIndex) -> str ``` 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}` #### get\_block\_txids ```python def get_block_txids(hash: BlockHash) -> List[Txid] ``` 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` #### get\_block\_txs ```python def get_block_txs(hash: BlockHash) -> List[Transaction] ``` Block transactions. Retrieve transactions in a block by block hash. Returns up to 25 transactions starting from index 0. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-transactions)* Endpoint: `GET /api/block/{hash}/txs` #### get\_block\_txs\_from\_index ```python def get_block_txs_from_index(hash: BlockHash, start_index: TxIndex) -> List[Transaction] ``` 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}` #### get\_blocks ```python def get_blocks() -> List[BlockInfo] ``` 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` #### get\_block\_tip\_hash ```python def get_block_tip_hash() -> str ``` Block tip hash. Returns the hash of the last block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-tip-hash)* Endpoint: `GET /api/blocks/tip/hash` #### get\_block\_tip\_height ```python def get_block_tip_height() -> str ``` Block tip height. Returns the height of the last block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-tip-height)* Endpoint: `GET /api/blocks/tip/height` #### get\_blocks\_from\_height ```python def get_blocks_from_height(height: Height) -> List[BlockInfo] ``` 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}` #### get\_mempool ```python def get_mempool() -> MempoolInfo ``` Mempool statistics. Get current mempool statistics including transaction count, total vsize, total fees, and fee histogram. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool)* Endpoint: `GET /api/mempool` #### get\_live\_price ```python def get_live_price() -> Dollars ``` Live BTC/USD price. Returns the current BTC/USD price in dollars, derived from on-chain round-dollar output patterns in the last 12 blocks plus mempool. Endpoint: `GET /api/mempool/price` #### get\_mempool\_recent ```python def get_mempool_recent() -> List[MempoolRecentTx] ``` Recent mempool transactions. Get the last 10 transactions to enter the mempool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-recent)* Endpoint: `GET /api/mempool/recent` #### get\_mempool\_txids ```python def get_mempool_txids() -> List[Txid] ``` 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` #### get\_series\_tree ```python def get_series_tree() -> TreeNode ``` Series catalog. Returns the complete hierarchical catalog of available series organized as a tree structure. Series are grouped by categories and subcategories. Endpoint: `GET /api/series` #### get\_series\_bulk ```python def get_series_bulk( series: SeriesList, index: Index, start: Optional[RangeIndex] = None, end: Optional[RangeIndex] = None, limit: Optional[Limit] = None, format: Optional[Format] = None) -> Union[List[AnySeriesData], str] ``` Bulk series data. Fetch multiple series in a single request. Supports filtering by index and date range. Returns an array of SeriesData objects. For a single series, use `get_series` instead. Endpoint: `GET /api/series/bulk` #### get\_cost\_basis\_cohorts ```python def get_cost_basis_cohorts() -> List[str] ``` Available cost basis cohorts. List available cohorts for cost basis distribution. Endpoint: `GET /api/series/cost-basis` #### get\_cost\_basis\_dates ```python def get_cost_basis_dates(cohort: Cohort) -> List[Date] ``` Available cost basis dates. List available dates for a cohort's cost basis distribution. Endpoint: `GET /api/series/cost-basis/{cohort}/dates` #### get\_cost\_basis ```python def get_cost_basis(cohort: Cohort, date: str, bucket: Optional[CostBasisBucket] = None, value: Optional[CostBasisValue] = None) -> dict ``` Cost basis distribution. Get the cost basis distribution for a cohort on a specific date. Query params: - `bucket`: raw (default), lin200, lin500, lin1000, log10, log50, log100 - `value`: supply (default, in BTC), realized (USD), unrealized (USD) Endpoint: `GET /api/series/cost-basis/{cohort}/{date}` #### get\_series\_count ```python def get_series_count() -> List[SeriesCount] ``` Series count. Returns the number of series available per index type. Endpoint: `GET /api/series/count` #### get\_indexes ```python def get_indexes() -> List[IndexInfo] ``` List available indexes. Returns all available indexes with their accepted query aliases. Use any alias when querying series. Endpoint: `GET /api/series/indexes` #### list\_series ```python def list_series(page: Optional[float] = None, per_page: Optional[float] = None) -> PaginatedSeries ``` Series list. Paginated flat list of all available series names. Use `page` query param for pagination. Endpoint: `GET /api/series/list` #### search\_series ```python def search_series(q: SeriesName, limit: Optional[Limit] = None) -> List[str] ``` Search series. Fuzzy search for series by name. Supports partial matches and typos. Endpoint: `GET /api/series/search` #### get\_series\_info ```python def get_series_info(series: SeriesName) -> SeriesInfo ``` Get series info. Returns the supported indexes and value type for the specified series. Endpoint: `GET /api/series/{series}` #### get\_series ```python def get_series(series: SeriesName, index: Index, start: Optional[RangeIndex] = None, end: Optional[RangeIndex] = None, limit: Optional[Limit] = None, format: Optional[Format] = None) -> Union[AnySeriesData, str] ``` Get series data. Fetch data for a specific series at the given index. Use query parameters to filter by date range and format (json/csv). Endpoint: `GET /api/series/{series}/{index}` #### get\_series\_data ```python def get_series_data(series: SeriesName, index: Index, start: Optional[RangeIndex] = None, end: Optional[RangeIndex] = None, limit: Optional[Limit] = None, format: Optional[Format] = None) -> Union[List[bool], str] ``` Get raw series data. Returns just the data array without the SeriesData wrapper. Supports the same range and format parameters as the standard endpoint. Endpoint: `GET /api/series/{series}/{index}/data` #### get\_series\_latest ```python def get_series_latest(series: SeriesName, index: Index) -> str ``` Get latest series value. Returns the single most recent value for a series, unwrapped (not inside a SeriesData object). Endpoint: `GET /api/series/{series}/{index}/latest` #### get\_series\_len ```python def get_series_len(series: SeriesName, index: Index) -> float ``` Get series data length. Returns the total number of data points for a series at the given index. Endpoint: `GET /api/series/{series}/{index}/len` #### get\_series\_version ```python def get_series_version(series: SeriesName, index: Index) -> Version ``` Get series version. Returns the current version of a series. Changes when the series data is updated. Endpoint: `GET /api/series/{series}/{index}/version` #### get\_disk\_usage ```python def get_disk_usage() -> DiskUsage ``` Disk usage. Returns the disk space used by BRK and Bitcoin data. Endpoint: `GET /api/server/disk` #### get\_sync\_status ```python def get_sync_status() -> SyncStatus ``` 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` #### get\_tx ```python def get_tx(txid: Txid) -> Transaction ``` 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}` #### get\_tx\_hex ```python def get_tx_hex(txid: Txid) -> str ``` 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` #### get\_tx\_merkle\_proof ```python def get_tx_merkle_proof(txid: Txid) -> MerkleProof ``` Transaction merkle proof. Get the merkle inclusion proof for a transaction. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-merkle-proof)* Endpoint: `GET /api/tx/{txid}/merkle-proof` #### get\_tx\_merkleblock\_proof ```python def get_tx_merkleblock_proof(txid: Txid) -> str ``` Transaction merkleblock proof. Get the merkleblock proof for a transaction (BIP37 format, hex encoded). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-merkleblock-proof)* Endpoint: `GET /api/tx/{txid}/merkleblock-proof` #### get\_tx\_outspend ```python def get_tx_outspend(txid: Txid, vout: Vout) -> TxOutspend ``` 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}` #### get\_tx\_outspends ```python def get_tx_outspends(txid: Txid) -> List[TxOutspend] ``` 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` #### get\_tx\_raw ```python def get_tx_raw(txid: Txid) -> str ``` Transaction raw. Returns a transaction as binary data. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-raw)* Endpoint: `GET /api/tx/{txid}/raw` #### get\_tx\_status ```python def get_tx_status(txid: Txid) -> TxStatus ``` 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` #### get\_block\_v1 ```python def get_block_v1(hash: BlockHash) -> BlockInfoV1 ``` Block (v1). Returns block details with extras by hash. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-v1)* Endpoint: `GET /api/v1/block/{hash}` #### get\_blocks\_v1 ```python def get_blocks_v1() -> List[BlockInfoV1] ``` Recent blocks with extras. Retrieve the last 10 blocks with extended data including pool identification and fee statistics. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks-v1)* Endpoint: `GET /api/v1/blocks` #### get\_blocks\_v1\_from\_height ```python def get_blocks_v1_from_height(height: Height) -> List[BlockInfoV1] ``` Blocks from height with extras. Retrieve up to 10 blocks with extended data going backwards from the given height. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks-v1)* Endpoint: `GET /api/v1/blocks/{height}` #### get\_cpfp ```python def get_cpfp(txid: Txid) -> CpfpInfo ``` CPFP info. Returns ancestors and descendants for a CPFP (Child Pays For Parent) transaction, including the effective fee rate of the package. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-children-pay-for-parent)* Endpoint: `GET /api/v1/cpfp/{txid}` #### get\_difficulty\_adjustment ```python def get_difficulty_adjustment() -> DifficultyAdjustment ``` Difficulty adjustment. Get current difficulty adjustment progress and estimates. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-difficulty-adjustment)* Endpoint: `GET /api/v1/difficulty-adjustment` #### get\_mempool\_blocks ```python def get_mempool_blocks() -> List[MempoolBlock] ``` Projected mempool blocks. Get projected blocks from the mempool for fee estimation. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-blocks-fees)* Endpoint: `GET /api/v1/fees/mempool-blocks` #### get\_precise\_fees ```python def get_precise_fees() -> RecommendedFees ``` Precise recommended fees. Get recommended fee rates with up to 3 decimal places. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-recommended-fees-precise)* Endpoint: `GET /api/v1/fees/precise` #### get\_recommended\_fees ```python def get_recommended_fees() -> RecommendedFees ``` Recommended fees. Get recommended fee rates for different confirmation targets. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-recommended-fees)* Endpoint: `GET /api/v1/fees/recommended` #### get\_historical\_price ```python def get_historical_price( timestamp: Optional[Timestamp] = None) -> HistoricalPrice ``` Historical price. Get historical BTC/USD price. Optionally specify a UNIX timestamp to get the price at that time. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-historical-price)* Endpoint: `GET /api/v1/historical-price` #### get\_block\_fee\_rates ```python def get_block_fee_rates(time_period: TimePeriod) -> List[BlockFeeRatesEntry] ``` Block fee rates. 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}` #### get\_block\_fees ```python def get_block_fees(time_period: TimePeriod) -> List[BlockFeesEntry] ``` Block fees. Get average total fees per block 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}` #### get\_block\_rewards ```python def get_block_rewards(time_period: TimePeriod) -> List[BlockRewardsEntry] ``` Block rewards. Get average coinbase reward (subsidy + fees) per block 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}` #### get\_block\_sizes\_weights ```python def get_block_sizes_weights(time_period: TimePeriod) -> BlockSizesWeights ``` 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}` #### get\_block\_by\_timestamp ```python def get_block_by_timestamp(timestamp: Timestamp) -> BlockTimestamp ``` 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}` #### get\_difficulty\_adjustments ```python def get_difficulty_adjustments() -> List[DifficultyAdjustmentEntry] ``` 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` #### get\_difficulty\_adjustments\_by\_period ```python def get_difficulty_adjustments_by_period( time_period: TimePeriod) -> List[DifficultyAdjustmentEntry] ``` 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}` #### get\_hashrate ```python def get_hashrate() -> HashrateSummary ``` 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` #### get\_pools\_hashrate ```python def get_pools_hashrate() -> List[PoolHashrateEntry] ``` All pools hashrate (all time). Get hashrate data for all mining pools. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-hashrates)* Endpoint: `GET /api/v1/mining/hashrate/pools` #### get\_pools\_hashrate\_by\_period ```python def get_pools_hashrate_by_period( time_period: TimePeriod) -> List[PoolHashrateEntry] ``` All pools hashrate. Get hashrate data for all mining pools for a time period. Valid periods: `1m`, `3m`, `6m`, `1y`, `2y`, `3y`. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-hashrates)* Endpoint: `GET /api/v1/mining/hashrate/pools/{time_period}` #### get\_hashrate\_by\_period ```python def get_hashrate_by_period(time_period: TimePeriod) -> HashrateSummary ``` 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}` #### get\_pool ```python def get_pool(slug: PoolSlug) -> PoolDetail ``` 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}` #### get\_pool\_blocks ```python def get_pool_blocks(slug: PoolSlug) -> List[BlockInfoV1] ``` Mining pool blocks. Get the 10 most recent blocks mined by a specific pool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-blocks)* Endpoint: `GET /api/v1/mining/pool/{slug}/blocks` #### get\_pool\_blocks\_from ```python def get_pool_blocks_from(slug: PoolSlug, height: Height) -> List[BlockInfoV1] ``` Mining pool blocks from height. Get 10 blocks mined by a specific pool before (and including) the given height. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-blocks)* Endpoint: `GET /api/v1/mining/pool/{slug}/blocks/{height}` #### get\_pool\_hashrate ```python def get_pool_hashrate(slug: PoolSlug) -> List[PoolHashrateEntry] ``` Mining pool hashrate. Get hashrate history for a specific mining pool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-hashrate)* Endpoint: `GET /api/v1/mining/pool/{slug}/hashrate` #### get\_pools ```python def get_pools() -> List[PoolInfo] ``` 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` #### get\_pool\_stats ```python def get_pool_stats(time_period: TimePeriod) -> PoolsSummary ``` 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}` #### get\_reward\_stats ```python def get_reward_stats(block_count: float) -> RewardStats ``` 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}` #### get\_prices ```python def get_prices() -> Prices ``` Current BTC price. Returns bitcoin latest price (on-chain derived, USD only). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-price)* Endpoint: `GET /api/v1/prices` #### get\_transaction\_times ```python def get_transaction_times() -> List[float] ``` Transaction first-seen times. Returns timestamps when transactions were first seen in the mempool. Returns 0 for mined or unknown transactions. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-times)* Endpoint: `GET /api/v1/transaction-times` #### validate\_address ```python def validate_address(address: str) -> AddrValidation ``` Validate address. Validate a Bitcoin address and get information about its type and scriptPubKey. Returns `isvalid: false` with an error message for invalid addresses. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-validate)* Endpoint: `GET /api/v1/validate-address/{address}` #### get\_health ```python def get_health() -> Health ``` Health check. Returns the health status of the API server, including uptime information. Endpoint: `GET /health` #### get\_openapi ```python def get_openapi() -> str ``` OpenAPI specification. Full OpenAPI 3.1 specification for this API. Endpoint: `GET /openapi.json` #### get\_version ```python def get_version() -> str ``` API version. Returns the current version of the API server Endpoint: `GET /version`