Camada de Pagamento
l402-kit é um middleware soberano que adiciona um paywall Bitcoin Lightning a qualquer endpoint HTTP em 3 linhas de código. Você traz seu próprio provedor Lightning — os fundos vão diretamente para sua carteira, sem intermediários.Protocolo: L402
L402 é um padrão aberto que estende o HTTP/1.1 com um handshake de pagamento nativo:paymentHash da fatura. O preimage é o segredo criptográfico liberado pelo nó Lightning quando o pagamento é liquidado. O servidor verifica:
Fluxo de Criação de Fatura
Fluxo de Verificação de Pagamento
payment_hash no Supabase) é executada de forma assíncrona e não bloqueia a requisição.
Formato do Macaroon
l402-kit usa um macaroon personalizado e leve — não o libmacaroon. O token é um objeto JSON codificado embase64url:
Authorization é:
Modelo de Taxas
| Modo | Taxa | Configuração |
|---|---|---|
| Soberano (qualquer provedor) | 0% — você fica com 100% | Traga suas próprias credenciais de provedor |
Gerenciado (ManagedProvider) | 0,3% para l402kit.com | Sem nó Lightning — funciona imediatamente |
Armazenamento de Dados (opcional — Supabase)
DefinaSUPABASE_URL + SUPABASE_ANON_KEY para registrar pagamentos automaticamente:
payment_hash em vez de preimage? O payment_hash já está incorporado em toda fatura BOLT11 — é público por design. Apenas o preimage é secreto. Armazenar o hash fornece proteção contra replay sem nenhuma exposição adicional.
Provedores Lightning
l402-kit é agnóstico em relação ao provedor. Qualquer backend que implementeLightningProvider funciona:
| Provedor | Observações |
|---|---|
| Alby Hub | Autocustodial, taxa 0% |
| Blink | Custodial gratuito, sem KYC para pequenos valores |
| BTCPay Server | Auto-hospedado, soberania total |
| OpenNode | Custodial, sem configuração |
| LNbits | Auto-hospedado ou na nuvem |
Garantias de Segurança
| Ameaça | Mitigação |
|---|---|
| Ataque de replay | Preimage marcado como usado após a primeira verificação — adaptador em memória ou Redis |
| Preimage falso | SHA256(preimage) === paymentHash é criptograficamente infalsificável |
| Expiração do token | O macaroon incorpora o timestamp exp — verificado em cada requisição |
| Falsificação de webhook | HMAC-SHA256(secret, body) verificado antes do processamento |