Skip to main content

ペイメントレイヤー

l402-kit は ソベラノミドルウェア であり、3 行のコードで任意の HTTP エンドポイントに Bitcoin Lightning ペイウォールを追加します。Lightning プロバイダーはご自身でご用意ください — 資金は仲介業者を介さず直接あなたのウォレットに届きます。

プロトコル: L402

L402 は HTTP/1.1 にネイティブの決済ハンドシェイクを追加するオープン標準です:
macaroon はインボイスの paymentHash に紐付けられたケイパビリティトークンです。preimage は決済が確定したときに Lightning ノードが解放する暗号的シークレットです。サーバーは以下を検証します:
アカウント不要、セッション不要、JWT 不要 — preimage そのものが 支払証明です。

インボイス作成フロー


決済検証フロー

検証は O(1) です — 純粋な暗号演算であり、ホットパスでのデータベース検索は発生しません。リプレイ防止(Supabase payment_hash ロギング)は非同期で実行され、リクエストをブロックしません。

Macaroon フォーマット

l402-kit は軽量なカスタム macaroon を使用しています — libmacaroon ではありません。トークンは base64url エンコードされた JSON オブジェクトです:
これは外部ライブラリなしでシンプルかつ監査可能な形式です。Authorization ヘッダーのフォーマットは次のとおりです:

手数料モデル

ソベラノモードがデフォルトです。マネージドモードは明示的なオプトインが必要です:

データストレージ(オプション — Supabase)

SUPABASE_URLSUPABASE_ANON_KEY を設定すると、決済を自動的に記録します:
preimage ではなく payment_hash を使用する理由は? payment_hash はすべての BOLT11 インボイスにすでに埋め込まれており、設計上パブリックな情報です。秘密なのは preimage のみです。ハッシュを保存することで、追加の情報漏洩なしにリプレイ防止が実現できます。

Lightning プロバイダー

l402-kit はプロバイダーに依存しません。LightningProvider を実装する任意のバックエンドが利用できます: プロバイダーのセットアップについては TypeScript SDK または Python SDK をご覧ください。

セキュリティ保証