LNURL は Lightning の使い勝手を上げるための HTTP-based 補助プロトコル群(LUD-01〜21)。
Lightning Address(user@domain.tld)はその上に乗った "電子メール風 send-to address"。
Web2 互換 UX を実現する一方、HTTP server 依存・privacy 漏洩等の trade-off を持つ。
また L402(旧 LSAT)や NIP-47 NWC など派生プロトコルも普及中。
BOLT 11 invoice は 1 回きり・金額固定・QR で表示する必要がある。送金 / 受信のあらゆる場面で 動的 invoice 取得と web2 風 endpointが欲しい場面が多い。
"invoice を毎回 wallet で生成" は手間。HTTP endpoint で動的に発行できる仕組みが欲しい。
Lightning node 鍵で web service にログイン。oauth 不要、prviate。
Faucet / 給与受け取りで "受信者が送信トリガー" のフロー(pull 型)。
新規 channel 開設を URL でリクエスト。LSPS1 の前身。
satoshi@bitcoin.org のような email 風 address。BOLT 11 文字列より遥かに簡単。
HTTP / JSON / bech32 で web 開発者にも親しみやすい設計。
LNURL の本質は bech32 encoded HTTP URL。wallet が QR をスキャン → URL 復号 → HTTP GET → JSON 応答に従って動作。
LNURL は 2 段階の HTTP request で動的 invoice 取得 (または withdraw / auth) を実現する。HTTP server を介在させるのが最大の特徴で、これが BOLT 12 との根本的差。
| LUD | 名前 | 用途 | 採用率 |
|---|---|---|---|
| LUD-01 | Base spec | encoding 共通 | ★★★ standard |
| LUD-02 | channelRequest | channel open req | ★★ widely used |
| LUD-03 | withdrawRequest | 受信 (faucet) | ★★★ widely used |
| LUD-04 | auth | node 鍵認証 | ★★ widely used |
| LUD-06 | payRequest | 送信 (主要) | ★★★ standard |
| LUD-07 | channelRequest | channel | ★ legacy |
| LUD-08 | fast withdraw | QR optimization | ★ niche |
| LUD-09 | successAction | 支払い後 message | ★★ widely used |
| LUD-10 | successAction AES | encrypted msg | ★ niche |
| LUD-11 | disposableAndStored | cache指示 | ★ niche |
| LUD-12 | commentAllowed | 支払いにコメント | ★★ widely used |
| LUD-13 | linking key seed | auth 鍵生成 | ★★ standard |
| LUD-14 | balanceCheck | 残高確認 | ★ niche |
| LUD-15 | balanceNotify | 残高通知 | ★ niche |
| LUD-16 | Lightning Address | user@host | ★★★ standard |
| LUD-17 | lnurl: URI scheme | browser 統合 | ★★ standard |
| LUD-18 | payerData | 送信者識別情報 | ★★ growing |
| LUD-19 | nameDesc | 商品名拡張 | ★ niche |
| LUD-20 | longDesc | 長い説明 | ★ niche |
| LUD-21 | verify | 支払い検証 | ★★ growing |
satoshi@bitcoin.org のような email 形式の address で Lightning 支払いを受けられる。内部的には LUD-16 → LUD-06 (payRequest) の HTTP redirect。
| 性質 | LNURL / Lightning Address | BOLT 12 Offers |
|---|---|---|
| Transport | HTTP (web) | Onion Messages (Lightning native) |
| Server 必要性 | 必須 | 不要 |
| Sender privacy | server に IP 露出 | blinded path |
| Receiver privacy | domain 露出 | blinded path |
| Wallet 採用率 | 圧倒的に高い | 2024+ 増加中 |
| UX | email 風 address 使える | QR 中心 |
| Refund | なし | protocol level 支援 |
| Subscription | 独自実装 | recurrence 標準 |
現状は LNURL/Lightning Address が deployable / 普及済み、BOLT 12 が privacy / 機能で優位。多くの wallet は両対応。
長期的には BOLT 12 が priority になる予測だが、Lightning Address の email 風 UX は替えがたく、両者は 当面共存する。
HTTP 402 (Payment Required) を再活用し、API call ごとに少額決済を要求する protocol。Lightning Labs / Aperture が中心。 AI agent の machine-to-machine 決済、API 課金で注目。
Nostr プロトコル経由で wallet の remote control。dapp / agent から「この wallet で支払って」をリクエスト。 Mutiny / Alby 等が積極実装。BOLT 12 と相補。
LSP から user wallet への push 通知 channel。async payments / async order notification 等に使用。 web の familiar な webhook パターンを LSP context に持ち込む。
L402 を実装する HTTP reverse proxy。既存 web API を Lightning 課金 wall でラップする。 Web2 商業 API の有料化を 1 行で実現。