L402 — Lightning 支付
什么是 L402?
L402(前身为 LSAT)使用比特币的 Lightning Network 实现即时 API 支付。服务器签发一个 macaroon(一种 bearer 令牌)并配上一张 Lightning 发票 —— 一旦代理支付了发票,macaroon 就会生效。
工作原理
- 代理向付费端点发送请求
- 服务器返回 HTTP 402,并附带
WWW-Authenticate: L402 macaroon="...", invoice="..." - 代理支付该 Lightning 发票
- 代理使用已支付的 macaroon 作为凭证重试请求(
Authorization: L402 macaroon:preimage) - 服务器验证 macaroon 并返回响应
关键概念
- Macaroon:一种密码学 bearer 令牌,在配对的发票被支付后生效
- Lightning 发票:比特币 Lightning Network 上的一次性 BOLT11 支付请求
- Preimage:在 Lightning 发票被结算时披露的支付凭证
- 即时结算:Lightning 支付在毫秒级确认
- 比特币原生:支付以 satoshi 计价(1 sat = 0.00000001 BTC)
如何为你的服务添加 L402
- 运行一个 Lightning 节点(LND、CLN)或使用 Lightning 服务提供商
- 对每个付费请求,生成一个 macaroon + Lightning 发票配对
- 返回 402 并附带
WWW-Authenticate: L402 macaroon="<base64>", invoice="<bolt11>" - 重试时验证 macaroon 并检查发票的 preimage
规范成熟度
已确立。 最初由 Lightning Labs 以 LSAT 之名开发,后更名为 L402。已被多个由 Lightning 驱动的 API 在生产环境中使用。