Pay-to-anchor

From Bitcoin Wiki
Jump to navigation Jump to search

Pay-to-anchor (P2A) is a keyless native Segregated Witness version 1 output type described by BIP 433. The scriptPubKey is OP_1 <0x4e73>, serialized as the bytes 0x51 0x02 0x4e 0x73. On mainnet the corresponding Bech32m address is bc1pfeessrawgf. Spending requires an empty witness. Anyone able to broadcast a child that spends the output can attach fees. P2A names the output template. It is not the same as a keyed Lightning option_anchors output, and it is not the same as an ephemeral anchor, which is a usage pattern that combines a P2A output with TRUC policy and ephemeral dust.

Because the program is a native witness output, BIP 141 requires a blank scriptSig, so the spending transaction's txid is stable against scriptSig malleation. Bitcoin Core treats a non-empty witness as nonstandard for this template, which keeps the wtxid stable against witness padding under standard relay. Consensus still accepts any witness. BIP 433 recommends combining P2A with TRUC to bound pinning by an oversized low-feerate child. Bitcoin Core 28.0 made P2A spends standard. Core 29.0 added ephemeral-dust policy for a zero-value P2A spent in the same package.

See also

External links