Cos’è LNURL?
LNURL è un insieme di standard aperti costruiti sopra il Lightning Network. Invece di esporre direttamente invoices Lightning grezze o pubkey dei nodi nella tua app, LNURL definisce protocolli basati su URL facilmente leggibili dall’uomo che i wallet sanno come gestire. Quando un wallet scansiona un QR code LNURL, decodifica un URL, recupera una risposta JSON dal tuo server e poi esegue l’azione appropriata (firma di una challenge, recupero di una richiesta di pagamento, ecc.) — tutto invisibilmente all’utente. l402-kit include due funzionalità LNURL già pronte:
Entrambi i protocolli funzionano con tutti i principali wallet Lightning (Phoenix, Blink, Zeus, Breez, Alby) e non richiedono dipendenze aggiuntive — il tuo server deve solo servire un endpoint JSON e opzionalmente verificare una firma secp256k1.
LNURL-auth — login senza password
l402-kit.com usa LNURL-auth per il pannello di pagamento. Puoi utilizzare lo stesso flusso nella tua app.Come funziona
Endpoint
TypeScript — verifica firma LNURL-auth
LNURL-auth non richiede email, password né OAuth. L’identità dell’utente è la sua pubkey Lightning — portabile tra wallet, non censurabile, globalmente unica.
LNURL-pay — Lightning Address
Un Lightning Address (you@domain.com) è un alias leggibile dall’uomo che si risolve in un endpoint LNURL-pay. l402-kit ne espone uno su:
ownerAddress: "you@blink.sv", il Worker risolve blink.sv/.well-known/lnurlp/you per ottenere una invoice BOLT11.
Come configurare il tuo Lightning Address
- Distribuisci un endpoint LNURL-pay su
https://tuodominio.com/.well-known/lnurlp/{username} - Restituisci la risposta metadata LNURL-pay standard:
- L’endpoint
callbackriceve?amount=<msats>e restituisce:
Self-hosted con BTCPay Server
BTCPay Server include LNURL-pay integrato — basta abilitarlo nelle impostazioni del tuo negozio. Il tuo Lightning Address diventayou@yourbtcpay.com.
Verifica della proprietà per la directory API
Quando registri la tua API suPOST /api/register, l402-kit controlla automaticamente la presenza di un file /.well-known/l402.txt nel dominio della tua API. Se trovato e contiene il tuo Lightning Address, la tua inserzione riceve un badge verificato.
Crea il file: