Skip to main content

Installation

Voraussetzungen: Node.js 18+, Express 4+

Schnellstart


l402(options) — Middleware

Gibt einen Express RequestHandler zurück, der L402-Zahlung auf der Route erzwingt.

Optionen

Verhalten

402-Antwort-Body

WWW-Authenticate-Header


Provider

AlbyProvider — empfohlen für den souveränen Modus

Alby — selbstverwaltete Wallet. Du kontrollierst die Schlüssel.

BTCPayProvider — selbst gehostet, ohne Vertrauen

Betreibe deinen eigenen BTCPay Server. Vollständige Souveränität.

BlinkProvider — verwahrt, einfachster Einstieg

Blink — kostenlos, kein KYC für kleine Beträge.

LNbitsProvider

Selbst gehostet oder legend.lnbits.com.

OpenNodeProvider

ManagedProvider — Cloud-Modus (0,3% Gebühr)

l402kit.com betreibt den Lightning-Node. Du erhältst 99,7% jeder Zahlung. Explizite Einwilligung erforderlich.
Die Registrierung erfolgt einmalig beim Start (fire-and-forget, Fehler werden ignoriert). Die API erscheint unter l402kit.com/apis.json, damit Agenten sie automatisch entdecken können.

Replay-Schutz

Standard — im Speicher (Entwicklung)

Eingebaut. Wird beim Neustart zurückgesetzt. Geeignet für Einzelprozess-Deployments.

Redis (Produktion — mehrere Instanzen)

RedisReplayAdapter verwendet SET key 1 NX EX ttl — atomar, frei von Race Conditions.

Zahlungs-Webhooks

Empfange ein signiertes Ereignis nach jeder Zahlung.
Webhook-Payload:

onPayment-Callback

Synchroner Hook, der nach jeder verifizierten Zahlung vor next() aufgerufen wird:

Supabase-Zahlungsprotokollierung

Setze SUPABASE_URL + SUPABASE_ANON_KEY in deiner Umgebung, um Zahlungen automatisch zu protokollieren.
Tabellenschema für Zahlungen (payments):
payment_hash speichert SHA256(preimage), nicht das rohe preimage. Das preimage ist das 32-Byte-Lightning-Zahlungsgeheimnis — sein Hash ist bereits öffentlich in der BOLT11-Rechnung enthalten.

Eigenständige Hilfsfunktionen


Typen


Verifizierungszeitpunkt

Die Token-Verifizierung führt SHA256(preimage) == paymentHash im Speicher aus — unter einer Millisekunde, kein Netzwerkaufruf auf dem Hot Path. Der im Speicher befindliche ReplayAdapter (Standard) läuft ebenfalls synchron. Wenn du RedisReplayAdapter verwendest, addiere 5–50 ms Redis-Round-Trip pro Anfrage. Plane die Kapazität für hochfrequente Endpunkte entsprechend ein.

x402-Kompatibilität (X-Payment-Header)

Die Middleware akzeptiert stillschweigend den X-Payment-Header (verwendet vom Coinbase-x402-Protokoll) zusätzlich zum Standard-Authorization: L402 …-Header. Beide werden identisch behandelt — nützlich, wenn du Clients bedienen möchtest, die eines der beiden Protokolle sprechen.
Keine Konfiguration erforderlich; es ist immer aktiviert.

Migrationsleitfaden

v1.1 → v1.2

Spalte in deiner payments-Tabelle umbenennen: