LNURL

Community-driven tools for inter-wallet communication

2 Different protocols

Lightning HTTP
Bitcoin transfer Information transfer
Communication between LN wallets Communication between Web-Server and Browser/HTTP-client

For better UX!

Fusion of LN and HTTP

Protocol development ordered historically

  • HTTP
  • LN
  • LNURL

Goal

Automating communication processes that were previously done manually

Manual communication - Example

"Hey Alice, I want to send you 21 sats, could you send me an invoice?"

Disadvantage

Fusion of LN and HTTP

A set of tools

  • Similar in technology
  • Different in use cases

Overview

LNURL-pay

Automation:

"Hey Alice, I want to send you 21 sats, could you send me an invoice?"

LNURL-pay

LNURL-pay diagram

'Static' invoice

  • https://lipa.swiss/lnurl-pay?session=08fe6c2...
  • URL is static
  • Can be requested multiple times
  • Actual LN invoices change

Lightning addresses

  • gabriel@lipa.swiss
  • Uses LNURL-pay
  • Url is well defined
  • http://lipa.swiss/.well-known/lnurlp/gabriel

LNURL-withdraw

Automation:

"Hey Bob, send me 21 sats"

Security

  • User is authenticated
    • Withdraw your own funds
  • Use with limited funds!

LNURL-pay

LNURL-pay diagram

Bolt Cards

  • They use LNURL-withdraw!
  • Payee could take more than expected amount

Not so relevant for us ...

  • LNURL-channel
  • LNURL-auth

LNURL-channel

Automation:

"Hey Charlie, open channel with me"

LNURL-auth

Using LN node keys to authenticate oneself on a service/website

LNURL playground

  • Link
  • Information often displayed as QR codes

Bolt 12 - Offers

  • Only LN, no HTTP
  • Better
  • In Development
  • Docs