Stuck Bitcoin transaction? How RBF and CPFP get it moving

Explainer · Network desk · Published 17 October 2026 ·

Quick answer. A Bitcoin transaction gets stuck when its fee rate is lower than what miners are taking for the next blocks. The sender can replace it with a higher-fee version (replace-by-fee, RBF), or the receiver can spend the incoming coins with a high fee so miners take both (child pays for parent, CPFP). Waiting also works when the queue clears.

You sent bitcoin, the wallet says "unconfirmed", and an hour later nothing has changed. The coins are not lost. They are sitting in a queue of transactions that pay more per byte than yours. This guide explains why it happens, what happens if you do nothing, and how the two standard fixes work, with the numbers. It is educational only and is not advice to buy, sell or hold bitcoin.

Why does a Bitcoin transaction get stuck?

Block space is limited and sold by auction. Bitcoin's developer documentation explains that fees are paid per byte of transaction size and that miners prioritise transactions by fee per byte (Bitcoin developer guide: transactions). When more transactions are waiting than the next few blocks can hold, anything paying less than the going rate waits. Our fee explainer shows how that rate can jump tenfold in minutes.

The usual causes are a fee chosen when the network was quiet, a wallet that estimated too low, or a sudden burst of demand right after you sent. Exchanges sometimes batch withdrawals and pick a slow fee on purpose. Either way, the fix is the same: get the effective fee rate above what miners are currently accepting, or wait for the queue to shrink.

What happens if you do nothing?

Often the transaction confirms by itself once demand falls. If it does not, nodes eventually stop holding it. In Bitcoin Core, the most widely used node software, the default is to keep a waiting transaction for at most 336 hours, which is 14 days, and to cap the waiting pool at 300 MB (Bitcoin Core mempool defaults). When the pool is full, the lowest-paying transactions are the first to go.

A dropped transaction was never confirmed, so the coins stay where they were and the wallet can spend them again. But every node has its own pool, so "dropped" is not a single event; some nodes may still hold the old transaction, or your wallet may rebroadcast it. That uncertainty is why it is usually better to bump the fee than to wait for an expiry.

How does replace-by-fee (RBF) work?

With RBF the sender broadcasts a new version of the same transaction, spending the same coins but paying a higher fee. BIP 125 sets the core rules: the replacement must pay at least the total fees of the transaction it replaces, plus enough extra to pay for its own relay (BIP 125). Originally a sender had to flag a transaction as replaceable when sending it. Since Bitcoin Core 28.0, released on 2 October 2024, its nodes accept replacements of any unconfirmed transaction by default, a setting known as full RBF (Bitcoin Core 28.0 release notes).

  • Who can do it: only the sender, because only the sender can sign a new version.
  • Where to find it: look for "bump fee", "speed up" or "replace" on the unconfirmed transaction in your wallet.
  • What it costs: the higher fee on the same size of transaction, nothing more.

How does child pays for parent (CPFP) work?

CPFP works from the other end. The receiver, or the sender if the transaction returns change to them, spends an output of the stuck transaction in a new "child" transaction with a high fee. A miner can only collect the child's fee by also including the parent, so it looks at both together. Bitcoin Core has selected transactions this way since version 0.13.0, which describes choosing transactions by fee rate including their unconfirmed ancestors (Bitcoin Core 0.13.0 release notes).

Here is the arithmetic, with assumed numbers. The stuck parent is 200 vB and paid 2 sat/vB, a fee of 400 sats. Miners are currently taking about 20 sat/vB. Your child transaction is 150 vB.

ItemSizeFeeFee rate
Parent (stuck)200 vB400 sats2 sat/vB
Package target350 vB7,000 sats20 sat/vB
Child must pay150 vB6,600 sats44 sat/vB

The child's own rate looks high, but what matters to the miner is the combined rate of the package. Bitcoin Core 28.0 also added limited package relay, so a parent below a node's minimum fee rate can travel together with a child that pays for it, though the release notes call the feature limited and not yet reliable under adversarial conditions.

Which fix should you use?

  • You sent it from your own wallet: use RBF. It is cheaper than CPFP because you pay only for one transaction.
  • Someone sent it to you: use CPFP if your wallet offers it, or ask the sender to bump the fee.
  • An exchange withdrawal is stuck: contact the exchange through its official website or app. You cannot change its transaction yourself.
  • It is not urgent: waiting is free. Watch the fee estimates on our Network desk and the queue on the Bitcoin network page.

One warning. Real fee bumping happens inside your own wallet. Nobody needs your recovery phrase to speed up a transaction, and a person or website that asks for it, or for an upfront "unlock" fee, is running a scam. The SEC lists demands for extra fees to release money among common crypto scam warning signs (Investor.gov crypto scams alert).

Is a stuck transaction a sign something is wrong with Bitcoin?

No. It is the fee market working as designed: when blocks are full, the cheapest transactions wait. A busy queue says demand for block space is high right now; it does not say why, and it does not say anything reliable about the price. For the miner's side of that market, see how fees and the subsidy add up in our mining pools explainer, and for the words used here, the glossary.

Sources

Risk warning. Educational content only, not financial or investment advice. Fee rates change by the minute; check the current rate in your own wallet before bumping a fee, and test with a small amount when using a feature for the first time.

More explainers