Skip to main content

Bitcoin Mempool Fee Spikes: What Developers Need to Know

· 2 min read
OverBlock Team
OverBlock Engineering

Bitcoin mempool fees are not predictable. During normal periods, a 10 sat/vB transaction confirms in minutes. During Ordinals inscriptions, market volatility, or halving events, the same rate may sit unconfirmed for hours.

What causes fee spikes

Several recurring triggers drive mempool congestion:

Ordinals/Runes inscriptions - large inscription batches compete for block space and push the mempool fee threshold up dramatically. These appear with little warning and can collapse just as quickly.

Market volatility - during rapid price moves, exchange deposit and withdrawal traffic surges simultaneously. The mempool fills faster than blocks can clear it.

Weekend vs weekday patterns - Bitcoin transaction volume is consistently lower on weekends. Economy tier fees drop to 1-3 sat/vB. Missing this pattern means systematically overpaying during low-traffic periods.

Why a single data source is not enough

Different mempool APIs implement estimation differently. mempool.space uses a histogram-based approach. Other providers use different lookback windows and smoothing algorithms.

During a spike, these providers can diverge by 20-50 sat/vB. If your wallet uses one provider that is slow to update, you are showing users a rate that is already stale.

Multi-source aggregation with a short refresh interval (10-30 seconds) is the production approach.

SSE vs polling

Polling on a 60-second interval is too slow during congestion - fees can double in under 60 seconds during a spike. SSE (Server-Sent Events) pushes updates to your client as they happen, without a polling loop.

const es = new EventSource('https://api.overblock.io/bitcoin-fees/fees/stream', {
headers: { 'X-API-Key': 'your-token' }
});

es.addEventListener('fees', (event) => {
const { fast, medium, slow } = JSON.parse(event.data);
updateFeeDisplay(fast, medium, slow);
});

bitcoin-fees-advisor provides this SSE feed with multi-source aggregation and a 10-30 second refresh interval.

→ Related: Bitcoin Fee Estimation for Developers