lightning-submarine-swaps

v2026.09.24

Submarine swaps: atomic on-chain ↔ Lightning conversions via shared HTLC preimage. Boltz protocol, Loop protocol, Peerswap (P2P), trustless variants with adaptor signatures. Boltz swaps are offline (suspended 2026-08-03); Loop, Peerswap and Blockstream Swaps (beta) are the live options as of September 2026. USE WHEN: building swap services, integrating with Loop / Peerswap / Blockstream Swaps, reading Boltz as a protocol reference, designing trust-minimized swap flows.

GitHub
Install command
npx skhub add claude-dev-suite/lightning-submarine-swaps
Markdown
SKILL.md

Submarine Swaps

A submarine swap atomically converts between on-chain BTC and Lightning BTC (or vice versa) using a single shared preimage that reveals one side, allowing the other side to claim.

Atomicity primitive

Both sides commit to same hash H = SHA256(P) (or scalar T = t*G for PTLC).
Side 1 claims: requires P (or t).
Side 2 claims: refundable after timeout, or claimable with P (or t).

Whoever moves first reveals P → other side can immediately claim.
Either both legs settle, or both refund.

Service status (September 2026)

ServiceStatus as of 2026-09-15Notes
BoltzOffline since 2026-08-03All mainchain, Lightning and Liquid swaps disabled "until further notice"; EVM-side swaps (USDT, USDC, TBTC, WBTC, RBTC) went first, on 2026-08-01.
Loop (Lightning Labs)Operatinglightninglabs/loop v0.35.0-beta, released 2026-08-25.
PeerswapOperating, Bitcoin onlyv7.0.1 (2026-09-07) rejects new L-BTC swap requests in both directions after a Liquid Network security incident; Bitcoin swaps unchanged.
Blockstream SwapsBeta since 2026-08-10In-house swaps feature for the Lightning and Liquid networks; beta testing with select participants, access by request.

Boltz cited months of "automated, AI-assisted probing" of its infrastructure and several exploits: attackers "iterate faster than a team our size can find and patch". Because the swap design is non-custodial, user funds were never at risk — Boltz absorbed the losses on its own liquidity, the refund API stayed up, and unilateral refunds never depended on Boltz infrastructure at all. On 2026-08-12 all three founders announced their departure, handing the project to an undisclosed group of Bitcoiners supplying capital and engineering; no relaunch date had been announced as of 2026-09-15.

Downstream integrators that lost swap functionality: ZEUS, Aqua (JAN3), Bull Bitcoin.

Practical consequence: the Boltz sections below stay as a protocol reference — the flows and script templates are unaffected by the outage — but do not plan a new integration against the live Boltz API until the service returns.

Boltz protocol

Boltz was the most widely integrated swap service until its 2026-08-03 suspension (see status above). Two flow types:

Boltz Reverse (LN → on-chain)

1. User generates preimage P, sends LN payment with H = SHA256(P) to
   Boltz.
2. Boltz holds the LN HTLC.
3. Boltz publishes on-chain HTLC at user's address, value =
   payment_amt - fee.
4. User claims on-chain HTLC by revealing P.
5. Boltz uses P to fulfill the LN HTLC.

Boltz Submarine (on-chain → LN)

1. User publishes on-chain HTLC paying Boltz (value = lightning_amt + fee).
2. Boltz pays user's LN invoice (which has H = SHA256(P)).
3. User claims their own LN payment with P.
4. Boltz uses P to claim the on-chain HTLC.

Boltz API: REST endpoints for quotes + swap construction (v2 current, v1 deprecated; docs at api.docs.boltz.exchange). Swap creation has been disabled since 2026-08-03.

Trustless variants (adaptor signatures)

Boltz / Loop are "service" submarine swaps — you trust the service to act honestly within the timeout window.

Trustless / scriptless variants use adaptor signatures:

  • Both legs pre-signed with adaptor secrets.
  • Same secret reveals both legs atomically.
  • No HTLC scripts on chain (privacy).

PTLC-based swaps (Schnorr point-locked, BOLT proposal):

  • LN side uses PTLCs.
  • On-chain side uses adaptor sig.
  • Same scalar t unlocks both.

Peerswap (P2P)

Peerswap enables direct peer-to-peer swaps without 3rd party:

  • Two LN nodes who already have a channel can exchange channel liquidity for on-chain liquidity (or Liquid).
  • No service fee; direct submarine swap protocol.

CLN plugin and LND-via-lncli plugin available. Swaps are only allowed with allowlisted peers, and the project still labels itself beta-grade.

As of Peerswap v7.0.1 (2026-09-07) new L-BTC swap requests are rejected in both directions — local RPC and incoming peer requests alike, and L-BTC is dropped from capability announcements — following a Liquid Network security incident. Bitcoin swaps are unchanged. Recovery of already-persisted Liquid swaps stays enabled but is not guaranteed.

Boltz-specific features

Offline along with the rest of the service as of 2026-09-15; listed here because they define the feature surface a returning Boltz (or a replacement) is expected to cover.

  • Liquid swaps — Boltz also supports BTC ↔ Liquid Bitcoin (LBTC) swaps.
  • Refund tool: pre-signed refund tx in case Boltz disappears before completing. This is the path that held during the 2026-08 suspension — the refund API stayed live, and the unilateral refund does not need Boltz at all.
  • Boltz Pro — enterprise features.

Use cases

  • Mobile wallets rebalancing (Phoenix, Mutiny use submarine swaps internally).
  • LSPs for liquidity management.
  • Manual rebalancing of public Lightning nodes.
  • Bridge to L2 — swap BTC ↔ Liquid ↔ Taproot Assets.

Limits and fees

  • Service fees: 0.1% - 1% typical.
  • Minimum swap: usually 50,000 sats.
  • Maximum swap: limited by service liquidity (~1-10 BTC).

Common bugs

  • HTLC timeout race: fee spike causes on-chain HTLC to confirm late; pre-signed refund tx not yet broadcastable → loss possible. Mitigation: always pre-build and sign refund tx with high fee buffer.
  • Channel close during swap: counterparty force-closes the LN side, swap leg becomes unreliable.
  • Fee assumption wrong → swap rejected by service.

See also

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/bitcoin/lightning/submarine-swaps

Default branch

main

Latest commit

9496306

Tree SHA

fe4e2f1