CodexGuild
io.github.bitcoinresearchkit/bitview·Games & fun

Bitview

Read-only Bitcoin blockchain, mempool, mining, market, and on-chain analytics; no API key.

Stars
177
Version
0.12.2
License
MIT
Review
Passed
Language
Rust
Last commit
21h ago
Forks
33
Open issues
1
Registry update
Sep 1, 2026
bitcoinbitcoin-apibitcoin-databitcoin-rustcryptocurrencyon-chain

Connect

remote
Terminal
$claude mcp add --transport http bitview https://mcp.bitview.space/

Headers

Nothing to configure — it works as is.

Security review

Review passed

Reviewed 4h ago.

tools
79 tools scanned
metadata
scanned

No findings.

Tools

79
  • get_address

    Retrieve address information including current 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)* REST operation: `GET /api/address/{address}`.

  • get_address_confirmed_txs

    Get the first 25 confirmed transactions for an address. For pagination, request `GET /api/address/{address}/txs/chain/{after_txid}` with the last returned txid. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions-chain)* REST operation: `GET /api/address/{address}/txs/chain`.

  • get_address_confirmed_txs_after

    Get the next 25 confirmed transactions strictly older than `after_txid` (Esplora-canonical pagination form, matches mempool.space). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions-chain)* REST operation: `GET /api/address/{address}/txs/chain/{after_txid}`.

  • get_address_hash_prefix_matches

    Find addresses by address type and by the first 1-16 hex nibbles of RapidHash v3 over the raw address payload bytes. Intended for privacy-preserving client-side wallet discovery without sending raw addresses or xpubs. Fetch metadata with `GET /api/address/{address}`. REST operation: `GET /api/address/hash-prefix/{addr_type}/{prefix}`.

  • get_address_mempool_txs

    Get unconfirmed transactions for an address from the mempool, newest first (up to 50). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions-mempool)* REST operation: `GET /api/address/{address}/txs/mempool`.

  • get_address_txs

    Get transaction history for an address, newest first. Returns up to 50 mempool transactions plus a confirmed page sized to fill the response to 50 total (chain floor of 25, so 25-50 confirmed depending on mempool weight). To paginate further confirmed history, request `GET /api/address/{address}/txs/chain/{after_txid}` with the last returned txid. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-address-transactions)* REST operation: `GET /api/address/{address}/txs`.

  • get_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)* REST operation: `GET /api/address/{address}/utxo`.

  • get_block

    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)* REST operation: `GET /api/block/{hash}`.

  • get_block_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)* REST operation: `GET /api/block-height/{height}`.

  • get_block_by_timestamp

    Find the block closest to a given UNIX timestamp. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-timestamp)* REST operation: `GET /api/v1/mining/blocks/timestamp/{timestamp}`.

  • get_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)* REST operation: `GET /api/v1/mining/blocks/fee-rates/{time_period}`.

  • get_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)* REST operation: `GET /api/v1/mining/blocks/fees/{time_period}`.

  • get_block_header

    Returns the hex-encoded 80-byte block header. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-header)* REST operation: `GET /api/block/{hash}/header`.

  • get_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)* REST operation: `GET /api/v1/mining/blocks/rewards/{time_period}`.

  • get_block_sizes_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)* REST operation: `GET /api/v1/mining/blocks/sizes-weights/{time_period}`.

  • get_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)* REST operation: `GET /api/block/{hash}/status`.

  • get_block_tip_hash

    Returns the hash of the last block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-tip-hash)* REST operation: `GET /api/blocks/tip/hash`.

  • get_block_tip_height

    Returns the height of the last block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-tip-height)* REST operation: `GET /api/blocks/tip/height`.

  • get_block_txid

    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)* REST operation: `GET /api/block/{hash}/txid/{index}`.

  • get_block_txs_from_index

    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)* REST operation: `GET /api/block/{hash}/txs/{start_index}`.

  • get_block_v1

    Returns block details with extras by hash. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-block-v1)* REST operation: `GET /api/v1/block/{hash}`.

  • get_blocks

    Retrieve the last 10 blocks. Returns block metadata for each block. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks)* REST operation: `GET /api/blocks`.

  • get_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)* REST operation: `GET /api/blocks/{height}`.

  • get_blocks_v1

    Retrieve the last 15 blocks with extended data including pool identification and fee statistics. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks-v1)* REST operation: `GET /api/v1/blocks`.

  • get_blocks_v1_from_height

    Retrieve up to 15 blocks with extended data going backwards from the given height. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-blocks-v1)* REST operation: `GET /api/v1/blocks/{height}`.

  • get_cpfp

    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)* REST operation: `GET /api/v1/cpfp/{txid}`.

  • get_difficulty_adjustment

    Get current difficulty adjustment progress and estimates. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-difficulty-adjustment)* REST operation: `GET /api/v1/difficulty-adjustment`.

  • get_difficulty_adjustments

    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)* REST operation: `GET /api/v1/mining/difficulty-adjustments`.

  • get_difficulty_adjustments_by_period

    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)* REST operation: `GET /api/v1/mining/difficulty-adjustments/{time_period}`.

  • get_fullrbf_replacements

    Same response shape as `GET /api/v1/replacements`, but limited to trees where at least one predecessor was non-signaling (full-RBF). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-fullrbf-replacements)* REST operation: `GET /api/v1/fullrbf/replacements`.

  • get_hashrate

    Get network hashrate and difficulty data for all time. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-hashrate)* REST operation: `GET /api/v1/mining/hashrate`.

  • get_hashrate_by_period

    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)* REST operation: `GET /api/v1/mining/hashrate/{time_period}`.

  • get_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)* REST operation: `GET /api/v1/historical-price`.

  • get_indexes

    Returns all available indexes with their accepted query aliases. Use any alias when querying series. REST operation: `GET /api/series/indexes`.

  • get_mempool

    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)* REST operation: `GET /api/mempool`.

  • get_mempool_blocks

    Projected blocks for fee estimation. Block 0 reflects Bitcoin Core's actual next-block selection; blocks 1+ are a fee-tier approximation. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-blocks-fees)* REST operation: `GET /api/v1/fees/mempool-blocks`.

  • get_mempool_hash

    Returns an opaque hash that changes whenever the projected next block changes. Same value as the mempool ETag. Useful as a freshness/liveness signal: if it stays constant for tens of seconds on a live network, the mempool sync loop has stalled. REST operation: `GET /api/mempool/hash`.

  • get_mempool_recent

    Get the last 10 transactions to enter the mempool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mempool-recent)* REST operation: `GET /api/mempool/recent`.

  • get_oracle_histogram_outputs

    Unfiltered output value histogram for a confirmed point. A block height (`840000`) gives every output in that block, coinbase included, binned by value on the oracle log scale; a calendar date (`YYYY-MM-DD`) sums every block that day. A flat array of log-scale bins. REST operation: `GET /api/oracle/histogram/outputs/{point}`.

  • get_oracle_histogram_outputs_live

    Live unfiltered output value histogram for the forming mempool block. Every live output is binned by value on the oracle log scale; no oracle payment filters are applied. A flat array of log-scale bins, all zero when no mempool is configured. REST operation: `GET /api/oracle/histogram/outputs/live`.

  • get_oracle_histogram_payments

    Smoothed histogram of oracle-eligible payment outputs for a confirmed point. A block height (`840000`) gives that block's oracle payment histogram; a calendar date (`YYYY-MM-DD`) gives the average of that day's per-block payment histograms. A flat array of log-scale bins. REST operation: `GET /api/oracle/histogram/payments/{point}`.

  • get_oracle_histogram_payments_live

    Live smoothed histogram of oracle-eligible payment outputs, binned by output value on the oracle log scale. It combines the committed oracle window with the forming mempool block. A flat array of log-scale bins. REST operation: `GET /api/oracle/histogram/payments/live`.

  • get_pool

    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)* REST operation: `GET /api/v1/mining/pool/{slug}`.

  • get_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)* REST operation: `GET /api/v1/mining/pool/{slug}/blocks`.

  • get_pool_blocks_from

    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)* REST operation: `GET /api/v1/mining/pool/{slug}/blocks/{height}`.

  • get_pool_hashrate

    Get hashrate history for a specific mining pool. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-hashrate)* REST operation: `GET /api/v1/mining/pool/{slug}/hashrate`.

  • get_pool_stats

    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)* REST operation: `GET /api/v1/mining/pools/{time_period}`.

  • get_pools

    Get list of all known mining pools with their identifiers. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pools)* REST operation: `GET /api/v1/mining/pools`.

  • get_pools_hashrate

    Get hashrate data for all mining pools. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-mining-pool-hashrates)* REST operation: `GET /api/v1/mining/hashrate/pools`.

  • get_pools_hashrate_by_period

    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)* REST operation: `GET /api/v1/mining/hashrate/pools/{time_period}`.

  • get_precise_fees

    Recommended fee rates by confirmation target, with up to three decimal places and support for sub-sat/vB rates. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-recommended-fees-precise)* REST operation: `GET /api/v1/fees/precise`.

  • get_prices

    Returns bitcoin latest price (on-chain derived, USD only). *[Mempool.space docs](https://mempool.space/docs/api/rest#get-price)* REST operation: `GET /api/v1/prices`.

  • get_replacements

    Returns up to 25 most-recent RBF replacement trees across the whole mempool. Each entry has the same shape as `tx_rbf().replacements`. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-replacements)* REST operation: `GET /api/v1/replacements`.

  • get_reward_stats

    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)* REST operation: `GET /api/v1/mining/reward-stats/{block_count}`.

  • get_series

    Fetch data for a specific series at the given index. Use query parameters to filter by date range and format (json/csv). REST operation: `GET /api/series/{series}/{index}`.

  • get_series_bulk

    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. REST operation: `GET /api/series/bulk`.

  • get_series_count

    Returns the number of series available per index type. REST operation: `GET /api/series/count`.

  • get_series_info

    Returns the optional description, supported indexes, and value type for the specified series. REST operation: `GET /api/series/{series}`.

  • get_series_latest

    Returns the single most recent value for a series, unwrapped (not inside a SeriesData object). REST operation: `GET /api/series/{series}/{index}/latest`.

  • get_series_len

    Returns the total number of data points for a series at the given index. REST operation: `GET /api/series/{series}/{index}/len`.

  • get_series_version

    Returns the current version of a series. Changes when the series data is updated. REST operation: `GET /api/series/{series}/{index}/version`.

  • get_sync_status

    Returns the sync status of the indexer, including indexed height, tip height, blocks behind, and last indexed timestamp. REST operation: `GET /api/server/sync`.

  • get_transaction_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)* REST operation: `GET /api/v1/transaction-times`.

  • get_tx

    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)* REST operation: `GET /api/tx/{txid}`.

  • get_tx_by_index

    Retrieve the transaction ID (txid) at a given global transaction index. Returns the txid as plain text. REST operation: `GET /api/tx-index/{index}`.

  • get_tx_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)* REST operation: `GET /api/tx/{txid}/hex`.

  • get_tx_merkle_proof

    Get the merkle inclusion proof for a transaction. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-merkle-proof)* REST operation: `GET /api/tx/{txid}/merkle-proof`.

  • get_tx_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)* REST operation: `GET /api/tx/{txid}/merkleblock-proof`.

  • get_tx_outspend

    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)* REST operation: `GET /api/tx/{txid}/outspend/{vout}`.

  • get_tx_outspends

    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)* REST operation: `GET /api/tx/{txid}/outspends`.

  • get_tx_rbf

    Returns the RBF replacement tree for a transaction, if any. Both `replacements` and `replaces` are null when the tx has no known RBF history within the mempool monitor's retention window. *[Mempool.space docs](https://mempool.space/docs/api/rest#get-transaction-rbf-history)* REST operation: `GET /api/v1/tx/{txid}/rbf`.

  • get_tx_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)* REST operation: `GET /api/tx/{txid}/status`.

  • get_urpd

    URPD for the most recent available date in the cohort. The response's `date` field echoes which date was served. Returns `{ cohort, date, weight, aggregation, close, total_supply, buckets }`. `close` and each bucket's `price_floor`, `realized_cap`, and `unrealized_pnl` are USD; `total_supply` and bucket `supply` are BTC. `unrealized_pnl` can be negative. REST operation: `GET /api/urpd/{cohort}`.

  • get_urpd_at

    URPD for a (cohort, date) pair. Returns `{ cohort, date, weight, aggregation, close, total_supply, buckets }` where each bucket is `{ price_floor, supply, realized_cap, unrealized_pnl }`. `close`, `price_floor`, `realized_cap`, and `unrealized_pnl` are USD; `total_supply` and `supply` are BTC. `unrealized_pnl` can be negative. REST operation: `GET /api/urpd/{cohort}/{date}`.

  • list_series

    Paginated flat list of all available series names. Use `page` query param for pagination. REST operation: `GET /api/series/list`.

  • list_urpd_cohorts

    Cohorts for which URPD data is available. Returns names like `all`, `sth`, `lth`, `utxos_under_1h_old`. REST operation: `GET /api/urpd`.

  • list_urpd_dates

    Dates for which a URPD snapshot is available for the cohort and selected `weight`. One entry per UTC day, sorted ascending. REST operation: `GET /api/urpd/{cohort}/dates`.

  • search_series

    Search series by name or descriptive terms. Matches metric names, descriptions, formulas, cohort aliases, partial words, and common typos. REST operation: `GET /api/series/search`.

  • 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)* REST operation: `GET /api/v1/validate-address/{address}`.

Bitview runner

bitview is the composition-agnostic daemon runtime for a statically typed Bitview plugin set. It owns bootstrap, updates, mempool tracking, queries, and HTTP serving, but it does not parse process arguments, read configuration files, install signal handlers, initialize logging, or select an official composition.

Applications pass a resolved Config, an exit state, and their composition's import function to bitview::run.

The runner is designed for one long-lived instance per process. Its query view and process-wide services intentionally live until process exit; it is not a start-stop or multi-instance application server.

The full-api feature enables every optional API group (chain, series, and urpd) without selecting a plugin composition.

The official daemon is provided by bitviewd. A complete custom composition is available in the repository's examples/custom_plugin package.

License

MIT

From the server's repository — third-party content, read it before running anything it suggests.

More in Games & fun

Listing from the official MCP Registry · repository facts from GitHub, 21h ago.