Replace-By-Fee (RBF) in Bitcoin Explained
Learn how Replace-By-Fee (RBF) lets Bitcoin users bump stuck transaction fees, and what it means for merchants.
Replace-By-Fee (RBF) is a Bitcoin protocol feature that lets a sender rebroadcast an unconfirmed transaction with a higher fee, effectively replacing the original in the mempool so it confirms faster. It exists to solve a common problem: a transaction sent with too low a fee that ends up stuck waiting among thousands of others, as described in our guide to /blog/what-is-the-bitcoin-mempool.
How RBF works
When you create a transaction, you can signal that it's "replaceable" by setting a specific sequence number flag defined in Bitcoin Improvement Proposal 125 (BIP 125). Nodes that recognize this flag will accept a follow-up transaction spending the same inputs as long as it pays a sufficiently higher fee than the original. The network then discards the original from the mempool and relays the new, higher-fee version instead.
The replacement transaction typically needs to meet a few conditions under the standard BIP 125 rules:
- It must pay a higher absolute fee than the original, not just a higher fee rate.
- It usually must also pay enough extra to cover the cost of relaying the replacement itself (an anti-spam requirement).
- It can change outputs entirely — for example, sending to a different address — since it's a new transaction, not a patch to the old one.
This last point matters: RBF replaces the transaction, it doesn't just add a fee. The sender could, in theory, redirect funds to a different destination in the replacement, which is one reason merchants historically treated RBF-flagged transactions cautiously.
Why RBF matters for regular users
Without RBF, a user who underestimated the required fee (see /blog/how-bitcoin-transaction-fees-work for how fee estimation works) would have only one option: wait, possibly for a very long time, for the mempool to clear enough that the low-fee transaction finally gets included. RBF gives users an escape hatch — bump the fee and try again — without needing to wait indefinitely.
Most modern wallets support RBF by default or as an opt-in toggle when creating a transaction. If your wallet offers "enable RBF" as a checkbox, turning it on costs nothing when the fee estimate turns out to be correct, but gives you flexibility if network conditions shift after you broadcast.
RBF and merchant risk
For businesses accepting Bitcoin payments, RBF introduces a subtlety worth understanding. A payment that displays as "pending" in the mempool is not final — with RBF enabled, the sender could theoretically replace it with a transaction that pays a different address instead, before it confirms. This is why serious merchants and exchanges do not treat an unconfirmed transaction as settled and instead wait for confirmations, a topic covered fully in /blog/bitcoin-transaction-confirmations-explained.
It's worth noting this risk exists in a more limited form even without RBF, through "full replace-by-fee" behavior that some miners may apply regardless of signaling, and through simple double-spend attempts against unconfirmed transactions generally. RBF simply formalizes and makes explicit a fee-bumping mechanism that was, in various forms, already a possibility for unconfirmed transactions.
RBF versus CPFP
RBF is one of two common fee-bumping techniques; the other is Child-Pays-For-Parent, covered in depth in /blog/child-pays-for-parent-cpfp-explained. The key difference is who can perform the fix:
| Feature | RBF | CPFP |
|---|---|---|
| Who can bump the fee | Only the original sender (controls the inputs) | Sender or receiver (whoever controls an output) |
| Mechanism | Replaces the original transaction entirely | Adds a new transaction that spends an unconfirmed output |
| Requires original tx to signal support | Yes, must be flagged as replaceable | No signaling needed |
| Effect on mempool | Old transaction removed, only new one remains | Both transactions remain, evaluated together as a package |
If you received a payment that's stuck (rather than sent one), CPFP is usually your only option since you don't control the original transaction's inputs.
Practical steps to use RBF
If your wallet supports RBF and your transaction is stuck:
- Confirm the original transaction was broadcast with the replaceable flag set (many wallets enable this by default now).
- Check current mempool conditions to choose a new, sufficiently higher fee rate.
- Use your wallet's "bump fee" or "speed up" feature, which constructs and broadcasts the replacement automatically in most modern wallets.
- Wait for network propagation — the replacement should appear in place of the original within moments, though full confirmation still takes time.
Limitations to keep in mind
RBF only works if the original transaction was flagged as replaceable, and it only replaces transactions that are still unconfirmed. Once a transaction has been mined into a block, RBF no longer applies — at that point, the transaction is settled according to Bitcoin's confirmation rules. If you're managing a wallet with important security practices in general, our /blog/defi-wallet-security article and the /wallet resources are worth reviewing alongside fee-management tools like RBF.
Bottom line
RBF is a built-in safety valve for underpriced Bitcoin transactions, letting senders raise the fee on a stuck payment rather than waiting it out. It's useful for individual users managing their own funds, but it also means merchants shouldn't treat unconfirmed, RBF-enabled transactions as final — confirmations remain the standard for settlement finality.
Related articles
This article is for educational purposes only and is not financial advice. DeFi involves significant risk, including total loss of funds. Always do your own research.