Bitcoin transaction stuck and unconfirmed? Fix it now with broadcast tools, Replace-By-Fee (RBF), CPFP, and TXID lookup. Step-by-step guide to unstick your Bitcoin TX from the mempool.
You sent a Bitcoin transaction, checked the TXID, and now it has been sitting unconfirmed for hours. The mempool is congested, your fee was too low, and the transaction is stuck. This is one of the most common frustrations in Bitcoin - and it is completely fixable.
This guide covers the three methods to unstick a Bitcoin transaction, when to use each one, and the tools that make the process simple.
A Bitcoin transaction becomes stuck when it enters the mempool but miners consistently skip it in favor of transactions paying higher fees. This happens when:
A stuck transaction is not lost. Your bitcoin has not disappeared. The transaction simply has not been included in a block yet. It will either eventually confirm, or after approximately 14 days (336 hours), nodes will drop it from their mempools and the funds return to your wallet as if the transaction never happened.
But 14 days is a long time to wait. Here are three ways to fix it now.
Best for: Transactions you sent yourself, when your wallet supports RBF.
RBF lets you create a replacement transaction that spends the same inputs but with a higher fee. The new transaction invalidates the old one - miners include the higher-fee version instead.
In Bitcoin Core:
bitcoin-cli bumpfee "your-stuck-txid"
Bitcoin Core automatically creates a replacement transaction with an appropriate fee rate based on current mempool conditions.
In wallet apps: Most wallets (Sparrow, Electrum, BlueWallet, Nunchuk) show a "Bump Fee" or "Speed Up" button on unconfirmed transactions. Click it, choose a new fee rate, and confirm.
Choosing the right fee: Check current fee rates at mempool.space or txid.uk. Set your replacement fee at or above the "medium priority" rate to ensure confirmation within a few blocks.
If the original transaction did not signal RBF, some nodes still accept replacements under full RBF (enabled by default since Bitcoin Core 26.0). However, not all miners and nodes support full RBF yet. If RBF is not an option, use CPFP instead.
Best for: When you are the recipient, or when RBF is not available.
CPFP works differently from RBF. Instead of replacing the stuck transaction, you create a new transaction (the "child") that spends an output from the stuck transaction (the "parent"). The child transaction pays a high enough fee to cover both itself and the parent. Miners see that confirming both together is profitable, so they include the package.
In Bitcoin Core:
bitcoin-cli sendtoaddress "your-address" 0.001 \
"" "" false true null "unset" null 25
The last parameter (25 sat/vB) should be set high enough that the combined fee rate of parent + child exceeds the current mempool priority threshold.
In wallet apps: In Sparrow Wallet, right-click the unconfirmed transaction → "Accelerate Transaction (CPFP)." The wallet calculates the required child fee automatically.
The child must compensate for the parent's underpayment:
Required child fee rate =
(desired_total_fee - parent_actual_fee) / child_vsize
For example: if your parent TX is 200 vB with a 400 sat fee (2 sat/vB), and you want the package to average 10 sat/vB, the total target is 2,000 sats. The child must pay 1,600 sats. If the child is 150 vB, that is ~10.7 sat/vB for the child alone.
Best for: Transactions that have been dropped from mempools entirely.
After about 14 days, nodes purge unconfirmed transactions. If your transaction was dropped, you can simply re-broadcast the original raw transaction - or create a new one with a higher fee.
Using tx.txid.uk:
Using Bitcoin Core:
bitcoin-cli sendrawtransaction "raw-tx-hex"
Using public APIs:
curl -X POST https://mempool.space/api/tx \
-d "raw-tx-hex"
If the original transaction was dropped, you may want to create a new transaction entirely with a current-appropriate fee rate rather than re-broadcasting the old low-fee one.
| Situation | Method | Why |
|---|---|---|
| You sent it, wallet supports RBF | RBF | Simplest - one button in most wallets |
| You are the recipient | CPFP | Only option available to recipients |
| RBF not signaled, you are sender | CPFP (via change output) | Spend the change output to bump the package |
| TX was dropped from mempool | Re-broadcast | TX no longer in mempool, needs resubmission |
| Very old stuck TX (14+ days) | New transaction | Create fresh TX with current fee rate |
Before attempting a fix, verify your transaction's current state:
If the transaction shows as confirmed, the problem has resolved itself. If it shows as "not found," it may have been dropped from mempools - re-broadcast or create a new transaction.
The best fix is prevention: