/luds

lnurl specifications

Primary LanguageMakefile

LNURL Documents

These are all the individual documents describing each small piece of protocol that can be implemented under the LNURL umbrella. Different wallets and services may implement different sets of protocols.

Number Description Wallets (in alphabetical order)
01 Base LNURL encoding and decoding. all the ones listed below
02 channelRequest base spec. Balance of Satoshis, BitBanana, Blixt, Breez, cliché, OBW, Zap Android, Zap Desktop, Zeus
03 withdrawRequest base spec. Alby, Balance of Satoshis, BitBanana, Blixt, BlueWallet, Breez, Clams, CoinCorner, coinos, Fountain, LifPay, LNbits, LightningTipBot, Mash, Muun, Phoenix, Pouch.ph, ShockWallet, OBW, OneKey, ThunderHub, Wallet of Satoshi, Zap Android, Zap Desktop, Zap iOS, ZBD Discord, ZBD Extension, ZBD Telegram, ZEBEDEE, Zeus
04 Auth base spec. Alby, Balance of Satoshis, BitBanana, Blixt, Breez, BlueWallet, Clams, coinos, Geyser, LifPay, LNbits, LightningTipBot, Phoenix, SeedAuth, SeedAuthExtension, OBW, OneKey, Sparrow Wallet, ThunderHub, Zap Desktop, Zeus
05 BIP32-based seed generation for auth protocol. Alby, coinos, OBW, OneKey, Phoenix
06 payRequest base spec. Alby, Balance of Satoshis, Bipa, BitBanana, Blixt, BlueWallet, Breez, BTCPayServer, Clams, cliché, CoinCorner, coinos, Electrum, Fountain, Galoy, Geyser, LifPay, LNbits, LNLink, LNPay.co, LightningTipBot, Machankura, Mash, OBW, OneKey, Phoenix, Pouch.ph, River, River Lightning, ShockWallet, ThunderHub, Wallet of Satoshi, Zap Android, ZBD Discord, ZBD Extension, ZBD Telegram, ZEBEDEE, Zeus
07 hostedChannelRequest base spec. OBW
08 Fast withdrawRequest. cliché, OBW, ZBD Extension
09 successAction field for payRequest. Alby, BitBanana, Blixt, BlueWallet, Breez, Clams, cliché, coinos, Fountain, LifPay, LNbits, LightningTipBot, Phoenix, ShockWallet, OBW, OneKey, ThunderHub, Wallet of Satoshi, Zap Android, ZBD Discord, ZBD Extension, ZBD Telegram, ZEBEDEE, Zeus
10 aes success action in payRequest. Alby, BitBanana, Blixt, BlueWallet, Breez, Clams, cliché, coinos, LNbits, Phoenix, ShockWallet, OBW, ThunderHub, Wallet of Satoshi, Zap Android, Zeus
11 Disposable and storeable payRequests. Blixt, OBW, ZBD Extension
12 Comments in payRequest. Alby, Bipa, BitBanana, Blixt, BlueWallet, Breez, Clams, Fountain, LifPay, LNbits, LightningTipBot, OneKey, Phoenix, Stacker.News, ThunderHub, ZBD Discord, ZBD Extension, ZBD Telegram, ZEBEDEE, Zeus
13 signMessage-based seed generation for auth protocol. Alby, Balance of Satoshis, BitBanana, Blixt, Clams, Zeus
14 balanceCheck: reusable withdrawRequests. Alby, Blixt, LNbits,
15 balanceNotify: services hurrying up the withdraw process. LNbits
16 Paying to static internet identifiers. Alby, Bipa, Balance of Satoshis, BitBanana, Blixt, BTCPayServer, Clams, cliché, CoinCorner, coinos, Fountain, LifPay, LNbits, LNLink, LightningTipBot, Machankura, Mash, OBW, OneKey, Phoenix, Pouch.ph, River, River Lightning, Stacker.News, Zap Android, ZBD Discord, ZBD Extension, ZBD Telegram, ZEBEDEE, Zeus
17 Scheme prefixes and raw (non bech32-encoded) URLs. Alby, BitBanana, Blixt, BTCPayServer, Clams, cliché, CoinCorner, LifPay, Mash, OneKey, ZBD Discord, ZBD Telegram
18 Payer identity in payRequest protocol. Alby, BitBanana, Blixt, cliché, OBW, ZBD Discord, ZBD Telegram
19 Pay link discoverable from withdraw link. Blixt, CoinCorner, OBW, LNbits
20 Long payment description for pay protocol. Alby, BitBanana, Blixt, Clams, cliché, Mash, OneKey, Phoenix
21 verify LNURL-pay payments Alby, Mutiny, Stacker.News, Zaprite

Services

Name LUDs
Azteco 01 03
Bipa 01 06 12 16
BTC Origin Stories 01 06
Bitcoin Bounce 01 03 08
Bitrefill 01 02 06 16
Blocktank 01 02
Bull Bitcoin 01 03
CoinCorner 01 03 06 16 17 19
Fountain Podcasts 01 03 06 09 12 16
Galoy 01 06
Geyser 01 04 06
Going Dutch 01 03 06
HangarSix 01 03
IBEXHub 01 03 06 16
Infuse 01 03
Kollider 01 03 04
LifPay 01 03 04 06 09 12 16 17
LNBIG 01 02
ln.cash 01 03
LNMarkets 01 03 04 06 16
LNPay.co 01 03 06 14
LNbits.com 01 03 04 14 15
Lightning.Video 01 04 06 16
Lightning Gifts 01 03 06 12
LightningTipBot 01 03 06 09 12 16 18
Lnurl-Pay Chat 01 06 11 12 18
Loft 01 03 04
Machankura 01 06 16
Mash 01 03 06 16
Microlancer 01 03 14
OpenNode 01 03
Paywall 01 03
River Lightning 01 03 06 16 17
Sats4Likes 01 03 14 16
Satsback.com 01 03 06 16
sms4sats 01 03
SouthXchange 01 03
Stacker.News 01 03 04 06 12 16
Surfcity Parking 01 03
Wheel of Fortune 01 03 04
bridgeaddr 01 06 09 12 16
coinos 01 03 04 06 16
lnshort.it 01 04 06
lnsms.world 01 06 11 12 16
lnurl-pay.me 01 06 16
pollofeed 01 06 16
zbd.gg 01 03 06 09 12 16
lnurlpay.com 01 06 12 16
zero fee routing 01 02
strike.army 01 03 06 12 16

Self-hosted

Name LUDs
Addressless 01 06 09 16
Bleskomat 01 03
BTCPayServer 01 06 16 17
Citadel Bitcoin Node 01 06 16
Cypherapp 01 03
LNURL Daemon 01 06 09 12 16
LNURLPoS 01 06 09
LNURLp 01 06 12
LNURLw 01 03
LNbits.com 01 03 04 14 15
LightningATM 01 03
NextPay 01 06 16
OfflineShop 01 06 09
Satdress 01 06 09 16
Streamer Copilot 01 06 12
go-host-lnaddr 01 06 09 16
ligess 01 06 09 16
lnme 01 06 09 16

Libraries

Name LUDs
IMMORTAN 01 02 03 04 05 06 07 08 09 10 11 12 16 17 18 20
LNURL C# 01 02 03 04 06 07 08 09 10 11 12 14 15 16 17 18 19
dart-lnurl 01 02 03 04 05 06 09 10 11 12 14 17 18 19
go-lnurl 01 02 03 04 06 08 09 10 11 12 14 16 18 20
js-lnurl 01 02 03 04 06 08 09 10 11 12
lnurl-node 01 02 03 04 06 08 09 10 11 12
lnurl-platformio 01 03
lnurl-ruby 01 06 09
lnurlauth 01 04
php-lnurl 01
python-lnurl 01 02 03 04 06
bitcoin-s 01 03 06 09
lnurl-rs 01 03 06
rust-lnurl 01 03 04
spring-lnurl 01 04
lnurl_client-ex 01 06

Tools for developers

Name LUDs
LNURLProxyAPI 01 03
Lightning Decoder 01 02 03 04 06 16
Lightning Login 01 04
bifrost 01 02
lnch-vekslak 01 02
lnurl codec JS 01
lnurl codec Scala 01
lnurl playground 01 02 03 04 06 09 10 12 14 15 18 20
lnurl-toolbox 01 02 03 04 06
passport-lnurl-auth 01 04
Zerologin 01 04

Dependency Tree

The entire idea of the suite of LNURL protocols is that they are optional. Each new LUD may be implemented by some wallets and not others, some services and not others, but they should still maintain compatibility at all times (except, of course, if the service requires the new functionality).

There is also a hierarchy of internal dependencies between the LUDs -- for example, you cannot implement sending comments in payRequests if you haven't implemented the base payRequest spec also. The following graph displays that hierarchy of internal dependencies (you can safely ignore it though).

dependencies

How to add your own document

Open a pull request with your proposal. Pick the next unreserved number for your proposal. To be accepted, it just has to be generally decent and make sense and be implemented or currently being implemented by 2 or more wallets.

Join https://t.me/lnurl if you just want to talk about your ideas or chat about LNURL protocols in general.