There's a draft writeup of the idea here, with the basic details of how it works trustlessly:
.
The two channel partners, Alice and Bob, trust the mint but not each other.
I've got some code working to show the basic idea, I'm new to all this so I wanted to see working code before getting too excited 😀. I expect to be able to share it in the coming days, maybe even today if things coming together nicely
In this, Alice and Bob need to coordinate with the mint to open the channel and to close it, but the mint does not need to be involved in each individual micropayment while the channel is open. Like Lightning, two channel partners can send signed transactions to each other. This allows very high frequency
Billions of payments (unidirectional for now, but I think it can be made fully two way) can be send, and we do NOT need to prepare billions of individual tokens. Just a few dozen (1 sat, 2 sats, 4 sats, 8sats)... is sufficient
The doc linked above shows how the double spending is solved; i.e. Bob cannot take more than he is entitled to. And Alice can get a refund of the remainder, after a locktime has expired, even if Bob doesn't cooperate
Sorry that this is a little vague; read the doc for more. And we'll post some code soon
GitHub
NUT-XX: Offline Spilman (unidirectional) channel by SatsAndSports · Pull Request #296 · cashubtc/nuts
Update: 2025-11-17: big rewrite. Less discussion, more details, deterministic outputs
With this NUT, Alice and Bob can - using any mint supporting ...