You've just sent a Bitcoin transaction, but it's been sitting in the mempool for hours—maybe even days. The network is congested, and your low fee transaction is stuck in limbo. Frustrating, right? This is exactly the scenario where Replace-By-Fee (RBF) becomes your best friend.
RBF is one of those Bitcoin features that every user should understand but few actually do. It's not complicated once you grasp the basics, and knowing how to use it can save you from the anxiety of watching an unconfirmed transaction while time-sensitive payments hang in the balance.
In this comprehensive guide, I'll walk you through everything you need to know about RBF—what it is, how it works under the hood, when you should use it, and the step-by-step process of actually bumping your transaction fees. By the end, you'll have a practical skill that makes you a more confident Bitcoin user.
Understanding the Bitcoin Mempool and Transaction Fees
Before diving into RBF specifically, let's establish some foundational knowledge about how Bitcoin transactions actually work. When you send Bitcoin, your transaction doesn't immediately get added to the blockchain. Instead, it enters a waiting area called the mempool (short for memory pool).
Think of the mempool as a crowded waiting room at a busy airport. Everyone wants to get on the next flight (the next block), but there are limited seats. Miners—the people who create new blocks—act like gate agents, choosing which transactions to include based primarily on one factor: the fee rate.
The fee rate is measured in satoshis per virtual byte (sat/vB). A satoshi is the smallest unit of Bitcoin (0.00000001 BTC), and the virtual byte represents the size of your transaction data. Higher fee rates mean miners prioritize your transaction because they earn more by including it.
Here's where things get interesting. When you broadcast a transaction with a low fee rate during high network activity, it might not get picked up for hours or even days. In extreme cases, transactions can get dropped from mempools entirely if they stay unconfirmed too long. This is precisely the problem RBF was designed to solve.
Understanding fee dynamics is essential for anyone accumulating Bitcoin over time. If you're regularly purchasing and transferring Bitcoin to self-custody, our DCA calculator can help you plan your accumulation strategy while accounting for transaction costs.
What Exactly is Replace-By-Fee (RBF)?
Replace-By-Fee is a feature that allows you to create a new version of an unconfirmed transaction with a higher fee, effectively replacing the original in the mempool. The key word here is unconfirmed—once a transaction is included in a block and confirmed, it cannot be replaced or reversed.
RBF was formally introduced in Bitcoin through BIP 125 (Bitcoin Improvement Proposal 125) and has been widely supported since Bitcoin Core version 0.12.0, released in 2016. The feature provides a practical solution to the unpredictable nature of network congestion and fee markets.
There are actually two types of RBF implementations:
- Opt-in RBF: The sender explicitly signals that the transaction can be replaced. This is done by setting a specific sequence number in the transaction. Most modern wallets use opt-in RBF by default.
- Full RBF: Any unconfirmed transaction can potentially be replaced, regardless of whether it was originally signaled as replaceable. This became more widely supported in Bitcoin Core 24.0 and later versions.
When you create an RBF transaction, you're essentially telling the network: "Ignore my previous transaction and use this new one instead." The new transaction must spend at least one of the same inputs as the original and must pay a higher total fee.
It's crucial to understand that RBF is not a hack or a workaround—it's a legitimate protocol feature designed to make Bitcoin more usable. The original low-fee transaction was never confirmed, so no actual transfer of value occurred on the blockchain.
How Replace-By-Fee Works: A Technical Deep Dive
Let's break down the mechanics of RBF so you understand exactly what happens behind the scenes. Don't worry—I'll keep this accessible while still giving you the technical understanding you need.
The Transaction Structure
Every Bitcoin transaction has inputs (where the Bitcoin comes from) and outputs (where it's going). When you create an RBF-enabled transaction, a special flag is set in the nSequence field of the inputs. Specifically, if the sequence number is less than 0xFFFFFFFE (4294967294), the transaction signals that it's replaceable.
The Replacement Rules
For a replacement transaction to be accepted by nodes and miners, it must follow these rules defined in BIP 125:
- Higher absolute fee: The replacement must pay more in total fees than the original transaction and all its descendants combined.
- Higher fee rate: The new transaction must have a higher fee rate (sat/vB) than the original.
- Same inputs: The replacement must spend at least one of the same UTXOs (unspent transaction outputs) as the original.
- No new unconfirmed inputs: The replacement cannot introduce new unconfirmed parent transactions.
- Minimum fee increment: The additional fee must be at least equal to the minimum relay fee (typically 1 sat/vB) multiplied by the size of the new transaction.
What Happens in the Mempool
When you broadcast a valid replacement transaction, nodes that receive it will verify it meets all the rules. If valid, they'll evict the original transaction from their mempool and replace it with the new one. This propagates across the network, and miners will see only the higher-fee version.
The original transaction effectively ceases to exist from the network's perspective—it's as if it was never sent. This is why RBF only works on unconfirmed transactions; once confirmed, the blockchain record is immutable.
When Should You Use Replace-By-Fee?
RBF is a powerful tool, but like any tool, it's most effective when used in the right situations. Here are the most common scenarios where RBF proves invaluable:
Scenario 1: Your Transaction is Stuck
This is the classic use case. You sent a transaction during what seemed like normal network conditions, but suddenly a wave of transactions flooded the mempool. Your 10 sat/vB transaction that would have confirmed in an hour is now looking at a 24-hour wait—or longer.
Using RBF, you can bump the fee to 50 sat/vB or whatever the current market rate is, moving your transaction to the front of the line.
Scenario 2: Time-Sensitive Payments
Imagine you're making a payment that needs to confirm within a specific timeframe—perhaps you're buying something from a merchant with a payment window, or you need to meet a deadline. If network conditions change after you've broadcast, RBF lets you ensure timely confirmation.
Scenario 3: Fee Market Volatility
Sometimes the fee market is highly volatile. A fee rate that seemed reasonable five minutes ago might be insufficient now. Experienced users often start with a lower fee and use RBF to bump it only if necessary—this can save money over time.
Scenario 4: Correcting Mistakes
While RBF doesn't let you change the recipient address (you're still spending the same inputs), you can adjust some aspects of your transaction. For instance, you could modify the change output or combine the original transaction with additional payments.
When NOT to Use RBF
There are situations where RBF isn't the right solution:
- Already confirmed transactions: RBF only works on unconfirmed transactions. Once confirmed, it's done.
- Receiving payments: If someone sent you Bitcoin with a low fee, you can't use RBF on their transaction. However, you might be able to use a related technique called Child-Pays-For-Parent (CPFP).
- Non-RBF transactions: If the original transaction wasn't flagged as replaceable and the receiving nodes don't support full RBF, replacement might not work.
Step-by-Step Guide: How to Use RBF in Popular Wallets
Now let's get practical. I'll walk you through using RBF in several popular wallet applications. The process varies slightly between wallets, but the core concept remains the same.
Using RBF in Bitcoin Core
Bitcoin Core is the reference implementation and offers full RBF support:
- Open Bitcoin Core and navigate to the Transactions tab.
- Find your unconfirmed transaction in the list.
- Right-click on the transaction and select "Increase transaction fee" or "Bump fee."
- Bitcoin Core will calculate the minimum required fee increase. You can accept this or specify a higher fee.
- Confirm the replacement transaction. Your wallet will broadcast the new version.
Using RBF in Electrum
Electrum is a popular lightweight wallet with excellent RBF support:
- Open Electrum and go to the History tab.
- Locate your unconfirmed transaction (it will show as "Unconfirmed").
- Right-click and select "Increase fee" from the context menu.
- A dialog will appear showing the current fee and allowing you to set a new one. Use the slider or enter a specific amount.
- Click "OK" and enter your password if prompted.
- The replacement transaction will be broadcast automatically.
Using RBF in Hardware Wallets
If you're using a hardware wallet like Ledger for secure storage—which I strongly recommend for any significant Bitcoin holdings—the RBF process typically happens through the companion software:
- Open Ledger Live and connect your Ledger device.
- Navigate to your Bitcoin account and find the pending transaction.
- Look for an option like "Speed up" or "Increase fee."
- Select your desired new fee rate based on current network conditions.
- Confirm the new transaction on your Ledger device by verifying the details on the hardware screen.
The beauty of using a hardware wallet for this process is that your private keys never leave the secure device, even when creating replacement transactions.
Using RBF in Mobile Wallets
Many mobile wallets now support RBF, including BlueWallet, Blockstream Green, and others:
- Open your wallet and find the transaction history or pending transactions section.
- Tap on the stuck transaction to view details.
- Look for a "Bump fee," "Speed up," or "RBF" option.
- Select your new fee rate and confirm.
- The wallet will create and broadcast the replacement.
Common Misconceptions and Concerns About RBF
RBF sometimes gets a bad reputation, often due to misunderstandings about what it does and doesn't enable. Let's address some common concerns:
"RBF Enables Double-Spending"
This is perhaps the most persistent myth. Critics argue that RBF makes it easier to defraud merchants by sending a low-fee transaction, receiving goods, then replacing it with a transaction that sends the Bitcoin elsewhere.
Here's the reality: This attack was always theoretically possible, even before RBF existed. Any unconfirmed transaction is fundamentally not settled. RBF doesn't change this—it just makes it more explicit. The solution for merchants has always been the same: wait for confirmations before releasing goods for significant transactions.
For small, everyday transactions, the economics don't make sense for attackers anyway. The effort and risk of attempting such fraud rarely justifies the potential gain.
"RBF is Complicated and Technical"
As we've seen in the step-by-step guides above, modern wallets have made RBF incredibly user-friendly. In most cases, it's as simple as clicking "Speed up" and choosing a higher fee. You don't need to understand the technical details to use it effectively.
"I Should Always Set the Highest Fee to Avoid Needing RBF"
This approach wastes money. Fee markets fluctuate, and what seems necessary today might be overkill. A smarter strategy is to enable RBF on all transactions, start with a reasonable fee based on current conditions, and bump only if needed. Over time, this saves significant amounts in transaction fees.
RBF vs. Child-Pays-For-Parent (CPFP): Knowing the Difference
RBF isn't the only way to speed up a stuck transaction. Another technique called Child-Pays-For-Parent (CPFP) exists, and understanding when to use each is valuable.
With CPFP, instead of replacing the original transaction, you create a new "child" transaction that spends the outputs of the stuck "parent" transaction. This child transaction includes a high enough fee to make the combined fee rate attractive to miners.
Here's when to use each:
- Use RBF when: You sent the original transaction and enabled RBF. You have control over the original transaction's inputs.
- Use CPFP when: You're the recipient waiting for an incoming transaction. The sender didn't enable RBF, or the transaction is already broadcast without replacement signaling.
CPFP is particularly useful when someone sends you Bitcoin with a low fee. You can't modify their transaction, but you can create a child transaction that incentivizes miners to confirm both together.
Frequently Asked Questions About RBF
Does RBF cost extra money beyond the higher fee?
No, there's no additional cost for using RBF beyond the increased transaction fee itself. You're simply paying more to prioritize your transaction. The replacement transaction supersedes the original, so you're not paying two separate fees—only the higher fee of the replacement.
Can I use RBF multiple times on the same transaction?
Yes, you can replace a transaction multiple times as long as it remains unconfirmed. Each replacement must pay a higher fee than the previous version. This can be useful if network conditions continue to change or if your first fee bump wasn't sufficient.
What happens to the original transaction after RBF?
The original transaction is removed from mempools and effectively forgotten by the network. It will never confirm because the inputs it tried to spend are now being spent by the replacement transaction. Once the replacement confirms, those inputs are officially spent, making any previous version invalid.
Do all Bitcoin wallets support RBF?
Most modern, well-maintained wallets support RBF, but not all. Before choosing a wallet, verify it supports RBF if this feature is important to you. Popular wallets with RBF support include Bitcoin Core, Electrum, BlueWallet, Sparrow, and Ledger Live. Some older or simpler wallets may not include this functionality.
Is there a time limit for using RBF?
There's no hard time limit, but transactions can eventually be dropped from mempools if they remain unconfirmed for too long (typically around two weeks, depending on node settings). If a transaction is dropped, you'd need to rebroadcast it or create a new one entirely. It's best to use RBF sooner rather than later when you notice a transaction is stuck.
Conclusion: Making RBF Part of Your Bitcoin Toolkit
Replace-By-Fee is one of those features that exemplifies Bitcoin's practical evolution as a payment system. It acknowledges the reality of dynamic fee markets and gives users the flexibility to respond to changing network conditions.
Here's what I want you to take away from this guide:
- Enable RBF by default in your wallet settings. There's little downside and significant potential upside.
- Don't overpay on fees just to avoid the possibility of a stuck transaction. Start reasonable and bump if needed.
- Understand the limitations—RBF only works on unconfirmed transactions and requires the original to have been properly flagged.
- Practice the process with a small transaction so you're comfortable when it matters.
The Bitcoin network will always have periods of high congestion, especially as adoption grows. By mastering RBF, you ensure that these congestion events are merely inconveniences rather than genuine problems. You'll never again have to anxiously watch an unconfirmed transaction, wondering if it will ever go through.
Whether you're making your first Bitcoin transaction or your thousandth, understanding RBF makes you a more capable and confident participant in the Bitcoin network. It's exactly the kind of practical knowledge that separates casual users from those who truly understand how this revolutionary technology works.