## L402とは？

L402（旧LSAT）は、即時APIの支払いにBitcoinのLightning Networkを使用します。サーバーはマカロン（ベアラートークン）とLightningインボイスをペアで発行し、エージェントがインボイスを支払うとマカロンが有効になります。

## 仕組み

1. エージェントが有料エンドポイントにリクエストを送信する
2. サーバーが `WWW-Authenticate: L402 macaroon="...", invoice="..."` 付きで **HTTP 402** を返す
3. エージェントがLightningインボイスを支払う
4. エージェントが支払い済みマカロンを証明として再試行する（`Authorization: L402 macaroon:preimage`）
5. サーバーがマカロンを検証して応答する

## 主要な概念

- **マカロン**：ペアのインボイスが支払われると有効になる暗号学的なベアラートークン
- **Lightningインボイス**：BitcoinのLightning Network上の一回限りのBOLT11支払いリクエスト
- **プリイメージ**：Lightningインボイスが決済されたときに明らかになる支払い証明
- **即時決済**：Lightning決済はミリ秒で確定します
- **Bitcoinネイティブ**：支払いはサトシ単位（1 sat = 0.00000001 BTC）

## サービスへのL402の追加方法

1. Lightningノード（LND、CLN）を運用するか、Lightning Service Providerを使用する
2. 各有料リクエストに対してマカロンとLightningインボイスのペアを生成する
3. `WWW-Authenticate: L402 macaroon="<base64>", invoice="<bolt11>"` 付きで402を返す
4. リトライ時にマカロンを検証し、インボイスのプリイメージを確認する

## 仕様の成熟度

**確立済み。** もともとLightning LabsによりLSATとして開発され、L402に改名されました。複数のLightning対応APIで本番運用されています。

## 詳細情報

- [L402 spec](https://docs.lightning.engineering/the-lightning-network/l402) — Lightning Labsのドキュメント
- [Aperture](https://github.com/lightninglabs/aperture) — Lightning LabsによるL402リバースプロキシ

## 関連

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