Skip to main content

Instalação

Requisitos: Node.js 18+, Express 4+

Início rápido


l402(options) — middleware

Retorna um RequestHandler do Express que aplica pagamento L402 na rota.

Opções

Comportamento

Corpo da resposta 402

Cabeçalho WWW-Authenticate


Provedores

AlbyProvider — recomendado para modo soberano

Alby — carteira autocustodial. Você controla as chaves.

BTCPayProvider — auto-hospedado, sem necessidade de confiança

Execute seu próprio BTCPay Server. Soberania total.

BlinkProvider — custodial, início mais fácil

Blink — gratuito, sem KYC para pequenos valores.

LNbitsProvider

Auto-hospedado ou legend.lnbits.com.

OpenNodeProvider

ManagedProvider — modo cloud (0,3% de taxa)

l402kit.com hospeda o nó Lightning. Você recebe 99,7% de cada pagamento. Opt-in explícito.
O registro ocorre uma vez na inicialização (fire-and-forget, erros são silenciosos). A API aparece em l402kit.com/apis.json para que agentes possam descobri-la automaticamente.

Proteção contra replay

Padrão — em memória (desenvolvimento)

Integrado. Reinicia ao reiniciar o processo. Adequado para implantações de processo único.

Redis (produção — múltiplas instâncias)

RedisReplayAdapter usa SET key 1 NX EX ttl — atômico, sem condições de corrida.

Webhooks de pagamento

Receba um evento assinado após cada pagamento.
Payload do webhook:

Callback onPayment

Hook síncrono chamado após cada pagamento verificado, antes de next():

Registro de pagamentos com Supabase

Defina SUPABASE_URL + SUPABASE_ANON_KEY em seu ambiente para registrar pagamentos automaticamente.
Schema da tabela de pagamentos (payments):
payment_hash armazena SHA256(preimage), não o preimage bruto. O preimage é o segredo de pagamento Lightning de 32 bytes — seu hash já é público na fatura BOLT11.

Utilitários independentes


Tipos


Tempo de verificação

A verificação do token executa SHA256(preimage) == paymentHash em memória — sub-milissegundo, sem chamada de rede no caminho crítico. O ReplayAdapter em memória (padrão) também é executado de forma síncrona. Se você usar RedisReplayAdapter, adicione uma ida e volta ao Redis de 5–50 ms por requisição. Planeje a capacidade adequadamente para endpoints de alta frequência.

Compatibilidade com x402 (cabeçalho X-Payment)

O middleware aceita silenciosamente o cabeçalho X-Payment (usado pelo protocolo x402 da Coinbase) além do cabeçalho padrão Authorization: L402 …. Ambos são tratados de forma idêntica — útil se você quiser atender clientes que utilizam qualquer um dos protocolos.
Nenhuma configuração é necessária; está sempre habilitado.

Guia de migração

v1.1 → v1.2

Renomeie a coluna em sua tabela payments: