Skip to main content

▶ Demo interativo — veja ao vivo

Animação terminal end-to-end: do npm install até a primeira chamada paga. 45 segundos.

O que é o l402-kit?

l402-kit é um middleware open-source que permite qualquer desenvolvedor adicionar micropagamentos Bitcoin Lightning à sua API em 3 linhas de código. Sem cartão de crédito. Sem cadastro. Sem chargeback. Sem taxa mínima. Só sats.
npm install l402-kit   # TypeScript / Express
pip install l402kit    # Python / FastAPI / Flask
go get github.com/shinydapps/l402-kit/go  # Go / net/http
cargo add l402kit       # Rust / axum

O problema que resolve

Cobrar por chamada de API hoje é impossível com os meios tradicionais:
  • Stripe: mínimo $0,30 por transação — inviável para micropagamentos
  • Assinaturas: quem usa pouco subsidia quem usa muito
  • Agentes de IA: não têm cartão de crédito — não conseguem pagar APIs sozinhos
l402-kit é a terceira opção: pay-per-call via Lightning Network, liquidando em menos de 1 segundo, globalmente, sem intermediário.

Como funciona

Cliente → GET /premium
API     → 402 + invoice Lightning (100 sats)
Cliente → paga invoice (< 1 segundo)
Cliente → GET /premium + prova de pagamento
API     → 200 + dados ✓

Para quem é?

  • Devs de API — cobra por chamada em vez de assinatura mensal
  • Builders de agentes de IA — agentes pagam APIs automaticamente
  • Devs sem Stripe — Brasil, Argentina, Nigéria — Bitcoin não tem fronteiras
  • Provedores de dados — cobra 1 sat por consulta, impossível com Stripe

Início rápido — TypeScript

import express from "express";
import { l402 } from "l402-kit";

const app = express();

app.get("/premium", l402({
  priceSats: 100,                             // ~R$0,01 por chamada
  ownerLightningAddress: "voce@blink.sv",     // recebe 99,7%
}), (_req, res) => {
  res.json({ data: "Pagamento confirmado." });
});

app.listen(3000);

Início rápido — Python

from fastapi import FastAPI, Request
from l402kit import l402_required

app = FastAPI()

@app.get("/premium")
@l402_required(
    price_sats=100,
    owner_lightning_address="voce@blink.sv",
)
async def premium(request: Request):
    return {"data": "Pagamento confirmado."}

Teste agora

curl http://localhost:3000/premium
# → {"error":"Payment Required","priceSats":100,"invoice":"lnbc..."}

Quickstart completo

Do zero à API paga em 5 minutos