CPFP speeds up a stuck Bitcoin transaction by spending its output in a new high-fee child. Miners take both together. Learn when and how to use it.
The trick
A child transaction can only confirm if its parent confirms first, in the same block or earlier. So if you spend an output of a stuck transaction with a high fee, a miner who wants that fee must include the parent too.
Working out the package rate
Parent: 200 vB paying 400 sats (2 sat/vB). Child: 150 vB paying 6,000 sats (40 sat/vB). Together: 6,400 sats ÷ 350 vB ≈ 18.3 sat/vB. If that beats the current next-block rate, a miner is likely to take both.
Who can use it?
Anyone who controls an output of the stuck transaction:
- the receiver, spending the payment they got,
- the sender, spending their change.
That's the advantage over RBF, which only the sender can use.
Working out the child's fee
To lift a stuck parent to a target package rate:
child fee = target rate × (parent vsize + child vsize) − parent feeWith a 200 vB parent paying 400 sats, a 150 vB child and a 15 sat/vB target: 15 × 350 − 400 = 4,850 sats for the child.
When to choose CPFP over RBF
- You're the receiver and can't replace the sender's transaction.
- The sender didn't allow replacement and your wallet won't override it.
- You want to keep the original transaction exactly as it is.
Key takeaways
- A high-fee child transaction pulls its low-fee parent into a block.
- Miners look at the combined package fee rate.
- Receivers can use CPFP; only senders can use RBF.
Common questions
Does CPFP always work?
Usually, but very large unconfirmed chains or a parent far below the minimum relay fee can cause problems.
Is CPFP more expensive than RBF?
It usually costs a bit more because the child transaction takes extra space.
Can anyone do CPFP on my transaction?
Only someone who controls one of its outputs: usually the receiver or the sender via their change.
Is CPFP supported by wallets?
Several desktop wallets offer it, often labelled 'accelerate' or 'CPFP' on unconfirmed incoming payments.