# Bitcoin Transaction Fees and Mempool Tracker

> Bitcoin transaction fees in sat/vB for the next block, an hour or a day, with mempool size, a fee-rate histogram and the fees recent blocks really paid.

Markdown copy of https://voltfincrypto.com/apps/bitcoin-fees-mempool-tracker

**Question:** What fee rate does a Bitcoin transaction need right now to confirm?

- Kind: Dashboard in Voltfin Vantage
- Topic: [Bitcoin](https://voltfincrypto.com/topics/bitcoin)
- Chains: Bitcoin
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

The fee rate a Bitcoin transaction needs depends on how soon it must confirm and on what else is waiting, and this dashboard shows both: the rates that would confirm in the next block, within about an hour or within a day, beside the size of the mempool and the rates recent blocks actually included. Fees are paid in satoshis per virtual byte, and miners fill each block with the highest-paying transactions they see.

Estimates and the mempool are a node's view, not chain data, so the dashboard keeps them apart from what blocks paid. Each mempool figure names the node and the time it was sampled; each block figure is pinned to the block it was read from, with its hash. Read the two together to choose a fee rate, or to see whether a congested mempool is clearing.

## Blueprint

### Now

Fee rates to confirm now, the mempool's size and the queue by fee rate.

- **Next block** (sat/vB): The fee rate estimatesmartfee returns for confirmation in the next block, from the latest mempool sample.
- **Within an hour** (sat/vB): The fee rate estimated to confirm within six blocks, about an hour at the ten-minute target.
- **Within a day** (sat/vB): The fee rate estimated to confirm within 144 blocks, about a day at the ten-minute target.
- **Mempool size** (vMB): The virtual size of every transaction waiting in the sampled node's mempool, and how many blocks of space that would fill.
- **Waiting transactions by fee rate** (vMB): Waiting transactions grouped by ancestor fee rate, highest first, so the rate at which each block's worth of space is filled can be read off.
- **Recent blocks**: The latest blocks with their height, time, transaction count, median and lowest fee rates paid, total fees and how full each was by weight.

### History

What blocks paid and how full the mempool was over days and weeks.

- **Fees paid, last 24 hours** (BTC): Total fees paid in the blocks of the last 24 hours, the sum of each block's totalfee.
- **Fees paid in USD, last 24 hours** (USD): The same fees valued at the oracle BTC/USD price of the day's last block.
- **Fee rates paid by day** (sat/vB): The median fee rate paid each day, with the low and high percentiles, from every block's feerate_percentiles.
- **Mempool backlog** (vMB): The virtual size waiting in the mempool over the selected period, sampled every few minutes, with the minimum fee rate the node accepted.

Filters: Period (Last day, week or month).

## How it will be measured

- Mempool size, virtual bytes and the lowest fee rate a node accepts come from getmempoolinfo, sampled every few minutes and recorded with the node and the time of the sample.
- The fee-rate histogram groups every waiting transaction from getrawmempool by its ancestor fee rate, so a parent paid for by its child is counted the way a miner would rank it.
- Next-block, one-hour and one-day rates come from estimatesmartfee at targets of 1, 6 and 144 blocks and are checked against the fee rates the following blocks actually included.
- Paid fees are read for each block from getblockstats (feerate_percentiles, totalfee and total_weight) and pinned to the block's height and hash.

## Data it needs

- `bitcoin_mempool` (to build): Unconfirmed transactions waiting, their total size and the fee rates needed to confirm within one, three or six blocks, sampled every few minutes.
- `bitcoin_network_daily` (to build): Blocks, hashrate implied by difficulty, difficulty, fees, transaction counts, block weight and miner revenue (subsidy plus fees) per day.
- `chain_fees_daily` (to build): Fees paid per chain per day in the native token: base fee and priority fee percentiles, total fees, and the share burned where the chain burns fees.
- `native_prices_daily` (to build): Reference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
- Source: getmempoolinfo: size, bytes, total_fee and mempoolminfee, sampled every few minutes
- Source: getrawmempool (verbose): vsize and ancestor fees of every waiting transaction
- Source: estimatesmartfee at targets of 1, 6 and 144 blocks, in economical and conservative modes
- Source: getblockstats for each block: feerate_percentiles, totalfee, txs and total_weight
- Source: Chainlink BTC/USD on Ethereum at the same day's last block, for USD values

## Questions

### What is a sat/vB?

The fee rate unit Bitcoin wallets use: satoshis paid per virtual byte of transaction size. Virtual size counts witness data at a quarter of its weight, so a transaction's fee is its fee rate times its virtual size, and SegWit and Taproot spends cost less for the same work.

### How do I choose a Bitcoin fee rate?

Start from how soon the transaction must confirm. The next-block rate is what the top of the mempool pays now; the one-hour and one-day rates are lower when the queue is long and clears over time. If a transaction gets stuck, replace-by-fee or a child that pays for its parent can raise its rate.

### Why is my Bitcoin transaction not confirming?

Its fee rate is below what miners are currently including. Blocks have a fixed weight limit, so when more is waiting than fits, the lowest rates wait longest. A transaction below a node's minimum fee rate can also be dropped from that node's mempool, after which its coins can be spent again.

### What is the Bitcoin mempool?

Each node's list of valid transactions that are not yet in a block. There is no single mempool: nodes see slightly different sets and each has its own size limit and minimum fee rate, which is why every mempool figure here names the node it came from.

### Why do Bitcoin fees spike?

Fees rise when demand for block space outruns the space each block adds: a run of slow blocks, market moves that send coins to exchanges or waves of inscriptions and token mints. Blocks cannot grow, so the waiting set grows and the rate needed for the next block climbs.

## Glossary

- **Virtual byte (vB)**: A transaction's weight divided by four. Witness data weighs a quarter as much as other data, which is why fee rates are quoted per virtual byte.
- **Fee rate**: The fee a transaction pays divided by its virtual size, in satoshis per virtual byte. Miners rank transactions by fee rate, not by total fee.
- **Replace-by-fee (RBF)**: Broadcasting a new version of an unconfirmed transaction that spends the same inputs and pays a higher fee, so it replaces the old one in mempools.
- **Child pays for parent (CPFP)**: Spending an unconfirmed output with a high-fee child transaction, so that a miner includes the low-fee parent in order to collect the child's fee.

## Related apps

- [Bitcoin Security Budget: Fees vs Block Subsidy](https://voltfincrypto.com/apps/bitcoin-security-budget-fees-vs-subsidy)
- [Bitcoin Ordinals, Runes and BRC-20 Activity](https://voltfincrypto.com/apps/bitcoin-ordinals-runes-activity)
- [Bitcoin Daily Transactions, Active Addresses and Block Space](https://voltfincrypto.com/apps/bitcoin-transactions-active-addresses)
- [Blockchain Fees by Chain: Daily Totals](https://voltfincrypto.com/apps/blockchain-fees-by-chain)
- [Cheapest Blockchain Fees: Median Cost per Transaction](https://voltfincrypto.com/apps/cheapest-blockchain-fees)
- [Bitcoin Halving Countdown and Block Reward](https://voltfincrypto.com/apps/bitcoin-halving-countdown)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
