Skip to main content

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

L’identità dell’utente è la pubkey del suo nodo Lightning — stabile, globale e auto-sovrana.

Endpoint

Restituisce una challenge LNURL. Codificala come QR e mostrala nel tuo flusso di login.
Dopo il callback del wallet, verifica tramite:

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:
Questo viene usato internamente dal meccanismo di split — quando imposti ownerAddress: "you@blink.sv", il Worker risolve blink.sv/.well-known/lnurlp/you per ottenere una invoice BOLT11.

Come configurare il tuo Lightning Address

  1. Distribuisci un endpoint LNURL-pay su https://tuodominio.com/.well-known/lnurlp/{username}
  2. Restituisci la risposta metadata LNURL-pay standard:
  1. L’endpoint callback riceve ?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 diventa you@yourbtcpay.com.

Verifica della proprietà per la directory API

Quando registri la tua API su POST /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:
Poi registra:
Le API verificate hanno una posizione più alta nella directory e mostrano un badge ✓.

Wallet compatibili