## 什么是 L402？

L402（前身为 LSAT）使用比特币的 Lightning Network 实现即时 API 支付。服务器签发一个 macaroon（一种 bearer 令牌）并配上一张 Lightning 发票 —— 一旦代理支付了发票，macaroon 就会生效。

## 工作原理

1. 代理向付费端点发送请求
2. 服务器返回 **HTTP 402**，并附带 `WWW-Authenticate: L402 macaroon="...", invoice="..."`
3. 代理支付该 Lightning 发票
4. 代理使用已支付的 macaroon 作为凭证重试请求（`Authorization: L402 macaroon:preimage`）
5. 服务器验证 macaroon 并返回响应

## 关键概念

- **Macaroon**：一种密码学 bearer 令牌，在配对的发票被支付后生效
- **Lightning 发票**：比特币 Lightning Network 上的一次性 BOLT11 支付请求
- **Preimage**：在 Lightning 发票被结算时披露的支付凭证
- **即时结算**：Lightning 支付在毫秒级确认
- **比特币原生**：支付以 satoshi 计价（1 sat = 0.00000001 BTC）

## 如何为你的服务添加 L402

1. 运行一个 Lightning 节点（LND、CLN）或使用 Lightning 服务提供商
2. 对每个付费请求，生成一个 macaroon + Lightning 发票配对
3. 返回 402 并附带 `WWW-Authenticate: L402 macaroon="<base64>", invoice="<bolt11>"`
4. 重试时验证 macaroon 并检查发票的 preimage

## 规范成熟度

**已确立。** 最初由 Lightning Labs 以 LSAT 之名开发，后更名为 L402。已被多个由 Lightning 驱动的 API 在生产环境中使用。

## 了解更多

- [L402 规范](https://docs.lightning.engineering/the-lightning-network/l402) —— Lightning Labs 的文档
- [Aperture](https://github.com/lightninglabs/aperture) —— Lightning Labs 出品的 L402 反向代理

## 相关

- [OpenAPI](/kb/zh/openapi)
