<p>Bitcoin Optech <a href="https://bitcoinops.org/en/topics/replace-by-fee/" rel="nofollow noreferrer">defines</a> RBF as:</p>
<blockquote>
<p>Replace-By-Fee (RBF) is a node policy that allows an unconfirmed
transaction in a mempool to be replaced with a different transaction
that spends at least one of the same inputs and which pays a higher
transaction fee.</p>
</blockquote>
<p>It is generally assumed that the destination (address) and the funds being sent are the same for both the original transaction and the replacement transaction. The problem with changing the destination and/or the funds being sent is that there is no guarantee that this replacement transaction will make it into the blockchain first before the original transaction. You can try to get the replacement transaction into the blockchain first and the quicker you broadcast it and the higher the fee the better. But if the original transaction is being propagated across the network there is no way to stop it from getting into the blockchain if it is paying a sufficient fee rate. Hence RBF focuses on merely bumping the fee. With this use case if the original transaction gets into the blockchain before the replacement this is actually beneficial to the sender as they end up paying less fee than the fee in the replacement transaction.</p>
<p>If you think you might want to change the destination or the funds sent at a later time it is better to delay broadcasting the transaction until you are sure what you want to send.</p>

CC BY-SA 4.0
2022-05-31T12:00:57.187Z
2022-05-31T14:29:51.227Z
2022-05-31T14:29:51.227Z
Michael Folkson
<blockquote>
<p>However, is it possible to use RBF to change the value of the transaction or zero value (in case of cancellation)?</p>
</blockquote>
<p>Yes, there is no restriction on transactions <em>only</em> changing the fee. In fact, that's not possible in general, as increasing the fee implies at least one of:</p>
<ul>
<li>Adding an additional input</li>
<li>Reducing or removing an output</li>
</ul>
<p>The former may not be possible (e.g. if a wallet already has all its inputs in flight), and the latter typically involves reducing the amount sent as change back to the sender. Since the protocol has (intentionally) no way of knowing which output is change, the latter is inherently in conflict with a hypothetical &quot;only fee changes allowed in RBF&quot; policy.</p>
<p>So, RBF can be used for any transaction replacement whatsoever. Typical usage is just fee bumping (where non-change outputs remain the same), but the protocol has no way of enforcing this, and thus RBF recipients need to be aware that unconfirmed transactions may be replaced with another that doesn't pay the same people at all. In fact, this is true in general, as unconfirmed funds in Bitcoin are generally not secure - RBF or not.</p>

CC BY-SA 4.0
2022-05-31T13:42:34.013Z
2022-05-31T13:42:34.013Z
Pieter Wuille
<p>I understand that we can use RBF Protocol to replace a transaction with higher fees to get the transaction confirmed faster.
However, is it possible to use RBF to change the value of the transaction, or to set it to zero (in case of cancellation)?</p>

<unconfirmed-transactions><replace-by-fee><bip-125-replaceable>
Can RBF be used to change the value of a transaction?
Srikanth Alva
# Can RBF be used to change the value of a transaction?

(Asked by: username_0 on 2022-05-31)

I understand that we can use RBF Protocol to replace a transaction with higher fees to get the transaction confirmed faster.
However, is it possible to use RBF to change the value of the transaction, or to set it to zero (in case of cancellation)?

**Tags:** unconfirmed-transactions, replace-by-fee, bip-125-replaceable


---

## 2 answers

### Answer by username_2 on 2022-05-31. Score: 8 | Accepted answer

> However, is it possible to use RBF to change the value of the transaction or zero value (in case of cancellation)?

Yes, there is no restriction on transactions *only* changing the fee. In fact, that's not possible in general, as increasing the fee implies at least one of:

* Adding an additional input
* Reducing or removing an output

The former may not be possible (e.g. if a wallet already has all its inputs in flight), and the latter typically involves reducing the amount sent as change back to the sender. Since the protocol has (intentionally) no way of knowing which output is change, the latter is inherently in conflict with a hypothetical "only fee changes allowed in RBF" policy.

So, RBF can be used for any transaction replacement whatsoever. Typical usage is just fee bumping (where non-change outputs remain the same), but the protocol has no way of enforcing this, and thus RBF recipients need to be aware that unconfirmed transactions may be replaced with another that doesn't pay the same people at all. In fact, this is true in general, as unconfirmed funds in Bitcoin are generally not secure - RBF or not.


---

### Answer by username_1 on 2022-05-31. Score: 2

Bitcoin Optech [defines](https://bitcoinops.org/en/topics/replace-by-fee/) RBF as:

> Replace-By-Fee (RBF) is a node policy that allows an unconfirmed
> transaction in a mempool to be replaced with a different transaction
> that spends at least one of the same inputs and which pays a higher
> transaction fee.

It is generally assumed that the destination (address) and the funds being sent are the same for both the original transaction and the replacement transaction. The problem with changing the destination and/or the funds being sent is that there is no guarantee that this replacement transaction will make it into the blockchain first before the original transaction. You can try to get the replacement transaction into the blockchain first and the quicker you broadcast it and the higher the fee the better. But if the original transaction is being propagated across the network there is no way to stop it from getting into the blockchain if it is paying a sufficient fee rate. Hence RBF focuses on merely bumping the fee. With this use case if the original transaction gets into the blockchain before the replacement this is actually beneficial to the sender as they end up paying less fee than the fee in the replacement transaction.

If you think you might want to change the destination or the funds sent at a later time it is better to delay broadcasting the transaction until you are sure what you want to send.


---

