What is LNURL-withdraw? Scanning a QR to Receive Sats

LNURL-withdraw revolutionizes Lightning Network transactions with user-friendly QR codes. Explore creative projects using LNURL-withdraw in the expanding Lightning ecosystem

What is LNURL-withdraw? Scanning a QR to Receive Sats
January 31, 2024
Eduardo Prospero

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.

Let’s Focus: What Does LNURL-withdraw Allow Us To Do?

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.

The Critics on LNURL

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.

Services That Creatively Use LNURL-withdraw

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:

  • BTCPay Server is a “self-hosted, open-source cryptocurrency payment processor.” They will soon release an LNURL-withdraw-powered “voucher plugin” that enables the user to print LNURL-withdraw QR codes that can be used to sell or gift Bitcoin to others!

https://twitter.com/r0ckstardev/status/1729688270051619148

  • Lightsats offers bitcoiners a convenient way to “tip/gift sats without worrying about onboarding the user.” The receiver of the tip has to learn how to set up and use a Lightning wallet to get it, and “If your recipient doesn't withdraw their tip in time, you can reclaim your sats!”
  • The Lightning variety of the world-famous Azteco vouchers use LNURL-withdraw. Their clients just need to scan a code to receive the Sats they’ve bought. 
Image retrieve from coincorner.com

Services That Creatively Use LNURL Pay Request

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.

  • The Bolt Card is a “DIY self-sovereign debit card” that offers “Bitcoin payments over the Lightning Network with a contactless payment card.” 
  • What about paying for a beer refill through the LightningTipBot? It’s THAT easy, believe it or not.
  • Even more exciting, check out this implementation of LNURL pay requests in rural South Africa. At the very least, it’s as good as the banking apps’ payment solutions. However, the Lightning Network serves those who really need it: the world’s unbanked population. 

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.

  • This one is the kicker, people can set up Lightning vending machines that don’t have to be connected to the Internet to transact. Just look at the glasses that this bitcoiner bought!

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

Download Blink

Start receiving and sending bitcoin now