Crypto glossary

Child pays for parent (CPFP)

Definition

Child pays for parent (CPFP) speeds up a stuck Bitcoin transaction by spending one of its outputs in a new transaction that pays a high enough fee for both.

Miners do not judge transactions in isolation. A child transaction that spends an output of an unconfirmed parent can only be mined together with that parent, so miners look at the combined fee rate of the package. If the child pays a generous fee, it can pull the low-fee parent into a block with it.

CPFP is useful when the person who wants faster confirmation is not the sender. A recipient waiting for a payment can spend their incoming output with a high fee; a sender can do the same with their change output. Exchanges and Lightning implementations rely on it to bump transactions such as channel closings, where fees were fixed in advance. Recent Bitcoin Core versions added package relay rules to make this more reliable.

The child must pay enough to cover the parent's weight as well as its own, which makes CPFP more expensive than replace-by-fee in many cases. It only works if the parent has an output you control, and if the parent's fee is so low that nodes dropped it from their mempools, the package may not propagate at all.

Example

Bob is waiting for 0.1 BTC sent at 2 sat/vB; he spends that unconfirmed output to his own address at 60 sat/vB, and a miner includes both transactions together because their average rate is attractive.

Related terms