<blockquote>
<p>What happens to P2A outputs that are never needed in the end because their user didn't need a fee bump on their transaction? Do they just bloat the UTXO set?</p>
</blockquote>
<p>Since these outputs require no witness data to be spent, presumably they will be swept once the amount of satoshis in the output is worth sweeping. The minimum amount in satoshis for P2A outputs as of Bitcoin Core 28.0 is 240 satoshis but they can also be any other larger value. This means if the going feerate for block inclusion drops low enough to make a sweep worth it, miners are incentivized to sweep it.</p>
<blockquote>
<p>I had heard that those would carry 0 value, but in fact all of them do. Is this related to the fact that usually (I think) all outputs need need to be above dust-value for transactions to be propagated? If so, how is that reconciled with the idea of having 0-value outputs (or am I just wrong about that and they've changed to be a minimum of the dust-value?).</p>
</blockquote>
<p>Currently, all non-OP_RETURN outputs have a non-0 satoshi value dust limit that's calculated based on the script size and some other heuristics.</p>
<p>The original idea for &quot;Ephemeral Anchors&quot; was split into two separate concepts: Pay To Anchor(P2A) which is the script format, and &quot;Ephemeral Dust&quot;, which is the ability to have a dust output without unduly bloating the utxo set.</p>
<p>The latter idea is not bound to a specific output type, and is still being developed for a future Bitcoin Core release.</p>

CC BY-SA 4.0
2024-10-30T06:09:51.613Z
It costs 41 vbytes to spend a P2A output, so a 240 satoshi one would be profitable to spend at around 5.8 sat/vB, not 3.
Vojtěch Strnad
CC BY-SA 4.0
2024-10-30T06:11:04.110Z
Also, OP_RETURN outputs don't have a dust limit.
Vojtěch Strnad
CC BY-SA 4.0
2024-10-30T12:49:34.063Z
thanks, dropped the specific number because it depends on how much is being swept to avoid fixed costs and isn't that important. Salient point is it's well above minrelay.
instagibbs
CC BY-SA 4.0
2024-10-30T14:03:29.120Z
Thanks @instagibbs! I see the break in the two ideas now and I understand why the current P2A are non-0. Do you have a link for this Ephemeral Dust idea (and how this non-bloating of the UTXO set is achieved if the output is 0)? I keep finding broken links to your BIP (https://github.com/instagibbs/bips/blob/ephemeral_anchor/bip-ephemeralanchors.mediawiki) and can't find it in the BIP repo directly. The optech (https://bitcoinops.org/en/topics/ephemeral-anchors/) page also doesn't address Ephemeral Dust directly. Cheers!
thunderbiscuit
CC BY-SA 4.0
2024-10-30T17:48:40.423Z
@thunderbiscuit https://github.com/bitcoin/bitcoin/pull/30239 here's the PR

It uses a couple interlocking rules if there's dust:
1) must be 0-fee
2) if spending from that dust transaction, child MUST spend the dust
instagibbs
CC BY-SA 4.0
2024-10-29T20:54:04.943Z
2024-10-30T12:45:43.163Z
2024-10-30T12:45:43.163Z
instagibbs
<p>I'm looking at <a href="https://mempool.space/address/bc1pfeessrawgf" rel="nofollow noreferrer">PayToAnchor</a> outputs and have a few questions:</p>
<ol>
<li>What happens to P2A outputs that are never needed in the end because their user didn't need a fee bump on their transaction? Do they just bloat the UTXO set?</li>
<li>I had heard that those would carry 0 value, but in fact all of them do. Is this related to the fact that usually (I think) all outputs need need to be above dust-value for transactions to be propagated? If so, how is that reconciled with the idea of having 0-value outputs (or am I just wrong about that and they've changed to be a minimum of the dust-value?).</li>
</ol>
<p>Thanks!</p>
<p><em>Note: I'm happy to break the above into 2 questions if it's better for discoverability on BSE.</em></p>

CC BY-SA 4.0
2024-10-30T13:51:07.667Z
Great reading on P2A: the Pay to Anchor section of https://bitcoinops.org/en/bitcoin-core-28-wallet-integration-guide/
thunderbiscuit
<pay-to-anchor>
What happens to the unused P2A outputs?
thunderbiscuit
# What happens to the unused P2A outputs?

(Asked by: username_0 on 2024-10-29)

I'm looking at [PayToAnchor](https://mempool.space/address/bc1pfeessrawgf) outputs and have a few questions:

1. What happens to P2A outputs that are never needed in the end because their user didn't need a fee bump on their transaction? Do they just bloat the UTXO set?
2. I had heard that those would carry 0 value, but in fact all of them do. Is this related to the fact that usually (I think) all outputs need need to be above dust-value for transactions to be propagated? If so, how is that reconciled with the idea of having 0-value outputs (or am I just wrong about that and they've changed to be a minimum of the dust-value?).

Thanks!

*Note: I'm happy to break the above into 2 questions if it's better for discoverability on BSE.*

**Tags:** pay-to-anchor

> **Comments:**
> **username_0**: Great reading on P2A: the Pay to Anchor section of https://bitcoinops.org/en/bitcoin-core-28-wallet-integration-guide/  

---

## 1 answers

### Answer by username_1 on 2024-10-29. Score: 3 | Accepted answer

> What happens to P2A outputs that are never needed in the end because their user didn't need a fee bump on their transaction? Do they just bloat the UTXO set?

Since these outputs require no witness data to be spent, presumably they will be swept once the amount of satoshis in the output is worth sweeping. The minimum amount in satoshis for P2A outputs as of Bitcoin Core 28.0 is 240 satoshis but they can also be any other larger value. This means if the going feerate for block inclusion drops low enough to make a sweep worth it, miners are incentivized to sweep it.

> I had heard that those would carry 0 value, but in fact all of them do. Is this related to the fact that usually (I think) all outputs need need to be above dust-value for transactions to be propagated? If so, how is that reconciled with the idea of having 0-value outputs (or am I just wrong about that and they've changed to be a minimum of the dust-value?).

Currently, all non-OP\_RETURN outputs have a non-0 satoshi value dust limit that's calculated based on the script size and some other heuristics.

The original idea for "Ephemeral Anchors" was split into two separate concepts: Pay To Anchor(P2A) which is the script format, and "Ephemeral Dust", which is the ability to have a dust output without unduly bloating the utxo set.

The latter idea is not bound to a specific output type, and is still being developed for a future Bitcoin Core release.

> **Comments:**
> **username_2**: It costs 41 vbytes to spend a P2A output, so a 240 satoshi one would be profitable to spend at around 5.8 sat/vB, not 3.  
> **username_2**: Also, OP_RETURN outputs don't have a dust limit.  
> **username_1**: thanks, dropped the specific number because it depends on how much is being swept to avoid fixed costs and isn't that important. Salient point is it's well above minrelay.  
> **username_0**: Thanks @username_1! I see the break in the two ideas now and I understand why the current P2A are non-0. Do you have a link for this Ephemeral Dust idea (and how this non-bloating of the UTXO set is achieved if the output is 0)? I keep finding broken links to your BIP (https://github.com/username_1/bips/blob/ephemeral_anchor/bip-ephemeralanchors.mediawiki) and can't find it in the BIP repo directly. The optech (https://bitcoinops.org/en/topics/ephemeral-anchors/) page also doesn't address Ephemeral Dust directly. Cheers!  
> **username_1**: @username_0 https://github.com/bitcoin/bitcoin/pull/30239 here's the PR  It uses a couple interlocking rules if there's dust: 1) must be 0-fee 2) if spending from that dust transaction, child MUST spend the dust  

---

