Child-Pays-For-Parent (CPFP) is a transaction acceleration technique where a new, higher-fee transaction (the child) is created that spends an output from an unconfirmed, low-fee transaction (the parent). Miners are incentivized to include both transactions in the next block because the combined fees from the parent and child make the package profitable. This creates a dependency chain, forcing miners to process the parent to claim the fees from the child, effectively using the child transaction to "pay for" the parent's inclusion.
Child-Pays-For-Parent (CPFP)
What is Child-Pays-For-Parent (CPFP)?
Child-Pays-For-Parent (CPFP) is a fee-boosting mechanism used in blockchain networks like Bitcoin to accelerate the confirmation of a low-fee or 'stuck' transaction.
The CPFP mechanism relies on the unconfirmed transaction chain (mempool dependency). When a user broadcasts a transaction with insufficient fees, it may linger in the mempool. To resolve this, the recipient or any holder of the transaction's output can create a new spending transaction—such as sending the funds to themselves or another address—and attach a high fee to it. This high-fee child references the unconfirmed parent's output as an input, creating a transaction package. Miners evaluating fee profitability will consider the total fee of the entire package.
A common practical example is a wallet or exchange receiving funds via a low-fee transaction. The recipient can immediately create a CPFP transaction spending those incoming, unconfirmed funds to a new address they control, attaching a substantial fee. This signals to the network the urgency and willingness to pay. Services like Bitcoin wallets often provide a "boost transaction" feature that automates this CPFP process, calculating the required child fee based on current network conditions to achieve a target confirmation time.
CPFP is often compared to Replace-By-Fee (RBF), another acceleration method. While RBF allows the original sender to replace the stuck transaction entirely with a new version bearing a higher fee, CPFP is typically executed by the transaction's recipient. This makes CPFP crucial in scenarios where the sender is unresponsive or when the original transaction cannot be replaced (e.g., it wasn't signaled as RBF-enabled). Both mechanisms are essential tools for managing transaction finality in fee markets.
Implementing CPFP requires careful consideration of fee estimation and mempool policy. The child fee must be high enough to make the combined package attractive relative to other pending transactions. Furthermore, some nodes enforce mempool rules on minimum relay fees and ancestor fee rates, which can affect whether the CPFP package is accepted and propagated. Understanding these policies is key for developers building services that require reliable transaction confirmation.
How Child-Pays-For-Parent (CPFP) Works
Child-Pays-For-Parent (CPFP) is a fee-bumping technique in blockchain networks like Bitcoin and Ethereum that allows a user to accelerate a stuck, low-fee transaction by creating a dependent, higher-fee transaction.
Child-Pays-For-Parent (CPFP) is a fee-bumping mechanism used to accelerate a confirmed but unconfirmed transaction (the parent) by creating a new, dependent transaction (the child) that spends one of the parent's outputs. The child transaction includes a high enough fee that, when combined with the parent's low fee, incentivizes miners to include both transactions in the next block. This works because miners prioritize transactions based on their fee rate (satoshis per virtual byte), and they must include the parent to validate the child, as the child spends an output that only exists after the parent is confirmed.
The most common CPFP scenario occurs when a user broadcasts a transaction with an insufficient fee, causing it to be stuck in the mempool. To resolve this, the recipient of that transaction (or the sender, if they control the change output) creates a new transaction that spends one of the outputs from the stuck transaction. By attaching a substantial fee to this new child transaction, the effective fee rate of the combined parent-child pair becomes attractive to miners. This technique is particularly useful in Bitcoin, where Replace-By-Fee (RBF) is not enabled by default on all wallets, and in Ethereum for accelerating transactions stuck due to low gasPrice or maxPriorityFee.
Executing CPFP requires the spender to control an unspent transaction output (UTXO) from the parent transaction, typically the change output or the payment output if the recipient initiates it. The child transaction must be broadcast to the network, linking its confirmation fate to the parent's. Miners evaluating the package see that to collect the high fee from the child, they must also process the low-fee parent, making the entire package profitable. This creates a transaction package with a collective fee rate that meets the current network demand, bypassing the need to directly modify the original transaction.
While powerful, CPFP has limitations. It requires access to and control of funds from the original transaction's output, which may not be possible if the recipient is uncooperative or if the output is locked. It also increases the total cost, as fees are paid for two transactions instead of one. Furthermore, in high congestion, even a CPFP package may be outbid. Compared to RBF, which replaces the original transaction entirely, CPFP is a complementary strategy that is always valid on Bitcoin and is often the only option for accelerating transactions where the sender cannot or did not signal RBF.
In practice, many cryptocurrency wallets and services like Blockchain.com and Electrum offer built-in CPFP tools. On Ethereum and other EVM chains, analogous techniques exist where a user can create a new transaction that interacts with a contract or spends funds from a pending transaction, effectively bumping the gas price for the entire dependent set. Understanding CPFP is essential for managing transaction finality and user experience in decentralized systems where network fees are dynamic and unpredictable.
Key Features of CPFP
Child-Pays-For-Parent (CPFP) is a fee-bumping technique that uses a dependent transaction to accelerate a stuck one. These are its core operational principles.
Transaction Dependency
CPFP creates an explicit parent-child relationship between two transactions. The original, low-fee transaction is the parent. A new, high-fee transaction that spends one of the parent's outputs is the child. Miners must process them together in a block, as the child is invalid unless the parent is confirmed first.
Fee Aggregation
The mechanism works by aggregating fees from both transactions. Miners evaluate the fee rate of the entire package (total fees / total virtual size). By attaching a high-fee child, the overall package becomes economically attractive, incentivizing miners to include the otherwise low-priority parent.
UTXO Requirement
CPFP requires a spendable output (UTXO) from the stuck parent transaction. This is the "child" that pays for the "parent." Common methods include:
- Spending a change output from the original transaction.
- A recipient of the parent transaction creating a new spend. If the parent has no spendable outputs (e.g., all outputs are to unspendable scripts), CPFP is not possible.
Replace-by-Fee (RBF) Alternative
CPFP is often compared to Replace-by-Fee (RBF). Key differences:
- RBF replaces the original transaction entirely with a new, higher-fee version.
- CPFP creates a new, dependent transaction instead of replacing the old one.
- RBF must be signaled by the original sender; CPFP can be executed by any holder of the parent's UTXO (e.g., the recipient).
Miner Incentive Design
The protocol design makes including the package the rational choice for miners. Since the child transaction references the parent, it is only valid if the parent is in the same block. This forces miners to evaluate the combined profitability, aligning individual transaction goals with network throughput.
Wallet & Node Support
Effective CPFP requires support from wallets and nodes. Key functions include:
- Package Relay / Acceptance: Nodes must accept and relay unconfirmed transaction packages.
- Package Mempool: Miners need mempool logic to evaluate package fee rates.
- Wallet UI: Wallets should allow users to easily create a CPFP child transaction.
CPFP vs. Replace-By-Fee (RBF)
A comparison of the two primary on-chain methods for accelerating a stuck Bitcoin transaction.
| Feature | Child-Pays-For-Parent (CPFP) | Replace-By-Fee (RBF) |
|---|---|---|
Core Mechanism | Creates a new child transaction spending the stuck transaction's output | Replaces the original unconfirmed transaction with a new, higher-fee version |
Prerequisite | Stuck transaction must have a spendable output | Original transaction must be signaled as replaceable (RBF flag) |
Who Can Initiate | Recipient of the stuck transaction or any spender of its output | Original sender of the stuck transaction |
Network View | Adds a new transaction to the mempool, increasing total fee of the package | Removes the old transaction and adds a new one to the mempool |
Fee Bumping Target | Combined fee rate of the parent-child transaction package | Fee rate of the single replacement transaction |
Transaction Finality | Original transaction remains immutable; cannot be reversed | Original transaction is invalidated; can be double-spent by the sender |
Default Support | Supported by all Bitcoin nodes and miners | Requires explicit opt-in (BIP 125); not all miners support it |
Typical Use Case | Accelerating a transaction received with low fee | Accelerating or canceling a transaction you sent with low fee |
Common Use Cases for Child-Pays-For-Parent (CPFP)
CPFP is a fee-bumping technique used to accelerate a stuck transaction by creating a dependent child transaction with a higher fee. These are its primary applications.
Unblocking Stuck Transactions
The most common use case. When a low-fee transaction is stuck in the mempool, a user can create a new transaction that spends one of its outputs (the UTXO). This new, higher-fee child transaction creates a transaction package. Miners are incentivized to include both to collect the total fee, unblocking the original parent transaction.
- Example: A wallet broadcast a payment with 5 sat/vB; network congestion pushes the required fee to 15 sat/vB. The sender creates a CPFP transaction spending that payment's change output with a 20 sat/vB fee.
Accelerating Time-Sensitive Settlements
Critical for services requiring guaranteed confirmation within a specific time window, such as:
- Arbitrage trades across exchanges
- Liquidations in DeFi protocols
- Time-locked contracts or payment channels
Using CPFP provides a deterministic method to increase priority without relying on Replace-By-Fee (RBF), which must be signaled by the original transaction. This makes it essential for operational reliability in high-stakes financial operations.
Rescuing Funds in Batched Transactions
A vital tool for wallets and services that use transaction batching. If a batched transaction containing dozens of payments gets stuck, all constituent payments are delayed. A recipient of one of those payments can use CPFP to accelerate the entire batch by spending the output they received.
This shifts the fee-bumping responsibility and cost from the original sender to the recipient who needs urgency, solving a common coordination problem in UTXO-based blockchains like Bitcoin.
Fee Management for Multi-Party Protocols
Essential in complex smart contract or multi-signature setups on Bitcoin-like chains (e.g., Lightning Network channel closures, DLC settlements).
- If a cooperative closing transaction is broadcast with insufficient fee, any participant can CPFP it.
- In a 2-of-3 multisig vault, any key holder can bump the fee for a withdrawal, ensuring the transaction eventually confirms without requiring all signers to coordinate a replacement.
This provides robustness and reduces failure points in decentralized protocols.
Counteracting Block Space Auctions & Mempool Gaps
Used strategically when sudden spikes in network demand create a fee market auction. Users who initially underbid can use CPFP to outbid newer, higher-fee transactions. It is also a defense against mempool gaps, where miners may selectively clear high-fee transactions, leaving lower-fee ones stranded. By attaching a high-fee child, the package becomes more attractive than individual transactions, ensuring it is not skipped.
Comparison with RBF (Replace-By-Fee)
CPFP and RBF are the two primary fee-bumping methods. Key differences:
- CPFP: Requires a spendable output from the stuck transaction. Can be performed by anyone who can spend an output (sender OR recipient). Creates a dependent child tx.
- RBF: Requires the original transaction to signal RBF (
nSequence < 0xffffffff-1). Can only be performed by the original sender. Replaces the original tx entirely.
Use CPFP when you are the recipient, the tx didn't signal RBF, or you want to avoid invalidating downstream dependencies.
Ecosystem Usage & Protocol Support
Child-Pays-For-Parent (CPFP) is a fee-bumping mechanism where a new, higher-fee transaction (the child) can accelerate the confirmation of a stuck, low-fee transaction (the parent) by creating a dependent transaction package.
Core Mechanism
CPFP works by creating a dependent transaction that spends an output from a stuck parent transaction. Miners are incentivized to include both transactions in a block to collect the combined fees. This creates a package where the child's higher fee effectively subsidizes the parent's low fee, making the entire package profitable to mine.
- Parent Transaction: A broadcasted but unconfirmed transaction with insufficient fees.
- Child Transaction: A new transaction that spends an output from the parent, carrying a high fee.
- Package RBF: The miner's mempool logic evaluates the fee rate of the entire transaction package.
Wallet & Exchange Implementation
Major wallets and exchanges implement CPFP to improve user experience with stuck transactions.
- User-Initiated: Wallets like Electrum allow users to create a CPFP transaction manually by spending a change output.
- Automated Bumping: Services may automatically construct and broadcast a child transaction when a user's withdrawal is delayed.
- Exchange Protocols: Custodial platforms use CPFP internally to clear backlogged withdrawal transactions from their hot wallets, ensuring timely processing for users.
Bitcoin Improvement Proposals (BIPs)
CPFP's behavior and optimization are defined and enhanced through Bitcoin Improvement Proposals.
- BIP 125 (Opt-In RBF): While primarily for Replace-By-Fee, its signaling mechanism is often used in conjunction with CPFP strategies.
- Package Relay (Package Mempool Accept): Proposed upgrades to the P2P protocol to allow nodes to evaluate transaction packages directly, making CPFP more reliable and reducing pinning attacks. This is part of ongoing work to improve mempool policy.
Fee Estimation & Mempool Dynamics
CPFP directly interacts with network mempool and fee estimation algorithms.
- Fee Market Impact: A surge in CPFP usage can temporarily inflate mempool fee rates as users compete to bump transactions.
- Estimation Services: Advanced fee estimators account for the potential of CPFP, sometimes suggesting a "bump fee" option instead of a simple fee increase on the original transaction.
- Mempool Eviction: Low-fee parent transactions vulnerable to eviction due to memory limits can be rescued via CPFP before they are dropped from network nodes.
Lightning Network & Layer-2
CPFP is a critical tool for managing Bitcoin's Layer-2 protocols, especially the Lightning Network.
- Channel Force-Closure: If a counterparty broadcasts an old state, a user can use CPFP to accelerate the confirmation of their justice transaction, penalizing the malicious party.
- Anchor Outputs: Modern Lightning channels use anchor outputs, which are small, low-fee outputs designed specifically to be spent via CPFP to bump the fee of the commitment transaction, enabling reliable channel closings.
Limitations & Security Considerations
While powerful, CPFP has specific constraints and risks.
- Spendable Output Requirement: Requires an unspent output from the parent transaction (e.g., change) that the user controls.
- Transaction Pinning: Attackers can use large descendant size or other techniques to make a child transaction expensive to mine, preventing CPFP. Proposals like ephemeral anchors aim to mitigate this.
- Not Universal: Some miners or mining pools may not honor package relay policies, though it is widely supported.
Security and Economic Considerations
Child-Pays-For-Parent (CPFP) is a fee-bumping technique where a new transaction (the child) spends an output from a stuck transaction (the parent), attaching a high fee to incentivize miners to confirm both. This section examines its security and economic implications.
Fee Market Manipulation
CPFP allows users to outbid competing transactions in the mempool, creating a dynamic fee auction. This can be used strategically to accelerate time-sensitive transactions but also contributes to fee inflation during network congestion. It's a user-driven mechanism that interacts directly with the block space auction.
Transaction Pinball Attack
A malicious actor can exploit CPFP to censor a target's transaction. By creating a low-fee parent that spends the target's UTXO and a high-fee child, they can make it economically irrational for miners to include the original transaction. This highlights CPFP's dual role as both a remedy and a potential attack vector for transaction censorship.
Mempool Cleanliness
CPFP transactions increase mempool bloat because the unconfirmed parent must be held alongside the child. Miners and nodes must manage this additional state, impacting memory and bandwidth. Some node implementations may evict low-fee parent transactions after a timeout, which can break the CPFP incentive and cause the child to become invalid.
Replace-By-Fee (RBF) vs. CPFP
RBF and CPFP are the two primary fee-bumping methods, with distinct security trade-offs.
- RBF: Replaces the original transaction. Requires explicit signaling (
opt-in RBF). Can be used for double-spend attacks if not carefully monitored. - CPFP: Creates a dependent transaction. Does not replace the original, making it safer for recipients but requiring control of a transaction output.
Economic Incentive Alignment
CPFP perfectly aligns with miner incentives: it makes confirming a package of transactions more profitable. This economic guarantee is why it's a reliable method. However, it requires the user to have an unspent output (UTXO) from the stuck transaction, which isn't always possible (e.g., for the first transaction in a new wallet).
Implementation & Wallet Support
Not all wallets or services support CPFP creation. Users must rely on wallets with advanced transaction crafting capabilities. Furthermore, the effectiveness depends on miner software that supports package relay and evaluates transaction fees based on the total fee per virtual byte of the parent-child package.
Common Misconceptions About CPFP
Child-Pays-For-Parent (CPFP) is a powerful Bitcoin transaction acceleration technique, but its mechanics and limitations are often misunderstood. This section clarifies the most frequent points of confusion.
No, CPFP does not guarantee confirmation. It is a fee-bumping technique that makes a parent transaction more attractive to miners by attaching a high-fee child transaction. However, confirmation is ultimately at the discretion of miners, who may still prioritize other transactions with even higher fees. If network congestion is extreme, even a CPFP transaction can be outbid. It increases the likelihood of inclusion in the next block but does not provide an absolute guarantee.
Technical Details and Miner Economics
This section details the mechanisms that govern how transactions are included in blocks and the economic incentives for network validators (miners or stakers).
Child-Pays-For-Parent (CPFP) is a Bitcoin transaction fee bumping technique that allows a low-fee, stuck transaction (the parent) to be confirmed by creating a new, dependent transaction (the child) with a high fee. The child transaction spends an output from the parent, creating a dependency chain. Miners must include both transactions in a block to claim the child's fee, making the combined fee attractive enough for inclusion.
Mechanism:
- A user broadcasts Transaction A with a low fee, and it gets stuck in the mempool.
- The user creates Transaction B, which spends an output from Transaction A.
- Transaction B includes a fee high enough that the total fee for both transactions (A + B) exceeds the current network fee rate.
- A miner includes both transactions in a block to collect the combined fee, thereby confirming the parent.
Frequently Asked Questions (FAQ)
Child-Pays-For-Parent (CPFP) is a fee-bumping mechanism used in blockchain networks like Bitcoin and Ethereum to accelerate a stuck transaction by creating a dependent child transaction with a higher fee.
Child-Pays-For-Parent (CPFP) is a transaction acceleration technique where a new, higher-fee transaction is created that spends the output of a low-fee, stuck parent transaction. The mechanism works because miners prioritize blocks based on the total fee per byte of a transaction and its entire dependency chain. By creating a child transaction that depends on the unconfirmed parent, the combined fee density of the transaction package increases, incentivizing miners to include both transactions in the next block. This is a core method for fee bumping when Replace-By-Fee (RBF) is not an option on the network or for the specific transaction.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.