Transactions & Network

CPFP

Child Pays for Parent (CPFP) is a fee-bumping technique where the recipient of an unconfirmed transaction creates a new high-fee transaction spending the unconfirmed output. Miners are incentivized to confirm both transactions together to collect the combined fees.

How It Works

When a Bitcoin transaction is stuck in the mempool with an insufficient fee, the sender can use RBF to bump it. But what if the sender is unresponsive or the transaction does not signal RBF? The receiver can use CPFP instead. The receiver creates a new transaction (the "child") that spends the unconfirmed output from the stuck transaction (the "parent"). By attaching a high enough fee to the child transaction, the combined fee rate of the parent and child together becomes attractive to miners.

Miners evaluate transaction packages, not just individual transactions. If the child pays enough to make the package fee rate competitive, miners will include both the parent and child in the next block. The child transaction is invalid without the parent, so they must be confirmed together. This effectively lets the receiver pay the shortfall in fees.

CPFP does cost you additional fees — you are paying for both the child transaction's own weight and compensating for the parent's underpayment. It also creates an additional UTXO and uses more block space. When possible, RBF is more efficient because it replaces the original transaction rather than adding a new one. But CPFP is invaluable when you are the receiver and the sender cannot or will not bump the fee.

Key Points

  • Receiver creates a high-fee "child" transaction spending the stuck "parent" output
  • Miners confirm both together because the combined fee rate is attractive
  • Essential when the sender cannot or will not use RBF to bump the fee
  • Less fee-efficient than RBF because it adds an extra transaction
  • Supported by miners through package relay and mempool package evaluation