As a bitcoin user, it seems that Replace-by-fee feature is useful to solve the problem of transactions not confirming because of an insufficient fee. However, as far as in know, most bitcoin wallet apps does not have the feature. I found that only Electrum wallet has it. (But it is not default setting on Android app)

I read this reddit. The comments are posted 1 year ago but seems still be controversial.


I have very simple transaction generator tool in my company. The process is the followings:

1. User calls HTTP API to create transaction with some parameters (source, destination, amount, fee, etc).
2. Retrieve utxos and generate raw-transaction in server-side. Returns the raw-tx to user.
3. User signs the raw-tx and calls broadcast HTTP API.

Users want to solve the problem of transactions not confirming. Thus I'm considering if Replace-by-fee is good idea or not.

My concern is whether using Replace-by-fee is agreed(positive) or not in Bitcoin community. If not, I won't use it. If the reason is technical(or cost), I will try to implement it.

I'm very grateful if you could share your opinion or references about it. (sorry this can be opinion based question)

Update 1

I'm sorry the above my question is not clear. What I wanted to ask was what negative aspects Replace-by-fee has.

Electrum Android add shows the following warning before creating transactions.

enter image description here

Note that some merchants do not accept non-final transactions until they are confirmed.

This case would be a negative aspect. I have concerns if another disadvantages are exits or not.

(Btw, Replace-by-fee can change only fee. I'm not sure why some merchants do not accept replaceable tx.)

I found that the downside of RBF is described in this question.

The downside is that this represents a significant shift in terms of expected memory pool behavior.

Can someone outline the full pros/cons of the various Replace-By-Fee proposals?

2 Answers 2


Maybe this answer came a bit too late, but lets give it a try.

Let me start by citing A. Narayanan et alter Bitcoin and Cryptocurrency Technologies book:

Since 2013, there has been interest in changing the default policy to replace-by-fee (RBF) whereby nodes will replace a pending transaction in their pool if they hear a conflicting transaction which includes a higher fee. This is the rational behavior for miners, at least in a short-term sense, as it gives them a better fee.

However, replace-by-fee would make double-spending against zero-confirmation attacks far easier in practice. Replace-by-fee has therefore attracted controversy, both in terms of the technical question of whether it is possible to prevent or deter double-spending in an RBF world, and the philosophical question of whether Bitcoin should try to support zero-confirmation as best it can, or abandon it.

So controversy is set between what can be more profitable for miners (i.e accepting transaction with higher fees), versus what may generate more transactions in the mempool and, moreover, could ease double-spending attacks against zero-confirmation transactions. That's probably why Electrum shows such a warning. Merchants could be unwilling to accept transactions that can be replaced if a greater fee is provided before the transaction has been included in a block.

In my humble opinion, it depends on whether your tool will be used for zero-confirmation transactions or not.

Moreover, if you are concerned about what nodes of the network will do when dealing with such a transaction, here you have a question that talks about the relaying policies of RBF.


Bitcoin is decentralized. Nobody should tell you what is positive or not. You are welcome to do anything allowed by consensus code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.