Glossary / Lightning & layer 2
Anchor output
- What is an Anchor output?
- Anchor outputs are the two 330 satoshi escape hatches attached to a Lightning commitment transaction, one keyed to each partner, so either side can raise the fee on a close signed in advance.
Anchor channels give each partner a tiny output that only they can spend at first, purely as a handle for a later fee bump. BOLT 3 fixes the amount at 330 satoshis, and after 16 blocks anyone at all can sweep an anchor nobody claimed. If you run a Lightning wallet, keep a spare on-chain coin, because the anchor cannot pay a fee by itself.
How it works
An anchor output holds 330 satoshis behind a channel partner's funding key, and the reason a commitment carries two of them rather than one shared handle is an attack.
The script is short: the funding public key, OP_CHECKSIG, OP_IFDUP, then an OP_NOTIF branch holding OP_16 and OP_CHECKSEQUENCEVERIFY. Your own signature opens it straight away. Sixteen blocks after the commitment confirms, an empty witness opens it for anybody, which is how BOLT 3 keeps abandoned change from settling permanently into the set of live coins. That route only matters if fees fall far enough for sweeping 330 satoshis to be worth it.
One anchor each is the anti-pinning design. Give both parties a single shared handle and your counterparty can bolt a large, low fee child onto it, inflating the family of unconfirmed transactions until your own bump is priced out of reach and the commitment misses the deadline it was broadcast to meet. BOLT 3 credits a change in Bitcoin Core 0.19 for making the separate-anchor defense work, and locks each anchor to a funding key. It is also why every other output on such a commitment carries a sequence lock, to_remote included.
None of this is free. Both anchor amounts come out of the funder's balance, 660 satoshis in total, and the base weight a commitment transaction is priced from rises from 724 to 1124 weight units. What the funder buys is second-stage HTLC transactions that carry no fee at all: under option_anchors their fee must be zero, and they are signed with SIGHASH_SINGLE plus SIGHASH_ANYONECANPAY, so you attach your own input at broadcast and pay the going rate then. BOLT 9 lists it at bits 22 and 23, as an anchor commitment type with zero fee HTLC transactions.
Where you see it
Anchor outputs become visible on a block explorer the moment a Lightning channel closes without cooperation, as two of the outputs worth 330 satoshis apiece that look like somebody's mistake. BOLT 3 drops one only when no HTLCs are in flight and one party's balance is under the dust limit.
Which of our 41 wallet reviews puts you in front of one comes down to custody. Phoenix, rated 4.0 here, runs a real self-custodial Lightning node on the handset, and our review records that recovery after a force close takes roughly 720 blocks, so the anchor is yours to manage. Muun, rated 3.8, is self-custodial as well, but its Lightning payments can need a submarine swap that settles on chain. Wallet of Satoshi, rated 2.7, is custodial by default. A 330 satoshi output cannot fund a child transaction, so bumping means spending the anchor alongside a coin you already had.
Anchor output vs ephemeral anchor
An anchor output is spendable by one named funding key for its first 16 blocks, while an ephemeral anchor is keyless from the first second and holds no value worth defending.
BOLT 3's newer zero_fee_commitments channels, feature bits 40 and 41, drop the pair for a single shared_anchor built on the standard pay to anchor script: OP_1 followed by the two bytes 0x4e73, spent with an empty witness by anyone. Its amount is 240 satoshis, the standard dust limit for that script, and goes lower only when less than that is left over, which the ephemeral dust rule allows because the commitment then pays no fee. The two answer one threat from opposite ends: keyed anchors beat pinning by handing each side a lever nobody else can pull, the keyless one by leaving the commitment unmineable until somebody attaches the fee.