Skip to main content

O que é LNURL?

LNURL é um conjunto de padrões abertos construído sobre o Lightning Network. Em vez de expor invoices Lightning brutas ou pubkeys de nós diretamente no seu app, o LNURL define protocolos baseados em URLs amigáveis que as carteiras sabem como lidar. Quando uma carteira escaneia um QR code LNURL, ela decodifica uma URL, busca uma resposta JSON do seu servidor e então executa a ação apropriada (assinar um desafio, buscar uma solicitação de pagamento, etc.) — tudo de forma invisível para o usuário. O l402-kit já vem com dois recursos LNURL prontos para uso: Ambos os protocolos funcionam em todas as principais carteiras Lightning (Phoenix, Blink, Zeus, Breez, Alby) e não exigem dependências adicionais — seu servidor só precisa servir um endpoint JSON e, opcionalmente, verificar uma assinatura secp256k1.

LNURL-auth — login sem senha

l402-kit.com usa LNURL-auth para o painel de pagamentos. Você pode usar o mesmo fluxo no seu próprio app.

Como funciona

A identidade do usuário é a pubkey do seu nó Lightning — estável, global e auto-soberana.

Endpoint

Retorna um desafio LNURL. Codifique como QR e exiba no seu fluxo de login.
Após o callback da carteira, verifique via:

TypeScript — verificar assinatura LNURL-auth

LNURL-auth não requer e-mail, senha ou OAuth. A identidade do usuário é sua pubkey Lightning — portátil entre carteiras, incensurável e globalmente única.

LNURL-pay — Lightning Address

Um Lightning Address (você@domínio.com) é um alias legível por humanos que resolve para um endpoint LNURL-pay. O l402-kit expõe um em:
Isso é usado internamente pelo mecanismo de divisão — quando você define ownerAddress: "você@blink.sv", o Worker resolve blink.sv/.well-known/lnurlp/você para obter um invoice BOLT11.

Como configurar seu próprio Lightning Address

  1. Implante um endpoint LNURL-pay em https://seudominio.com/.well-known/lnurlp/{username}
  2. Retorne a resposta de metadados LNURL-pay padrão:
  1. O endpoint callback recebe ?amount=<msats> e retorna:

Auto-hospedado com BTCPay Server

O BTCPay Server já vem com LNURL-pay integrado — basta habilitá-lo nas configurações da sua loja. Seu Lightning Address torna-se você@seubtcpay.com.

Verificação de propriedade para o diretório de APIs

Quando você registra sua API em POST /api/register, o l402-kit verifica automaticamente se existe um arquivo /.well-known/l402.txt no domínio da sua API. Se encontrado e contiver seu Lightning Address, sua listagem recebe um selo de verificado. Crie o arquivo:
Em seguida, registre:
APIs verificadas ficam em posições mais altas no diretório e exibem um selo ✓.

Carteiras compatíveis