L402 Evidence
L402 is a Lightning Network HTTP 402 payment protocol. The application pays a Lightning invoice and presents its macaroon and payment preimage to the resource server. That exchange takes place outside Keel.
Current status
Evidence binding only. Lightning execution is not released. Keel does not positively authorize L402 payments: the current L402 Permit path denies. There is no L402 payment approval or Keel-managed settlement workflow. Use the Stripe MPP or x402 guides for current managed payment paths.
The resource.attributes.l402 evidence schema accepts these fields:
| Field | Meaning |
|---|---|
protocol | l402 |
macaroon_identifier_b64 | Captured macaroon identifier, encoded as base64. |
payment_preimage_hex | Captured payment preimage, encoded as hexadecimal. |
payment_hash_hex | SHA-256 of that preimage. |
A hash mismatch is rejected during request validation. Matching hashes only establish internal consistency between supplied values. They do not prove that a Lightning node paid, that a merchant received funds, or that the caller had spend authority. Included evidence is bound according to the artifact’s recorded binding version; do not change historical artifact bytes.
Trust boundary
The customer controls its Lightning node credentials and any payment performed with them. Keel never dispatches that payment. Recording evidence after an external payment cannot retroactively authorize it. A signed denied Permit is a decision record, not proof of settlement.
See Independent Verification for request integrity and trust-root checks. Obtain external payment observations from the Lightning node and resource server separately.