Splicing

splice-in, splice-out

Resizing a Lightning channel without closing it by adding or removing funds in a single on-chain transaction.

Splicing lets two Lightning peers change the capacity of an existing channel in place. A splice-in adds new funds from an on-chain UTXO. A splice-out sends funds out of the channel to an on-chain address. Either way, the channel stays open and routing history is preserved.

Without splicing, a user who wants to top up a channel has to close it and open a new one. That costs two on-chain transactions, fragments liquidity, and resets reputation in pathfinding heuristics. Splicing does the same job with one transaction.

The feature was first deployed in Phoenix and Core Lightning, and has since been standardized in the BOLT specification and implemented across other Lightning nodes. See also the Splicing project page for OpenSats grants in this area of research.

References