Dispatching Chain Swaps ⛓️🔁
We are stoked to finally release chain swaps today, enabling users to swap between Liquid and the mainchain with both sides being regular on-chain transactions.
Reminiscing about the past year, it was quite the journey to get to today’s launch. One year ago, we launched Liquid Swaps as a solution for “unfairly cheap” rebalancing of Lightning nodes using the Liquid sidechain. The idea is simple: volatile miner fees make the mainchain an unreliable tool for rebalancing Lightning channels via Submarine Swaps, the by far most popular way to keep channel balances in check. With Liquid Swaps, node runners can rely on cheap network fees when swapping between Lightning and Liquid to obtain in or outbound liquidity.
The Problem 🤔
Liquid is a great interim place to hold funds, to “batch channel rebalances” so to speak. It is especially popular to obtain Lightning inbound liquidity via Liquid swaps, moving from Lightning into Liquid, inevitably leading to an accumulation of L-BTC in Liquid. Once a certain amount of L-BTC is reached, one would want to move back to the mainchain. To open new Lightning channels, for instance.
But how to get back to the mainchain?
Going back via Lightning doesn’t make much sense, as this would undo all previous rebalancing, so the only meaningful way is to go directly from Liquid to the mainchain. There are three ways to do so currently:
The official peg-out mechanism. Problem: it’s an involved, technical process and only available to Liquid Federation members.
The “peg-out” service, offered by SideSwap. Problem: it’s custodial for the duration of the peg-out and might take an hour or more to complete.
An exchange like Bitfinex or BTSE. Problem: it’s custodial and requires KYCed accounts on these exchanges.
In summary, there is a need for an equally convenient, openly available and non-custodial way to move directly between Liquid and the mainchain.
The Solution 🤝
Chain Swaps to the rescue! Today’s launch adds the missing edge to what we call the Liquid Rebalancing Triangle:
With Chain Swaps, Lightning node runners are able to keep channels balanced, while conserving the main property that makes Boltz special: never giving up custody of funds.
Under the hood, Chain Swaps are based on Taproot, thus inheriting all Taproot Swaps advantages:
Immediate Cooperative Refunds for failed swaps, doing away with any wait time.
Cheaper Network Fees as cooperative swaps are as small as single-sig spends.
Increased Privacy through key path spends that don’t reveal any swap info and hide unused script path spending conditions
Release Details 🤓
As part of our new backend release for this launch, we finalized our move to APIv2, accounting for the new Chain Swap type. It features the following three swap types now: Submarine Swaps, Reverse Swaps and Chain Swaps. You can checkout the main PR of this release here (beware, it’s a monster!).
Changelog Summary:
Chain Swaps across multiple feature commits (02906af, f444b11, 86fc8b7, 2ba0a92, d90c7b4, 3319205, c1f72d3) and bug fixes (c1f72d3, 48bd28a, 1eb62d8, 21ae1f4, ddc6878)
Cooperative chain swap claims & refunds - (9ba1065 & 9dbcbf6)
EVM chain swaps - (25ef8dd)
Our new web app release, which we deployed today, allows for spontaneous Chain Swaps between Liquid and the mainchain. It includes a major refactor to prepare for more pairs and swap types in future. You can checkout the main PR of this release here.
Changelog Summary:
Chain Swaps (caffdda)
Show amount on success page (dc5150d)
Optionally play sound on success (caa861a)
Optional Browser Notification (e5461f7)
Boltz Client is geared towards Lightning node runners looking to automate the above mentioned Liquid Rebalancing Triangle. It brings its own Liquid wallet system, allows for fine-grained control and full automation of the entire rebalancing flow via its autoswap
feature. We didn’t tag an official release for Chain Swaps in Boltz Client yet, but the main PR is merged and autoswap features are pretty far along too. Follow our socials to not miss the release!
More Use Cases 💪
In the past year, Liquid Swaps evolved far beyond the channel rebalancing use case. One of the most prominent examples is Aqua, which is a Liquid wallet that allows for sending to and receiving from Lightning via Boltz Liquid Swaps, abstracting away the complexity of managing channel liquidity or backing up channel state. Chain Swaps will allow wallets like Aqua to let users non-custodially move funds between internal wallets, pay to mainchain addresses and top up Liquid spending balance with mainchain bitcoin.
While publicly available to anyone, Liquid Pegins, the official mechanism to convert mainchain BTC to L-BTC, have been a notorious pain point in the past. The process is fairly complex and involves a 102 block wait time before funds can be used on the Liquid side. The only alternatives are custodial. Chain Swaps abstract away the technical complexity, do away with the wait time and allow users to stay fully in control of their funds at all times. Finally, Chain Swaps lay the foundation for more Chain Swap pairs like between Rootstock and the mainchain or Liquid and Rootstock in the future.
Exchange → Bridge
We also took today’s launch as an opportunity to change how we describe ourselves:
Non-Custodial Bitcoin Exchange→ Non-Custodial Bitcoin Bridge
We are very optimistic and excited about the recent surge in development efforts of new Bitcoin Layers. Our vision is to be the bridge between all Bitcoin Layers that fulfill our requirements:
Verifiably 1:1 backed by mainchain bitcoin
Fees denominated in bitcoin
Strong security and ecosystem
It was also important to us to do away with the stigma around the term “exchange”, which is usually associated with KYCed, custodial platforms and altcoins.
Next up ⏭️
Finalize Chain Swap integration in Boltz Client
Integrate Boltz Client into BTCPay and other UIs
Rootstock Swaps