---
title: Mempool weather (Labs)
summary: A plain-language fee forecast built from our own node's mempool and blocks, with its own track record. Experimental.
published: 2026-10-08
updated: 2026-10-08
---
## In one sentence

Where the next-block fee sits against the last week, which way it is moving, what is filling the mempool, and what the fee is likely to be in 6 and 24 hours, worked out from the hour-of-the-week pattern plus today's difference from it fading back to normal.

## Right now

- **Next-block fee**: the median fee rate of the block our node would build next, recorded every 5 minutes.
- **Condition**: where that fee ranks among every 5-minute reading of the last 7 days. **Calm** is at or below the 25th percentile, **Normal** up to the 75th, **Busy** up to the 95th, **Stormy** above it. "Higher than 82% of the last week" means 82% of those readings were lower. The fee is always shown next to the word.
- **Trend**: "rising" or "easing" when the next-block fee has moved more than 15% over the last hour (or, if the hour is flat, the last three hours); otherwise "steady". The backlog gets the same test: "growing", "shrinking" or "holding steady".
- **Backlog depth**: what is waiting, divided by 1,000,000 vB (one block), and about 10 minutes a block. This assumes nothing new arrives, which is never true; it is a measure of size, not a schedule.
- **What's driving it**: each kind of transaction's share of what is waiting (ordinary payments, inscriptions, BRC-20, runes, Alkanes), from our node's own classification. A rune mint counts as a **mint wave in progress** when it is minting at 50 or more a block and is within a day (144 blocks) of minting out or closing.

## The outlook

The outlook uses the same measure as [Cheapest times to send](/methodology/fee-times): the **10th percentile** of each block's exact fee rates, "the rate that reliably got in".

- **Baseline**: for each hour of the week, the median of that figure over the blocks of the last four weeks (in UTC, so the forecast is the same for every viewer; only the labels are in your time zone).
- **Now**: the median of that figure over the blocks mined in the last hour (the last three blocks if the hour had none). This is deliberately not the next-block fee, which is a median of a whole projected block and runs higher; mixing the two would leave a difference that never fades.
- **Forecast for h hours ahead**: `baseline(that hour) + (now - baseline(this hour)) * exp(-h / tau)`. Today's difference from normal fades away, and the hour-of-week pattern takes over.
- **tau** is fitted from the stored history once a day: for every pair of hours 1 to 24 hours apart, how much of a difference from the baseline was still there later; the value of tau (from 0.5 to 48 hours) with the smallest squared error wins. The half-life quoted on the card is tau times 0.69. With under three days of blocks, a default of 6 hours is used and the card says so.
- The forecast's condition word ranks its fee against the last 7 days of hourly figures, the same way the current condition is ranked.
- **Usually cheapest** is the cheapest hour of the week in the four-week pattern, on your clock.

## Fee hindsight

For every hour of the last 7 days: the median 10th-percentile fee of the blocks mined in it, the cheapest and dearest of those hours, and what a typical transaction would have cost at each, in sats and, when the dashboard has a BTC price, US dollars. The typical sizes are round, representative figures: a Taproot payment with one input and two outputs (154 vB), the reveal of about 1 KB of inscription content (370 vB; bigger files cost more), and a plain rune mint (135 vB).

## Its own track record

Every hour the dashboard logs its 6-hour and 24-hour forecasts. Once the target hour is over and its blocks are in, each is scored against what happened in that hour: was the condition word right, and how far off was the fee? The card shows the share of condition words that were right over the last 7 and 30 days, with the number of forecasts behind it. An hour in which no block was mined is left out. Forecasts that were never logged (the dashboard was off) are never filled in afterwards.

## Known limits

- The mempool readings are kept for 7 days and block figures for about 31 days, so the hour-of-week pattern has about four samples per slot; a single fee spike can move one.
- When fees stay high for days, part of that is absorbed into the four-week baseline, so the fitted tau comes out shorter than the true fade. It is still the best value for this baseline, which is the one the forecast uses.
- Bitcoin Core 31.1 (cluster mempool) changes how the mempool reports ancestor fees. Until the figures have been re-checked after that upgrade, the card says so in a one-line note.
- This is a Labs experiment: a pattern from the last few weeks, not a promise. Nothing here is advice about a particular transaction.
