Skip to content
buybitcoinsmart

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.

Not to be confused with

Frequently asked questions

Do I need on-chain bitcoin to use a Lightning channel with anchors?

Yes, if you hold your own channels. An anchor is 330 satoshis, far too little to pay for the transaction that spends it, so raising the fee on a close means combining the anchor with a separate coin you already control. Custodial Lightning wallets hold the channels themselves, so the question never reaches you.

Why does BOLT 3 advise a higher dust limit on anchor channels?

Because second-stage HTLC transactions pay no fee under option_anchors, their weight no longer counts when deciding whether a small HTLC gets its own output, so BOLT 3 recommends raising dust_limit_satoshis on these channels to keep the outputs that do appear economical to spend.

Can anyone spend an anchor output?

Yes, after 16 blocks. The script lets anybody sweep an unclaimed anchor with an empty witness once the commitment transaction is 16 blocks deep, which stops abandoned 330 satoshi outputs sitting in the live coin set forever. It is only worth doing when fees are very low.

Read next

Related terms

More in Lightning & layer 2