· 6 min read
What is RBF and why do I need to know?
So, what is Replace by Fee and how and when should I or can I use it? RBF is a protocol within the Bitcoin network that allows a sender to replace a transaction that is still unconfirmed with another transaction.
Recently someone close to me was receiving Bitcoin from a 3rd party in exchange for services and the transaction was taking a long time, like days long time. When the person receiving the bitcoin came to me for help, I immediately told them to check if the fee was low and if so, ask the sender to bump the transaction using RBF or Replace by Fee.
Thanks for reading LIFEonBTC! Subscribe for free to receive new posts and support my work.
What was interesting about this was the neither the sender or the receiver seemed too familiar with RBF or how to use this feature when dealing with Bitcoin transactions - hence a great 1st topic for a new series of posts called Practical Bitcoin which will cover normal usage scenarios like this in an easy to approach manner.
What is Replace by Fee
So, what is Replace by Fee and how and when should I or can I use it? RBF is a protocol within the Bitcoin network that allows a sender to replace a transaction that is still unconfirmed with another transaction. The key here is that the new transaction typically includes a higher fee. Why does this matter? In Bitcoin, transactions with higher fees are more likely to be picked up and confirmed by miners. RBF was introduced to address the issue of stuck transactions due to low fees. Important note here is ONLY the sender of a transaction can do this. There is another protocol called child pays for parent or (CPFP) that can be initiated by the receiver - but that’s a topic for another day.
How Does RBF Work?
Imagine you’ve sent a Bitcoin transaction with a fee that’s too low, and it’s taking forever to confirm. With RBF, you can essentially ‘bump’ this transaction. You do this by creating a new transaction with the same amount of Bitcoin but adding a higher fee. This higher fee incentivizes miners to prioritize your new transaction over the old one.
Types of RBF
Full RBF: Allows the sender to replace the transaction with another one, changing any aspect of the transaction, such as the fee, recipient, or amount.
BIP125 RBF: A more user-friendly version where only the fee can be increased. This is widely used in wallets supporting RBF.
How to Use RBF
Ok this part is a bit trickier than I’d like it to be so warning in advance - the issues are that there are LOTS of different wallets out there and while MOST of them support RBF they don’t all support RBF AND they all have different UI and UX so there isn’t a single set of steps that I can give you. Generically the process is as follows:
Sending an RBF Transaction: To start, you need a wallet that supports RBF. When sending a transaction, you need to ensure to enable the RBF option, usually found in the settings or transaction fee options. In many wallets this is on by default.
Increasing the Fee: If your transaction is stuck, access the ‘Increase Fee’ or similar option in your wallet. Adjust the fee to a higher amount and broadcast the new transaction.
Regarding point number 2 - MOST wallets will give you an indication of the fee to estimated confirmation time or even a priority scale like Low, Medium, and High. Sparrow for example has a slider that allows you to adjust the fee from one range to another i.e. from Low to Medium.
Some Important Considerations and Best Practices of RBF
Transaction Finality: Unconfirmed transactions are not final. In the context of RBF, this means that until a transaction is confirmed in a block, it can be replaced by another transaction with a higher fee. This is particularly important to consider in financial or commercial transactions where certainty is crucial.
Receiving Payments: When receiving payments, if the transaction is flagged as RBF, there’s an inherent risk involved until the transaction is confirmed. This is because the sender has explicitly marked this transaction as replaceable.
Fee Market Dynamics: The fee market in Bitcoin can be highly volatile, especially during periods of high network congestion. This means the cost to have a transaction promptly confirmed can fluctuate significantly.
How do I choose an appropriate fee in the 1st place?
This is the fundamental question and for many seasoned Bitcoiners and new Bitcoiners alike the tendency is to pick a low fee. Afterall this is Bitcoin and one of the big attractors is quick transactions and low fees right? Well maybe and maybe not. The answer really depends on a variety of factors including network traffic, hash rate, price and more. In short if the network is very busy and demand for BTC is high a low fee is very likely to be ignored by miners in favor of transactions that have higher fees. Like it or not this is the reality of a free marketplace, and you get to decide to participate or not.
Luckily as mentioned earlier most wallets make this calculation very easy - Low, Medium, High. Low = a very long time and maybe never, Medium means a reasonable amount of time measured in hours or even days and High means next block in about ~ 10 minutes or so.
You can also see this for yourself in real time by going to mempool.space and look for the section under the blocks titled: TRANSACTION FEES like so:
Which shows you the current fee levels and expected confirmation estimates. As of right now I would not send a transaction with a fee much less than Medium Priority or 120 sat/vB as there is a lot of competition to get confirmed and likely a big backlog of Low Priority transactions UNLESS I am not worried about the trascation taking days or potentially requiring RBF to get it unstuck if fees remain high.
Whew - this is complicated!
Well yes and no. In practical use most wallets make this pretty simple. When sending a transaction, you can select to enable RBF and pick a fee that meets your expectation for completion of the transaction. Just like a package delivery you have to decide if it absolutely has to be their right way or if it can take a few hours or even days and save you some money to send. With RBF you can effectively change your mind as conditions or need arises and bump the fee up to get it confirmed sooner!
Thanks for reading LIFEonBTC! Subscribe for free to receive new posts and support my work.