Skip to main content

Was ist LNURL?

LNURL ist eine Sammlung offener Standards, die auf dem Lightning Network aufbauen. Anstatt rohe Lightning-Invoices oder Node-Pubkeys direkt in deiner App zu exponieren, definiert LNURL benutzerfreundliche URL-basierte Protokolle, mit denen Wallets umzugehen wissen. Wenn eine Wallet einen LNURL-QR-Code scannt, dekodiert sie eine URL, ruft eine JSON-Antwort von deinem Server ab und führt dann die entsprechende Aktion aus (eine Challenge signieren, eine Pay-Request abrufen usw.) — für den Benutzer vollständig unsichtbar. l402-kit wird mit zwei LNURL-Funktionen ausgeliefert: Beide Protokolle funktionieren mit allen gängigen Lightning-Wallets (Phoenix, Blink, Zeus, Breez, Alby) und benötigen keine zusätzlichen Abhängigkeiten — dein Server muss nur einen JSON-Endpunkt bereitstellen und optional eine secp256k1-Signatur verifizieren.

LNURL-auth — passwortloses Login

l402-kit.com verwendet LNURL-auth für das Zahlungs-Dashboard. Du kannst denselben Ablauf in deiner eigenen App verwenden.

Funktionsweise

Die Identität des Benutzers ist sein Lightning-Node-Pubkey — stabil, global und selbstbestimmt.

Endpunkt

Gibt eine LNURL-Challenge zurück. Als QR kodieren und in deinem Login-Ablauf anzeigen.
Nach dem Wallet-Callback verifizieren über:

TypeScript — LNURL-auth-Signatur verifizieren

LNURL-auth benötigt keine E-Mail, kein Passwort, kein OAuth. Die Identität des Benutzers ist sein Lightning-Pubkey — übertragbar zwischen Wallets, nicht zensierbar, global einzigartig.

LNURL-pay — Lightning Address

Eine Lightning Address (du@domain.com) ist ein menschenlesbarer Alias, der zu einem LNURL-pay-Endpunkt aufgelöst wird. l402-kit stellt einen bereit unter:
Dieser wird intern vom Split-Mechanismus verwendet — wenn du ownerAddress: "du@blink.sv" festlegst, löst der Worker blink.sv/.well-known/lnurlp/du auf, um eine BOLT11-Invoice zu erhalten.

So richtest du deine eigene Lightning Address ein

  1. Stelle einen LNURL-pay-Endpunkt unter https://deinedomain.com/.well-known/lnurlp/{username} bereit
  2. Gib die standardmäßige LNURL-pay-Metadatenantwort zurück:
  1. Der callback-Endpunkt empfängt ?amount=<msats> und gibt zurück:

Self-Hosted mit BTCPay Server

BTCPay Server wird mit integriertem LNURL-pay geliefert — aktiviere es einfach in deinen Store-Einstellungen. Deine Lightning Address wird zu du@deinbtcpay.com.

Eigentümerverifizierung für das API-Verzeichnis

Wenn du deine API unter POST /api/register registrierst, prüft l402-kit automatisch, ob eine /.well-known/l402.txt-Datei in der Domain deiner API vorhanden ist. Wenn sie gefunden wird und deine Lightning Address enthält, erhält dein Eintrag ein verifiziertes Abzeichen. Erstelle die Datei:
Dann registrieren:
Verifizierte APIs werden im Verzeichnis höher eingestuft und zeigen ein ✓-Abzeichen an.

Kompatible Wallets