Child Pay For Parent (CPFP)
Imagine receiving bitcoin but the transaction is stuck in the mempool.
The sender used a fee that's too low, and miners aren't picking it up.
What can you do? This is where Child Pays For Parent (CPFP) comes in.
What is CPFP?
CPFP is a fee-bumping strategy where the recipient of an unconfirmed transaction creates a new transaction (child) that spends the pending funds and includes a high enough fee to incentivize miners to confirm both transactions together.
How Does CPFP Work?
Let's break it down with an example:
- Alice sends 1 BTC to Bob with a very low fee
- The transaction gets stuck in the mempool because miners ignore low-fee transactions
- Bob creates a new transaction (child) spending the unconfirmed bitcoin
- Bob attaches a high fee to the child transaction
- Miners see they can collect both fees by including both transactions
- Both transactions get confirmed in the next block
Technical Details
CPFP works because of two key Bitcoin concepts:
- UTXO Model: Bitcoin allows spending unconfirmed outputs, enabling the creation of child transactions
- Mempool Package Evaluation: Miners evaluate related transactions as a package, considering their combined size and fees
Fee Calculation
The effective fee rate for a CPFP package is:
CPFP is particularly useful when:
- You receive a transaction with too low fees
- The sender didn't enable RBF (Replace-By-Fee)
- You need urgent confirmation of incoming funds
Limitations
While powerful, CPFP has some constraints:
- Only the recipient can initiate CPFP
- Requires enough funds to cover the new transaction fee
- Some wallets don't support CPFP natively
- May not work during extreme network congestion