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_URL + SUPABASE_ANON_KEY 可自动记录支付信息:
为何存储 payment_hash 而非 preimage payment_hash 已嵌入每张 BOLT11 发票中——它本身是公开信息。只有 preimage 才是秘密。存储哈希值即可实现重放防护,同时不会产生任何额外的信息暴露风险。

Lightning 提供商

l402-kit 与提供商无关,任何实现了 LightningProvider 接口的后端均可使用: 提供商配置请参阅 TypeScript SDKPython SDK

安全保障