One update to this: the "signal that you're okay paying more" step has mostly gone away. Bitcoin Core 28.0 changed the default of -mempoolfullrbf from 0 to 1 (PR #30493, in the 28.0 release notes), so nodes on 28.0 or later accept a replacement even if the original transaction never opted in.
Two things still apply:
- The replacement has to pay more total fee than the original, plus enough extra to cover its own size at the relay fee. A tiny bump gets rejected.
- It only works while the original is unconfirmed, and your wallet has to offer "bump fee" or "speed up" (or you use CPFP, spending the stuck output with a high fee).
Live check: mempool.space shows 1 sat/vB for every fee tier right now (about 3:20 PM PT), so a stuck transaction is unlikely today. This matters more when fees spike.
