BLOG
LNURL-withdraw revolutionizes Lightning Network transactions with user-friendly QR codes. Explore creative projects using LNURL-withdraw in the expanding Lightning ecosystem
Implementations like LNURL-withdraw are making The Lightning Network simpler and simpler for the end user. Scan a QR and receive your payment, that’s it. A far cry from the single-use invoices that characterized the Lightning Network of the recent past. Some might argue that Lightning is not ready for mass adoption yet, but we at Blink believe it is. And LNURL-withdraw is one of the reasons we feel confident making that assessment.
Let’s start at the top, LNURL is an open-source protocol that offers huge UX improvements while opening new and exciting possibilities. It was initially created by Anton Kumaigorodski, who also built the first mobile Lightning wallet, with input from Fiatjaf, the creator of Nostr. As the name might suggest, LNURL is built upon HTTP and uses URLs to interact with the Lightning Network. The standard allows the transacting parties to exchange information, which leaves the door open for developers to innovate and create new services and features.
The only caveat is that the interacting wallets have to support LNURL to be compatible with each other. However, the majority of Lightning Network wallets already do, including your favorite one: Blink.
The problem LNURL-withdraw solves is huge.
As you probably know, the Lightning Network consists of thousands of interconnecting two-way channels. To open one, the user and counterparty must lock an amount of BTC on the main chain. To receive payments, the user depended on the counterparty to maintain liquidity. If none of the user’s counterparties had inbound liquidity, payment simply couldn’t get “routed’ to said user’s wallet.
Several services rose to fix that weak spot in the Lightning Network’s armor, among them: Amboss’ Magma, Lightning Labs’ Lightning Loop and Pool, Thor by Bitrefill, and Liquidity Ads.
However, the user still needed to create a single-use invoice to get paid. And that in itself prevented said user from getting regular payments, or from soliciting the Lightning tips that the internet now calls “zaps.”
Enter LNURL-withdraw. As Bolt.Fun’s guide for developers puts it:
“The LNURL-withdraw flow standardizes the communication of this LN invoice and payment of the invoice into a single UX action initiated by the LN WALLET.”
So, we’re still using invoices, but they’re under the hood. That’s how Lightning addresses operate. That’s also how both LNURL-withdraw’s requests and pay requests work. The user scans a QR code, the wallet interacts with the node, the node sends some specifications to the wallet, the user selects what to do, an invoice is created and the user either pays or receives sats.
Nothing’s perfect, and LNURL has a major disadvantage. Since it’s built over HTTP, the protocol uses a web server to coordinate LNURL-withdraws and all of the other activities. That fact implies centralization and trust, two characteristics that Bitcoin is firmly against. Luckily, services like the LNbits accounting system allow more advanced users to interact with LNURL in a more trustless way.
On the other hand, there’s the Bolt12 situation. A second protocol that was initially created by the developer of Core Lightning, and is moving forward fuelled by the open source community. This “draft specification” offers everything that LNURL brings, including LNURL-withdraws, and doesn’t need a web server to act as a coordinator.
However, Bolt12 is still in development. According to the website, it only has “experimental support” at the moment; and the team warns, “since increased feedback and implementations come on board, it could change again.” Nevertheless, two major Lightning implementations already support it, and that number is likely to increase in the near future.
The LNURL ecosystem is already impressive, but rest assured it’s just beginning. Here are some choice projects that use LNURL-withdraw. This is what the protocol is capable of:
https://twitter.com/r0ckstardev/status/1729688270051619148
This article is about LNURL-withdraw, but just for kicks check out these projects that use its sister specification. The main use case is the most useful Lightning addresses that Blink has previously discussed, but that’s just the beginning.
https://twitter.com/Printer_Gobrrr/status/1506547369957117957
Plus, anyone, anywhere in the world, can tip that store by scanning the QR code. Good luck achieving that, Apple Pay.
If you want more, here is an ongoing list of projects that use LNURL-withdraw and LNURL pay requests. They are as incredible as the ones above.
Want your story featured on the Blink blog? Join the Blink BUS: https://t.me/blinkbus
Start receiving and sending bitcoin now