
On December 4, 2015, David A. Harding and Peter Todd published BIP 125: “Opt-in Full Replace-by-Fee Signaling.” The proposal established a standard for Bitcoin transactions to signal their willingness to be replaced by higher-fee versions while still unconfirmed — formalizing a concept that Satoshi Nakamoto had first described five years earlier. It is the mechanism behind the plain-language advice the beginner guide gives a sender whose payment is stuck with too low a fee: rebroadcast with more attached.
Origin in Satoshi’s design
The BIP’s rationale explicitly traces the concept to Nakamoto’s original Bitcoin implementation, which included a transaction replacement mechanism using nSequence numbers. Satoshi described this concept on BitcoinTalk in December 2010, explaining how senders could update transactions with higher fees. The feature was later removed from Bitcoin Core due to denial-of-service concerns — Satoshi himself disabled it in August 2010, and the dead code was finally deleted in November 2013; the monetary design entry tracks this fee-mechanism history in full.
The December 2010 connection
Peter Todd (then posting as “retep”) replied to Satoshi’s description of transaction replacement with a technical correction:
Peter Todd (BitcoinTalk post, December 10, 2010, 1:27:59 AM UTC)Of course, to be specific, the inputs and outputs can’t match exactly if the second transaction has a transaction fee.
This was Todd’s second-ever post on BitcoinTalk, made three days after registration. Satoshi’s last public forum post came two days later. Five years afterward, Todd formalized the very concept Satoshi had been describing.
How BIP 125 works
Transactions signal replaceability by setting any input’s nSequence number below (0xffffffff - 1). Replacement transactions must: only have unconfirmed inputs from original transactions, pay higher absolute fees, meet minimum relay fee rates, and evict no more than 100 transactions total. The transaction design document’s two-era comparison table tracks BIP 125’s later rollout history, from opt-in default in v0.12 through full RBF by default in v28.0.
Controversy
RBF was a deeply contentious change. Critics argued it broke “zero-confirmation” transactions that merchants relied on. Supporters countered that zero-confirmation transactions were never truly secure and that RBF aligned with Bitcoin’s fee market design. The opt-in approach was a compromise — only transactions explicitly signaling replaceability could be replaced.
Significance
BIP 125 completed what Satoshi had started. The original transaction replacement was removed as unsafe; Todd’s opt-in version made it practical. The record shows a developer finishing a predecessor’s work. It does not show the same mind returning to complete an unfinished design, as the HBO documentary “Money Electric” suggested, and the technical community rejected that reading.













