697 / 736P2A

Ephemeral Anchors

Temporary outputs for fee sponsorship

Ephemeral Anchors combine the anyone-can-spend P2A output with ephemeral dust policy so that a paying child can later sponsor an almost fee-free parent.

Ephemeral Anchors historically meant the combination of Pay to Anchor and ephemeral dust: P2A is a compact keyless output, while ephemeral dust permits one dust output in a zero-fee parent when the package spends it at the same time.

P2A is a keyless standard output with scriptPubKey OP_1 <0x4e73>. Spending it requires neither a signature nor witness data, so anyone can use it as a compact attachment point for a child that adds fees. [1]

Bitcoin Core 28.0 made P2A spends standard and allowed limited relay of a 1-parent-1-child package. A low-fee or zero-fee parent can therefore be evaluated together with a child that pays enough for the complete package. [2]

Ephemeral dust policy in Bitcoin Core 29.0 permits one dust output when a zero-fee transaction creates it and the first unconfirmed descendant spends it together with the other intended outputs. Dust creation and removal therefore belong in the same package. [3]

Anyone can spend P2A and create the sponsoring child, improving interoperability with services such as watchtowers but also allowing an outsider to attach an unattractive child. BIP 433 therefore recommends combining it with TRUC when in doubt. [1]

P2A spending has been standard in Bitcoin Core since version 28.0, but its relay depends on node support. A typical use is a presigned contract transaction such as a Lightning commitment, whose required fee is added by a child only when the parent is published. [2]

Neither P2A nor ephemeral dust is a consensus change. They are standardness, mempool, and relay policy, so a valid block may include a transaction that an older or differently configured node did not accept into its mempool. [3]

P2A and ephemeral dust are not synonyms and do not inherently depend on each other. The historical term Ephemeral Anchors usually meant their combination; a keyed anchor can use ephemeral dust, and P2A itself can also be used without TRUC. [1]

Before use, verify the node version and policy, the P2A script, the parent's zero fee under ephemeral dust, the single dust output, its joint spend in the package, the TRUC topology, and replacement rules. Acceptance by one node does not guarantee relay or confirmation. [4]

For the clearest picture, read this entry together with TRUC Transactions, Package Relay, CPFP (Child Pays for Parent), Payment Channel, Lightning Network, Transaction Fees. The reverse links also lead from TRUC Transactions.

01Can anyone spend a P2A output?

Yes. P2A is keyless and requires no signature, so a protocol must not treat it as protected user value and should bound pinning with an appropriate topology.

02Are P2A and ephemeral dust the same thing?

No. P2A is a specific standard output and ephemeral dust is a separate mempool policy. Ephemeral Anchors historically refers to using them together.

DOC · 001BIP 433 — Pay to AnchorSpecification DOC · 002Bitcoin Core 28.0 release notesPrimary DOC · 003Bitcoin Core 29.0 release notesPrimary DOC · 004Bitcoin Optech — Ephemeral anchorsDocumentation
Revised: Source-first · No investment advice