<p>No, it's not a matter of sending to the same address multiple times, rather, CPFP works by spending the output of a previous transaction in a second transaction with a higher fee.</p>

<p>Example:</p>

<p>An unconfirmed transaction <code>A</code> with 500B size paid 20000 satoshis fee which corresponds to a fee rate of 40 satoshis per byte. The transaction has two outputs: </p>

<ul>
<li><code>A:0</code> is signing over funds to the recipient</li>
<li><code>A:1</code> is signing the remainder back over to the sender</li>
</ul>

<p>Let's say that the transaction is stuck because it would have needed a fee rate of 100 satoshis per byte to get selected into a block.</p>

<p>As the sender, you now create a second transaction <code>B</code> that uses the unconfirmed transaction <code>A</code>'s change output <code>A:1</code> as one of its inputs. Let's say that this second transaction <code>B</code> has 250B. To pay a fee rate of 100 sat/B for the second transaction, you'd specify a fee of 25,000 satoshis. But you also wanted to speed up the unconfirmed parent transaction! To do so, you add another 30000 satoshis, which brings the child transaction's fee up to 55000 satoshis.</p>

<p>This leaves the parent transaction <code>A</code> with a fee rate of 40 satoshis/byte, and the child transaction <code>B</code> with a fee rate of 220 satoshis/byte, but the two transactions in sum with 75,000 satoshis for 750 bytes of transactions, or a fee rate of 100 satoshis per byte. In order to get the juicy fee from the child transaction <code>B</code>, a miner has to also confirm transaction <code>A</code> as <code>B</code> is invalid if <code>A</code> is unconfirmed. They are thusly incentivized to include both <code>A</code> and <code>B</code> by the child paying for the parent.</p>

<p>Note that the recipient has the same option by creating an analogous CPFP transaction via spending <code>A:0</code>. (H/T Thalis K. for pointing this out in the comments)</p>

CC BY-SA 3.0
2017-12-23T00:47:30.770Z
Thank you. How do you choose the send address on an exchange?
Shes2smart
CC BY-SA 3.0
2017-12-23T01:17:04.303Z
@Shes2smart: As far as I know all exchanges take custody of your funds, so you cannot.
Murch
CC BY-SA 4.0
2018-05-29T17:57:59.670Z
Worth noting, that a CPFP transaction can by created either by recipient of funds i.e. recipient of `A:0` in the example above, or by the spender (initial sender) if the transaction has change which would be `A:1` in the example above.
thalisk
CC BY-SA 4.0
2018-05-29T20:03:59.730Z
@ThalisK.: Thanks, I've added a comment to point this out.
Murch
CC BY-SA 4.0
2017-12-23T00:31:25.370Z
2018-05-29T20:03:39.667Z
2018-05-29T20:03:39.667Z
Murch
<p>With the Child Pays for Parent (CPFP) Do I sent more bitcoin to the SAME address the stuck transaction was sent to? The second transaction (with fees high enough to cover both transactions) will push the first transaction through? Or will they both get stuck? Or will the latter bypass the lesser?</p>

<p>For example.</p>

<p>1- I sent 5 BTC to address flsdjlfksdjfli3w320r89we2182eq78e9r7239
and it gets stuck</p>

<p>2 - so I sent ANOTHER transaction to flsdjlfksdjfli3w320r89we2182eq78e9r723 (+ fees for both transactions), </p>

<p>3 - and then both transactions go through?</p>

<p>Thanks in advance for the answers.</p>

<transactions><child-pays-for-parent>
CPFP: Child Pays For Parent Clarification Needed
Shes2smart
# CPFP: Child Pays For Parent Clarification Needed

(Asked by: username_0 on 2017-12-23)

With the Child Pays for Parent (CPFP) Do I sent more bitcoin to the SAME address the stuck transaction was sent to? The second transaction (with fees high enough to cover both transactions) will push the first transaction through? Or will they both get stuck? Or will the latter bypass the lesser?

For example.

1- I sent 5 BTC to address flsdjlfksdjfli3w320r89we2182eq78e9r7239
and it gets stuck

2 - so I sent ANOTHER transaction to flsdjlfksdjfli3w320r89we2182eq78e9r723 (+ fees for both transactions),

3 - and then both transactions go through?

Thanks in advance for the answers.

**Tags:** transactions, child-pays-for-parent


---

## 1 answers

### Answer by username_1 on 2017-12-23. Score: 5

No, it's not a matter of sending to the same address multiple times, rather, CPFP works by spending the output of a previous transaction in a second transaction with a higher fee.

Example:

An unconfirmed transaction `A` with 500B size paid 20000 satoshis fee which corresponds to a fee rate of 40 satoshis per byte. The transaction has two outputs:

* `A:0` is signing over funds to the recipient
* `A:1` is signing the remainder back over to the sender

Let's say that the transaction is stuck because it would have needed a fee rate of 100 satoshis per byte to get selected into a block.

As the sender, you now create a second transaction `B` that uses the unconfirmed transaction `A`'s change output `A:1` as one of its inputs. Let's say that this second transaction `B` has 250B. To pay a fee rate of 100 sat/B for the second transaction, you'd specify a fee of 25,000 satoshis. But you also wanted to speed up the unconfirmed parent transaction! To do so, you add another 30000 satoshis, which brings the child transaction's fee up to 55000 satoshis.

This leaves the parent transaction `A` with a fee rate of 40 satoshis/byte, and the child transaction `B` with a fee rate of 220 satoshis/byte, but the two transactions in sum with 75,000 satoshis for 750 bytes of transactions, or a fee rate of 100 satoshis per byte. In order to get the juicy fee from the child transaction `B`, a miner has to also confirm transaction `A` as `B` is invalid if `A` is unconfirmed. They are thusly incentivized to include both `A` and `B` by the child paying for the parent.

Note that the recipient has the same option by creating an analogous CPFP transaction via spending `A:0`. (H/T Thalis K. for pointing this out in the comments)

> **Comments:**
> **username_0**: Thank you. How do you choose the send address on an exchange?  
> **username_1**: @username_0: As far as I know all exchanges take custody of your funds, so you cannot.  
> **username_2**: Worth noting, that a CPFP transaction can by created either by recipient of funds i.e. recipient of `A:0` in the example above, or by the spender (initial sender) if the transaction has change which would be `A:1` in the example above.  
> **username_1**: @ThalisK.: Thanks, I've added a comment to point this out.  

---

