Skip to content
Back to skills

Submarine Swaps

ASecurity

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.

  • 31 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
ai-agentsrustnodetestingapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add claude-dev-suite/claude-dev-suite --skill submarine-swaps --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Submarine Swaps?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Submarine Swaps
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/claude-dev-suite-submarine-swaps/badge)](https://www.skillsdirectory.com/skills/claude-dev-suite-submarine-swaps)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lightning-submarine-swaps
description: |
  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.
allowed-tools: Read, Grep, Glob
---

# 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)

| Service | Status as of 2026-09-15 | Notes |
|---------|-------------------------|-------|
| Boltz | **Offline** since 2026-08-03 | All 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) | Operating | `lightninglabs/loop` v0.35.0-beta, released 2026-08-25. |
| Peerswap | Operating, Bitcoin only | v7.0.1 (2026-09-07) rejects new L-BTC swap requests in both directions after a Liquid Network security incident; Bitcoin swaps unchanged. |
| Blockstream Swaps | Beta since 2026-08-10 | In-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

- [loop-pool-lit/SKILL.md](../loop-pool-lit/SKILL.md)
- [../../cryptography/adaptor-sigs/SKILL.md](../../cryptography/adaptor-sigs/SKILL.md)
- [../../privacy/atomic-swaps/SKILL.md](../../privacy/atomic-swaps/SKILL.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.