What is the mempool, and why is your transaction sitting in it?

Your transaction isn't broken, it's outbid. What the mempool is, how long a pending BTC send can wait, and the three ways to unstick it.

What is the mempool, and why is your transaction sitting in it?

The mempool is the waiting room for Bitcoin transactions that have been broadcast but not yet included in a block. Your transaction is sitting there because blocks have a hard capacity limit — 4 million weight units — and miners fill that space with the highest-paying transactions first. Nothing is broken, nothing is lost, and your coins haven't left your control. This guide covers what decides your place in the queue, how long a transaction can wait, and the three things you can do about it.

Last updated: August 2026

What is the mempool?

The mempool — short for memory pool — is, in mempool.space's words, "the queue of pending and unconfirmed transactions for a cryptocurrency network node." A transaction enters when nodes accept it as valid, and leaves when a miner puts it in a block.

Here's the part most explainers skip: there is no single mempool. Coldcard describes it as "a holding area maintained by each node" — every node keeps its own. There are as many mempools as there are nodes, each with slightly different contents depending on what reached it and what policy it runs. Coldcard notes that "well-connected nodes converge quickly and contain largely the same transactions," which is why explorers usually agree.

Usually. When they don't, that's the explanation: your transaction reached one node's mempool and not another's, so one explorer can show it as pending while a second claims it doesn't exist.

While your transaction sits there it isn't on the blockchain, and it has no confirmations. It's a validly signed intention the network has heard and not yet recorded. If blocks and mining are new to you, our beginner's guide to how Bitcoin works covers the layer underneath.

What happens the moment you hit send

Five steps, and only the last one is slow.

  1. Your wallet builds and signs the transaction. When you send BTC from Coin98 Super Wallet, this is what the confirmation screen is about — inputs, outputs, and the fee rate you're attaching.
  2. It's broadcast to nodes. Your wallet hands it to one or more nodes on the network.
  3. Each node validates it. Valid signatures, unspent inputs, and compliance with that node's policy rules — which are stricter than the consensus rules, as Bitstack's guide points out. A transaction can be consensus-valid and still be refused relay for being non-standard.
  4. Nodes relay it to their peers, and within seconds it's in most mempools on the network.
  5. You wait for a miner to select it. This is the step you're currently living in.

Coin98 Super Wallet manages Bitcoin among 150+ networks, and steps 1 through 4 are effectively instant on all of them. Step 5 is where chains differ.

Pending is not the same as failed

A pending transaction hasn't happened yet. A failed transaction happened and didn't work. On Bitcoin, "failed" is rare — a transaction either confirms or it doesn't, with no in-between state where fees are consumed by a transaction that accomplished nothing.

That's not true everywhere. On EVM chains, a transaction can be mined and revert, charging gas for a failed transaction because the network did the work of executing it. Coin98's transaction failure FAQ covers those causes — slippage, insufficient gas, contract conditions. None of them apply to a plain BTC send sitting in the mempool.

The practical takeaway: if a BTC transaction is unconfirmed, you're waiting on block space, not diagnosing a fault.

Why your transaction is still waiting

Because block space is scarce and priced by the byte. Miners take the highest fee rates first, and if yours isn't competitive there's a clock running on how long the network will hold it for you.

Why the miner picked someone else's transaction

A Bitcoin block has a hard limit of 4 million weight units and a maximum of 80,000 sigops, per the mempool.space FAQ, and a new block arrives roughly every ten minutes. That's the entire supply.

Selection isn't first-come-first-served. As mempool.space puts it: "The priority of a pending Bitcoin transaction is determined by its fee rate. Fee rates are measured in sat/vB" — satoshis per virtual byte. A miner filling a block sorts by fee rate and takes the top of the list, because that maximises revenue from fixed space.

Two consequences catch people out:

  • A large fee doesn't help if the transaction is large. Paying 20,000 sats on a 400 vB transaction is 50 sat/vB. Paying the same 20,000 sats on a 4,000 vB transaction is 5 sat/vB, and it'll be treated as ten times less urgent.
  • Your wallet estimated a fee for the conditions at signing time. If demand rose in the following ten minutes, your estimate is now below the going rate and you drop down the list. It's a common reason a transaction that "should have gone through" hasn't.

mempool.space builds its own estimates by running "a re-implementation of Bitcoin Core's transaction selection algorithm" every 2 seconds and publishing four tiers: High Priority is the median fee rate of the first projected block, Medium is the average of the first and second block medians, Low averages the medium and third-block figures, and No Priority is 2× the minimum fee rate or the Low rate, whichever is lower. Those definitions are worth knowing — "High Priority" is a projection about the next block, not a guarantee.

The floor is lower than most people think. Bitcoin Core's 30.0 release changed the default minimum relay fee and incremental relay fee to 0.1 sat/vB, down from 1 sat/vB. The release notes attach their own warning: unless those lower defaults are widely adopted across the network, transactions built at such rates are "not guaranteed to propagate or confirm." A transaction can be relay-legal and still go nowhere.

How long it can sit there

Up to two weeks on default settings — then it disappears from the queue.

Bitcoin Core's mempool has two limits that decide your transaction's fate, both documented in the mempool lifecycle reference:

Limit Default Constant / option
Mempool size 300 MB DEFAULT_MAX_MEMPOOL_SIZE / -maxmempoolsize
Transaction expiry 336 hours (14 days) DEFAULT_MEMPOOL_EXPIRE / -mempoolexpiry

The expiry rule is simple: a transaction that hasn't confirmed within 14 days is dropped from that node's mempool.

The size rule bites earlier and harder. When a mempool hits its cap, the node evicts transactions by lowest descendant fee rate, and — per Spark's policy reference — the node's dynamic minimum fee rate rises to the evicted rate plus the incremental relay fee, then decays as pressure eases. So the entry price to the mempool goes up during congestion, and cheap transactions already inside get pushed out. Bitstack calls this the "purge rate."

