# Replace-by-fee: replacing a pending Bitcoin payment

Replace-by-fee, or RBF, submits a conflicting Bitcoin transaction that spends at least one of the same inputs, usually with a higher fee. The wallet must be able to construct it, and relay depends on receiving nodes’ policies. It cannot undo a payment already confirmed in the accepted chain.

Evidence: [Opt-in Full Replace-by-Fee](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0125.mediawiki); [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/); [Bitcoin Core replacement policy](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp)

Canonical: https://degreesofsatoshi.com/encyclopedia/replace-by-fee/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T18:15:23.891Z
Data current through: 2026-10-02

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **Conflict:** The replacement competes for an input already spent by the pending transaction. ([Bitcoin Core replacement policy](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp))
- **Transaction ID:** Changing the signed transaction normally creates a different transaction ID. ([Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html))
- **Policy:** BIP-125 documents historical opt-in policy; actual node rules depend on implementation and version. ([Opt-in Full Replace-by-Fee](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0125.mediawiki); [Bitcoin Core replacement policy](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp))

## What gets replaced

A wallet starts with the payment it already created and prepares another spend of the same coins. It may reduce a change output or choose additional inputs to pay the extra fee. The replacement must still satisfy signatures, input availability and the receiving node’s relay rules.

The recipient should follow the replacement transaction rather than assume the original identifier must eventually confirm. Two conflicting transactions cannot both spend the same output in one valid accepted chain.

Evidence: [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/); [Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html)

## A fee increase in numbers

For illustration, a 140-vbyte payment at 5 sat/vB pays 700 satoshis. If its replacement remains 140 vbytes and uses 10 sat/vB, its fee is 1,400 satoshis. The additional 700 may come out of change. A changed input or output set can change the size, so a wallet must recalculate.

Paying more does not reserve a place in a block. Miner selection, node policy, conflicts and subsequent fee conditions still matter.

Evidence: [walletcreatefundedpsbt RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/); [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/)

## What to inspect before replacing

Check the recipient output, total fee, replacement identifier and whether the original has already confirmed. The cited Bitcoin Core 29.0 RPC describes its own wallet restrictions; these are not universal rules for every wallet.

BIP-125’s opt-in flag is useful historical context, but it must not be presented as an immutable consensus requirement for every replacement accepted by later software.

Evidence: [Opt-in Full Replace-by-Fee](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0125.mediawiki); [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/); [Bitcoin Core replacement policy](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp)

## Questions

### Can RBF recover a payment that already confirmed?

No. A conflicting replacement is not a rollback of an accepted block. A confirmed payment would require a separate transaction from whoever can spend its output.

Evidence: [Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html); [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/)

## Claims and scope

### replace-by-fee-quick-answer

Replace-by-fee, or RBF, submits a conflicting Bitcoin transaction that spends at least one of the same inputs, usually with a higher fee. The wallet must be able to construct it, and relay depends on receiving nodes’ policies. It cannot undo a payment already confirmed in the accepted chain.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### replace-by-fee-fact-conflict

Conflict: The replacement competes for an input already spent by the pending transaction.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### replace-by-fee-fact-transaction-id

Transaction ID: Changing the signed transaction normally creates a different transaction ID.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

### replace-by-fee-fact-policy

Policy: BIP-125 documents historical opt-in policy; actual node rules depend on implementation and version.

Scope: {"collection":"bitcoin","dataAsOf":"2026-10-02","blockHeight":null}

## Sources

- [Opt-in Full Replace-by-Fee](https://raw.githubusercontent.com/bitcoin/bips/927b6de9915c9262615a6399de51b200f81e5aa4/bip-0125.mediawiki) — Bitcoin BIPs contributors. Historical opt-in replacement signaling and replacement policy conditions. Locator: Summary; Implementation Details. Retrieved: 2026-10-02T17:22:20.573Z.
- [bumpfee RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/bumpfee/) — Bitcoin Core. Wallet-assisted replacement and the required fee and transaction conditions. Locator: Arguments and result fields. Retrieved: 2026-10-02T17:03:40.979Z.
- [Bitcoin Core replacement policy](https://raw.githubusercontent.com/bitcoin/bitcoin/v29.0/src/policy/rbf.cpp) — Bitcoin Core. Implementation-specific replacement fees and conflict constraints. Locator: GetEntriesForConflicts; PaysForRBF. Retrieved: 2026-10-02T17:03:40.829Z.
- [Bitcoin Developer Guide: Transactions](https://developer.bitcoin.org/devguide/transactions.html) — Bitcoin developer documentation contributors. UTXO inputs, transaction outputs, change and the difference paid as a fee. Locator: P2PKH Script Validation; Transaction Fees And Change. Retrieved: 2026-10-02T17:03:41.190Z.
- [walletcreatefundedpsbt RPC](https://bitcoincore.org/en/doc/29.0.0/rpc/wallet/walletcreatefundedpsbt/) — Bitcoin Core. Input selection, fee units, change output, selected inputs and transaction funding. Locator: Arguments and result fields. Retrieved: 2026-10-02T17:03:40.827Z.

## Revision history

- 2026-10-02: Initial Bitcoin encyclopedia entry at this permanent URL.
- 2026-10-02: Added reusable claims, explicit source locators, and matching Markdown and JSON. This publishing change does not itself establish factual verification.

## Cite this entry

Degrees of Satoshi editorial project. “Replace-by-fee: replacing a pending Bitcoin payment.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/replace-by-fee/
