I made my first stablecoin payment on Lightning! I paid 2.14 USDTL for a glass bottle of Coca Cola at DCTRL, a hackspace in Vancouver, BC.
My setup: I'm running litd in integrated mode, meaning LND, Taproot Assets and everything else runs as one binary, with a pruned Bitcoin Core backend.
The asset channel: The asset is USDTL, a bridged stablecoin issued by Speed Wallet. I asked Jesse of Amboss to open a channel to me from their node, but I expect to be able to do that soon through their Web UI. He opened a $3000 channel. By default my node will accept any Taproot Asset channel, but to be able to receive and send payments I have to configure an "oracle" that feeds my node price information about the channel. I'm using Tassandra for this purpose, which I vibe coded half a year ago when testing edge node functionality. I expect that requirement to eventually be dropped, streamlining the process of receiving and sending.
The edge node: Amboss, my channel peer, by definition also acts as the edge node for my payments. That means that for every invoice I create or pay, Amboss is taking "the other side" of the trade. When I generate a Lightning invoice locally, that invoice can be paid by any Lightning wallet out there. The sender constructs a route to my node and sends satoshi, which get "swapped" by Amboss to USDTL at the last hop. Conversely, I can pay any Lightning invoice or LNURL from my node. I construct a route that sends USDTL to Amboss, which get forwarded as satoshi to the final destination. As this uses ordinary onion routing, Amboss can not see the origin of payments I receive, or the the destination of payments I make.
The recipient: The vending machine is quite simple. All items in it cost the same (CA$3), each payment unlocks exactly one bottle of any one kind. The payment is made to an LNURL printed on the front of the machine and is also reachable through the Lightning Address coke@bitdevs.ca. When an incoming payment is detected, the LNbits backend sends a signal to the Pi inside of the machine to unlock the bottle.
The payment: I am using Tassilo, a TUI that connects directly to my litd node over gRPC. I can see my channel, my inbound and outbound capacity for both the channel and the BTC. I can pay any Lightning invoice or LNURL, so I enter the address of the vending machine and hit send. The first thing I see is the details for the Lightning Address. These are in satoshi, but once I create an invoice and choose to pay with USDTL, I get an estimate for how much this will cost me, in dollars, excluding routing fees. I can now pay the invoice, and after a few seconds I receive the preimage, and the vending machine releases the drink. A coke costs CA$3 at the machine, which at the time of payment was 2,526 satoshi. But the amount I ended up paying was 2.144058 USDTL. To calculate the spread I make an invoice over 2.14 USDTL and pay it from another wallet later, which turns out to be 2528 satoshi. That's pretty much a 0% spread, generous of Amboss, and I'm very curious what this will cost me when these kinds of services roll out more broadly.
More payments: I also topped up my Mullvad account (4.5 EUR, ~5.07 USD) for 5.05 USDTL, added 5 USD to my Dracotel eSIM (5.05 USDTL), and bought a 20 CAD (~14.03 USD) Safeway gift card from Bitrefill for 14.10 USDTL. The constant currency conversions are definitely not great, but mainly it makes you realize how wonky USD to satoshi exchange rates can already be, and some providers mark up their exchange rate to skim some extra bips from the consumer, or in expectation to be compensated for the costly liquidity management of their nodes.
Conclusion: Setting up Taproot Assets for yourself isn't very easy yet. But it's certainly not out of reach. You need your own Bitcoin and Lightning node and a specialized channel, and you can only interact with the node through the command line or a TUI so far. But once you have set it up, making and receiving payments is very smooth. I believe this stack will play an important role in spreading Lightning adoption around the world.
I have a really hard time imagining stablcoin users care about them being on bitcoin rails. I imagine you all have spec'd out user personas that must-have-this. Who are they? I can't imagine it's consumers. Banks/businesses that trust stablecoin issuers but can't trust Stripe?
In my opinion, lightning's benefit is making censorship resistant money faster and cheaper to settle. There are probably faster and cheaper options than lightning but with more counterparty risk which stablecoin users are already cool with. Help me make sense of why so many people think this is a good idea?
There isn't much to buy yet over the Lightning Network, but people do very much love its properties: Fast, cheap, global. I hope that having easy options to transact over this network without holding its native asset allows the Lightning Network to grow beyond die-hard Bitcoin users like us. Taproot Assets does this in a similar way that Cash App and Square have done, just for a very different audience
Great videography!
Stablecoins, or tokenized fiat coins, are an oxymoron. They are not stable at all. The only thing they are stable in is losing purchasing power.Putting stablecoins on Lightning makes no sense. Why build instant, low-cost rails for an asset designed to lose purchasing power over time and one that will ultimately be replaced by Bitcoin anyway? Just use Bitcoin from the start.
Even Bitcoiners are highly resistant to using Bitcoin for payment, even when given big discounts. I personally will always hold and spend sats directly, but everyone around me seems to demand the properties of the Lightning Network, but with dollars
If you want to use dollars, just open a bank account. You already have countless ways to pay with them, and they're accepted almost everywhere. Pushing dollars onto the Lightning Network is completely pointless. Lightning was built for Bitcoin, not to keep the fiat system alive.
Billions of people can't "just open a USD bank account"
Why would you use an outdated, inferior form of money that continuously loses purchasing power through inflation and could eventually collapse under hyperinflation?
It makes absolutely no sense.
It's like ignoring modern cars and continuing to travel by horse-drawn carriage, or using candles for lighting while ignoring electricity and light bulbs.The US dollar is outdated money. Better money technology already exists It's called Bitcoin.Why would you bring an old, outdated monetary system onto Bitcoin when Bitcoin was created to replace it?
Because network effects matter, and I will definitely build systems that bridge the dollar and Bitcoin, because I believe it helps expand the Lightning Network's network effects. It's also why I applaud Strike and Cash App for doing similar things, for a different audience. I personally want to only own and receive Bitcoin, but the more people I can transact with, the more people will follow in my footsteps
And we wonder why end users haven't adopted lightning yet π€£π€£ it would be easier to pass a paper on nano particle physics than follow all this
Not to mention, I assume all this swapping from ln to stables is all trustodial
Sick one ππ
There is always a custodial aspect in stablecoins, but with Taproot Assets, the trust is limited to trusting the issuer. You don't have to trust the wallet, the exchange, the channel peer or anyone else, just the issuer.
so the vending machine accepts BTC sats, what's the point of holding USDTL in the wallet and paying bid-offer spread to Amboss on every movement?
I can't tell you exactly why, but even some of the most hardcore Bitcoiners I've met don't like to hold Bitcoin in a Lightning wallet. They do however like to pay Lightning invoice through Strike or Cash App. Taproot Assets provides a similar experience, but for a different market
Maybe because Lightning wallet is a hot wallet, and securing it properly is a headache? Or because opening small channels is inefficient, but large are costly? Outsourcing these problems to Strike or any third party looks attractive to some (not me). TA adds extra vilnerability surface and costs to this picture, not reduces them.
Happy to see TapAss in action
Darth would destroy this post π
It's times like these when I really miss the ornery old s.o.b.
Hahahahaaha
leo is the GOAT and DCTRL is the best
Have you read Alex Gladstein's work? How about "The Creature from Jekyll Island"?
You're on SN, so I assume you must know a little about how nefarious the fiat system is.
Every time we spend a fiat unit, we strengthen and support that system. Period. No way around that fact. Bitcoiners run mental gymnastics all day trying to get around that fact, but they can't. You're supporting fiat by spending fiat.
I will continue to work to bring fiat normies into the Lightning ecosystem, strengthen the network effects of the Lightning Network and ultimately make the transition to Bitcoin as the world's currency seamless
Really cool! Thanks for sharing.
So any LN wallet can buy from this vending machine without KYC, right?
If the vending machine operator wants to off-ramp to fiat USD, how can they do that?
Any Lightning wallet can be used to by pop from this vending machine, as long as it supports LNURLs.
The operator can sell their satoshis in any way they want, but most importantly in the above example, they could get a USDTL channel as well and just receive USDTL instead of sats. But still anyone with a Lightning Wallet would be able to buy from the machine
Might just be me, but... why not just use Bitcoin on Lightning...?
Yeah I don't know, people seem to have a very strong psychological barrier to use Bitcoin, the asset. They are demanding the properties of the Lightning Network (fast, cheap and global), combined with the properties of the U.S. dollar (depreciating at ~3-5% per year)
Go easy on the Enter button!
Haha
Do any other wallets besides Speed support stablecoins on Lightning?
What Speed has today is similar to what Blink or Cash app offer. You can hold a USD-denominated balance and pay and receive over Lightning. The financial mechanisms how they achieve this are very different, but none of them let you hold your own stables in your own node. Only the setup above does that today
I see. thanks for the info.
Nice job Leo!
Thank you for sharing!
Love this! First taproot payment for Coke on Lightning is really cool to see.
Interesting....very Nice π π π«Άπ«Ά
For someone still learning Lightning, what do you think is the biggest practical advantage of Taproot Assets here? Is it mainly about being able to move different assets over existing Lightning infrastructure, or does it improve the payment experience in other ways too?
What I find interesting here is the UX trade-off. For a normal user, does paying a Taproot Asset over Lightning feel exactly like paying BTC, or are there still extra steps/wallet-specific details they need to understand? Iβm wondering how close this is to being truly invisible to the user.