One detail worth knowing: the 300 MB cap is memory, not transaction data. In a measured snapshot from December 2017, b10c found a saturated mempool holding 123,803 transactions and using 298.5 MB of RAM, of which only about 107.8 MB was actual transaction bytes. The rest is bookkeeping overhead. A "full" mempool holds far less raw transaction data than the number suggests.

Being evicted isn't the end. Coldcard notes that eviction "doesn't prevent the sender from rebroadcasting," and mempool.space's reassurance holds: "a Bitcoin transaction will always either confirm completely (or not at all) at some point." An unconfirmed transaction never spends your coins halfway. Until it's mined, those UTXOs are still yours — though your own wallet may show the balance as unavailable while it waits.

How to unstick it

Three options, and which ones you have depends on your wallet more than on the network.

Replace-by-fee (RBF). You rebroadcast the same transaction with a higher fee, and it replaces the original. This used to require the sender to have flagged the transaction as replaceable under BIP 125 — signalling with nSequence < 0xFFFFFFFE. That's no longer the constraint: per Spark's reference, Bitcoin Core v29.0 made full RBF unconditional, so any unconfirmed transaction can be replaced regardless of signalling. The replacement does have to pay for itself — an absolute fee at least equal to the sum of fees paid by all the transactions it replaces, plus the incremental bandwidth cost.

Child-pays-for-parent (CPFP). If you can't replace the transaction, you can bribe on its behalf. Coldcard's definition: the sender or recipient spends an unconfirmed output "in a new transaction with a fee high enough to incentivize miners to include both." Miners evaluate the package, so a high-fee child drags a low-fee parent along. There's a ceiling on how far you can stack this — Bitcoin Core capped ancestors and descendants at 25 each up to v30, and v31 replaces those counts with a cluster limit of 64 transactions or 101 kvB.

Wait. Underrated. Fee rates fall when demand falls, and a transaction that looks hopeless on a Tuesday afternoon often confirms overnight. If you're inside the 14-day window and not in a hurry, doing nothing costs nothing.

Option Requires Cost Best when
RBF A wallet with a fee-bump feature Original fee + increment You need it soon and control the sender wallet
CPFP Ability to spend one of its outputs A second transaction's fee You can't replace it, or you're the recipient
Wait Nothing Nothing You're not in a hurry and fees are falling

The gap that trips people up is wallet support. Full RBF being network-wide doesn't give your app a bump button. If your wallet has no fee-bump control, CPFP or patience are your options. Our guide to fixing stuck crypto transactions covers the equivalent moves on EVM chains, where the mechanics differ but the logic is the same.

How to read the mempool before you send

Check the queue first and you mostly avoid this problem.

  • Look at current fee rates, not yesterday's. A mempool explorer shows projected blocks and the fee rate needed for each one. If the next block's median is 40 sat/vB, an 8 sat/vB transaction is a multi-hour bet at best.
  • Match the fee to your deadline. For a payment that has to land within the hour, use the high-priority estimate. For moving coins between your own wallets, the low tier is usually fine — and if you're consolidating small UTXOs, a quiet mempool is exactly when to do it.
  • Set the fee deliberately when your wallet allows it. Coin98's gas setting documentation shows the adjustable-fee pattern; the principle carries across chains.
  • Expect demand spikes from non-payment activity. Inscriptions and other data-carrying transactions compete for exactly the same block space as payments — our Bitcoin DeFi and Ordinals guide explains what they are.

FAQ

How long should a Bitcoin transaction take? A block arrives roughly every ten minutes, so a transaction paying a competitive fee rate usually confirms in one to three blocks. If your fee rate is below what's needed for the next few blocks, it can take hours or days. The hard ceiling on default settings is 14 days, after which nodes drop it from their mempools.

Can I cancel an unconfirmed Bitcoin transaction? Not directly — but you can replace it. Since Bitcoin Core v29.0 full RBF is unconditional, so any unconfirmed transaction can be replaced by a higher-fee version, including one that sends the coins back to yourself. Whether you can do this depends on your wallet offering a replace or bump feature.

What happens if my transaction never confirms? It's dropped from mempools after 336 hours (14 days) by default and the coins remain yours, unspent. Nothing was taken, and you can rebroadcast or build a new transaction with a higher fee rate. Eviction from a mempool doesn't invalidate the transaction — it just stops that node from holding it.

Is the mempool one shared queue? No. Every node maintains its own mempool, so contents differ slightly between them, though well-connected nodes converge quickly and hold largely the same transactions. This is why two block explorers can disagree about whether your transaction exists yet.

What fee rate should I set? Match it to your deadline using a mempool explorer's projections rather than a fixed number. High-priority tiers target the next block; low tiers accept a wait of several blocks or more. Bitcoin Core's default relay floor is 0.1 sat/vB as of version 30.0, but the release notes caution that transactions at such low rates aren't guaranteed to propagate or confirm.

Is it safe to accept a pending transaction as payment? For anything of value, we'd recommend waiting for confirmations. An unconfirmed transaction can be replaced by the sender with a higher-fee version, and full RBF means that's possible for any pending transaction. Once a transaction is in a block and further blocks build on it, reversing it becomes progressively harder.

The short version

Your transaction is in the mempool because blocks are capped at 4 million weight units and miners fill them by fee rate, highest first. You have 14 days before nodes drop it, and three moves in the meantime: replace it with a higher fee, attach a high-fee child, or wait for demand to fall. Checking a mempool explorer before you sign prevents most of it. Coin98 Super Wallet manages Bitcoin and 150+ other networks in one self-custody app, with adjustable fees so you can decide how much of a hurry you're in.