Payment Layer
l402-kit एक soberano middleware है जो किसी भी HTTP endpoint में 3 लाइन कोड में Bitcoin Lightning paywall जोड़ता है। आप अपना Lightning provider लाते हैं — फंड सीधे आपके wallet में जाते हैं, कोई intermediary की आवश्यकता नहीं।प्रोटोकॉल: L402
L402 एक open standard है जो HTTP/1.1 को एक native payment handshake के साथ विस्तारित करता है:paymentHash से बंधा होता है। preimage वह क्रिप्टोग्राफ़िक secret है जो Lightning node द्वारा भुगतान settle होने पर जारी किया जाता है। सर्वर सत्यापित करता है:
Invoice निर्माण प्रवाह
Payment सत्यापन प्रवाह
payment_hash logging) असynchronously चलता है और request को block नहीं करता।
Macaroon format
l402-kit एक lightweight custom macaroon उपयोग करता है — libmacaroon नहीं। Token एकbase64url-encoded JSON object है:
Authorization header format है:
Fee मॉडल
| मोड | शुल्क | सेटअप |
|---|---|---|
| Soberano (कोई भी provider) | 0% — आप 100% रखते हैं | अपने provider credentials लाएं |
Managed (ManagedProvider) | l402kit.com को 0.3% | कोई Lightning node नहीं — तुरंत काम करता है |
डेटा संग्रहण (वैकल्पिक — Supabase)
भुगतान स्वचालित रूप से log करने के लिएSUPABASE_URL + SUPABASE_ANON_KEY सेट करें:
preimage की जगह payment_hash क्यों? payment_hash पहले से ही हर BOLT11 invoice में embedded होता है — यह design के अनुसार public है। केवल preimage secret है। hash संग्रहीत करने से बिना किसी अतिरिक्त exposure के replay protection मिलती है।
Lightning Providers
l402-kit provider-agnostic है। कोई भी backend जोLightningProvider implement करता है वह काम करता है:
| Provider | नोट्स |
|---|---|
| Alby Hub | Self-custodial, 0% शुल्क |
| Blink | निःशुल्क custodial, छोटी राशि के लिए कोई KYC नहीं |
| BTCPay Server | Self-hosted, पूर्ण soberanoty |
| OpenNode | Custodial, कोई सेटअप नहीं |
| LNbits | Self-hosted या cloud |
सुरक्षा गारंटी
| खतरा | समाधान |
|---|---|
| Replay attack | पहले सत्यापन के बाद Preimage को उपयोग किया हुआ चिह्नित किया जाता है — in-memory या Redis adapter |
| नकली preimage | SHA256(preimage) === paymentHash क्रिप्टोग्राफ़िक रूप से अजेय है |
| Token expiry | Macaroon में exp timestamp embedded है — प्रत्येक request पर सत्यापित |
| Webhook spoofing | प्रोसेस करने से पहले HMAC-SHA256(secret, body) सत्यापित किया जाता है |