A Bitcoin transaction broadcast with an inadequate fee may wait indefinitely. A replacement mechanism exists to supersede it, and understanding the rules explains what is possible.

Unconfirmed transactions are only proposals

Until included in a block, a transaction has no settled status. It sits in the mempools of nodes that heard it, waiting to be selected.

Nothing binds a node to keep it. A transaction can be dropped, and no notification exists to tell the sender that this has happened.

This is why unconfirmed transactions should never be treated as payment received. The absence of confirmation is the absence of settlement.

Replacement uses the same inputs

Every transaction spends specific prior outputs. A replacement spends the same outputs, which makes the two mutually exclusive since an output can only be spent once.

Nodes that accept replacement will discard the original in favor of the new version, provided the new one satisfies the relevant conditions.

The most important condition is that the replacement pays a higher fee, both in total and relative to its size. Otherwise the network would relay endless free rewrites.

Signaling determines eligibility

Historically a transaction had to indicate willingness to be replaced through a field set at creation, so the recipient knew the payment could still be changed.

Wallets differ in whether they set this by default, which is why some transactions can be accelerated easily and others cannot be replaced at all.

Node policy on relaying replacements has itself been debated within the Bitcoin community, since it affects how much confidence an unconfirmed transaction deserves.

Child pays for parent works from the other side

When replacement is unavailable, a recipient can spend an output of the stuck transaction in a new transaction carrying a high fee.

Because the child cannot be confirmed without the parent, block producers evaluate the pair together. The combined fee rate can make including both worthwhile.

This lets the party receiving funds accelerate a payment without the sender's involvement, which is useful when the sender has gone offline.

Replacement enables cancellation in practice

Constructing a replacement that sends the funds back to an address you control effectively cancels the original payment, as long as neither has confirmed.

Whether this succeeds is a race, since a block producer may include the original at any moment. There is no guarantee and no way to reverse a confirmation.

Merchants accepting Bitcoin therefore wait for confirmations before releasing goods. The waiting period exists precisely because of what remains possible beforehand.