BIP 125
Opt-in Full Replace-by-Fee Signaling
Original title: Opt-in Full Replace-by-Fee Signaling
- Status
- Deployed
- Type / Layer
- Specification / Applications
- Author
- David A. Harding, Peter Todd
- Assigned
- Status verified
- Source
- github.com/bitcoin/bips/blob/master/bip-0125.mediawiki
Summary
A signalling policy that lets an unconfirmed transaction be replaced by another transaction spending the same inputs. At the time, most nodes would not replace anything already in their mempool, so a spender who underestimated the fee had no way to adjust. BIP125 defines two ways to signal replaceability: explicit signalling, where any input sets nSequence below 0xffffffff-1, and inherited signalling, where a transaction is replaceable for as long as an unconfirmed ancestor signals. It also states the conditions under which a node accepts a replacement — the replacement must pay at least the sum of the original transactions' fees, must additionally pay for its own bandwidth at the node's minimum relay fee rate, and must not evict more than 100 transactions in total counting descendants. Receiving wallets are advised either to flag such transactions or to withhold treating them as payment until confirmed.
Why it matters
It made fee bumping a standard operation and gave a principled answer to transactions stuck during congestion. The premise has since shifted, however: Bitcoin Core enabled full-RBF (replacement regardless of signalling) by default in v28.0 in 2024. When reasoning about zero-confirmation acceptance, note that the word "opt-in" in this BIP no longer matches how relay behaves in practice.
Related articles
This page carries a summary, not a translation. The original document is authoritative, and the metadata above — including Status — was transcribed from the bips repository on the verification date shown. Always consult the original when implementing or verifying.