13 votes

What is meant by transaction 'pinning'?

Transaction pinning happens when: I broadcast a transaction that signals opt-in RBF the transaction does not get confirmed because the feerate is too low someone else broadcasts a new (child) ...
user avatar
  • 900
12 votes

Replace-by-Fee vs Child-pays-for-Parent?

Replace-by-fee means transactions spending the same coin to the same addresses are not considered double-spends by the network and are still relayed, as long as they pay a higher fee than the ...
user avatar
  • 971
11 votes
Accepted

When closing the channel for LN - how to calculate the fee for the blockchain transaction?

If worried about the original closing transaction having too high of fees: The signed closing transaction that you're worried about (with too high of fees) has not yet been broadcast to the network, ...
user avatar
7 votes

Do unconfirmed transactions expire after some time?

In addition to Mark S.'s answer, since Bitcoin Core 0.12 there actually is an expiration in the mempool, which evicts unconfirmed transactions after N hours, where N is set by -mempoolexpiry, and ...
user avatar
6 votes
Accepted

What does a merchant need to do to reject RBF transactions

Replace-by-fee (RBF) transactions all have a sequence number that is below MAX - 1. If the payment a merchant receives comes from a transaction that has such a sequence number, the merchant can ...
user avatar
  • 8,734
6 votes
Accepted

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

All three proposals attempt to solve the same problem, the issue of stuck transactions. Due to the behavior of Bitcoin Core with respect to double spends (they are silently dropped, and not relayed), ...
user avatar
  • 148
6 votes
Accepted

Why doesn't RBF include restrictions on the outputs?

Why didn't the RBF specification include additional constraints on the replacing transaction, such as that it would need to contain the same outputs (with at least the original output amounts) as the ...
user avatar
  • 62.3k
6 votes
Accepted

Can I use RBF Protocol to change the value of the transaction?

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 ...
user avatar
5 votes
Accepted

Sequence number semantics

If you're creating a version 2 transaction with the disable flag not set, then by definition the whole nSequence value will be less than 0xFFFFFFFE (because it will be at most 0x7FFFFFFF). This ...
user avatar
5 votes
Accepted

Replaceable transaction or Non-replaceable. How can I identify it from raw transaction?

From BIP-125 Opt-in Full Replace-by-Fee Signaling: This policy specifies two ways a transaction can signal that it is replaceable. Explicit signaling: A transaction is considered to have ...
user avatar
  • 2,712
5 votes
Accepted

How does first seen replace by fee work?

Right now, for the most part, Bitcoin miners follow a First-Seen-Safe rule: If 2 conflicting transactions show up in the mempool, the miner sticks with the one it saw first. Replace-By-Fee would ...
user avatar
  • 1,034
5 votes
Accepted

Why some transactions disappear from the mempool?

Skimming the source code, I found the following reasons for a transaction to be removed from the mempool: It was included in a block A conflicting transaction (i.e. one which spent at least one of ...
user avatar
5 votes
Accepted

What incentive do miners have to respect the Replace-By-Fee flag?

Disrespecting it would require them modifying their software, which has ongoing administrative costs. Otherwise, there any incentive within the system to behave otherwise. Willfully not taking income ...
user avatar
  • 7,499
4 votes

What wallets currently support RBF?

No wallet currently supports creating replaceable transactions conveniently. To work around this, you can manually create raw transactions from scratch. The following are suggested instructions for ...
user avatar
  • 2,378
4 votes
Accepted

How to enable replace-by-fee via command-line in bitcoin-core?

According to bitcoin core version 0.12.0 release notes: It is now possible to replace transactions in the transaction memory pool of Bitcoin Core 0.12 nodes. Transaction replacement can be disabled ...
user avatar
  • 1,573
4 votes

Low fee Electrum wallet transaction disappeared, now when I increase the fee it seems to be rejected as a double spend

I faced a similar issue and found this reddit post quite helpful. I'm not a bitcoin expert but I will write an answer describing what I think is happening, since there are no other answers yet. When ...
user avatar
  • 141
4 votes
Accepted

What restrictions are there to the application of opt-in RBF?

What restrictions are placed on RBF in the deployed "opt-in RBF" variant? BIP-125: Opt-in Full Replace-by-Fee (RBF) Signaling specifies how to declare transactions replaceable until they are ...
user avatar
  • 64.4k
4 votes
Accepted

What is the recomended sequence for signalling RBF?

The only other relevance of the nSequence field is as relative locktime (in version 2 transactions); see BIP 68. If you do use relative locktime, they will determine the value of nSequence. If you ...
user avatar
4 votes
Accepted

What is an "insecure transaction type", as mentioned by Bitcoin Wallet for Android?

TL;DR: It seems that Bitcoin Wallet for Android incorrectly labels nLockTime transactions as OptInRBF due to a bug in bitcoinj. The issue has been reported. You don't need to do anything. Apparently,...
user avatar
  • 64.4k
4 votes
Accepted

Is "inherited" replace-by-fee signaling implemented as described in BIP125?

The answer to this question is: no, inherited signaling is not currently implemented in Bitcoin Core as described in BIP 125. In May 2021, Antoine Riard discovered the missing implementation could be ...
user avatar
  • 4,676
4 votes
Accepted

Is there a way to allow use of unconfirmed RBF outputs in transaction building?

Bitcoin Core will happily spend RBF marked inputs it doesn't avoid them much less prohibit them. Perhaps you're being confused by the fact that it will not spend an unconfirmed input created by a ...
user avatar
  • 7,499
4 votes

Replace-by-fee and re-sending to another address

Such a transaction is standard and would relay. However neither the Bitcoin Core wallet (via the bumpfee command) nor the Electrum wallet (via the GUI) would create such transaction. More information ...
user avatar
4 votes
Accepted

A question about CPFP relaying policy

Correct. tx0 is removed, and tx0child is "invalid" because it spends a UTXO that does not exist in the current chain or mempool. This could change in the future with package RBF and package ...
user avatar
  • 170
3 votes

Why most bitcoin wallet apps don't have Replace-by-fee feature?

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 ...
user avatar
  • 2,712
3 votes

What wallets currently support RBF?

As I answered in another question, Electrum Bitcoin Wallet has the feature. I've confirmed that mac client worked. It seems that Android app has the same feature. https://electrum.org/#download ...
user avatar
  • 1,825
3 votes

How to apply RBF (Replace-by-Fee)

RBF Tools by Peter Todd This page contains ..tools to test out replace-by-fee functionality. You'll need a local node with the replace-by-fee patch. E.g. To double spend ./double-spend.py <...
user avatar
  • 450
3 votes
Accepted

Do unconfirmed transactions expire after some time?

The newest version of bitcoin core 0.12 introduced a feature called replace by fee. This can be used to issue a transaction with a higher fee spending coins that have not yet been picked up in a block....
user avatar
  • 2,640
3 votes

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

Answer reposted from: How does first seen replace by fee work? Right now, for the most part, Bitcoin miners follow a First-Seen-Safe rule: If 2 conflicting transactions show up in the mempool, the ...
user avatar
  • 1,034
3 votes
Accepted

Why mark a transaction as RBF (Replace-by-Fee) explicitly?

I could broadcast a second transaction that has the same inputs but a higher fee, without marking the original transaction as replaceable. Default node behaviour is to accept the first-seen ...
user avatar
  • 17.4k
3 votes
Accepted

Why isn't Replace by fee default for all transactions?

It's been over six years and I've done entirely too little research to state the below with confidence, but what I can roughly piece together quickly between cursory research and from what I remember: ...
user avatar
  • 64.4k

Only top scored, non community-wiki answers of a minimum length are eligible