Skip to main content

وضعان

الوضعالمزودالرسومشبكة الاختبار / Sandboxالإعداد
مُدارManagedProvider0.3% لكل sat❌ (استخدم mock في الاختبارات)عنوان Lightning فقط
SoberanoBlink0%❌ mainnet فقطحساب حضانة مجاني
SoberanoLNbits0%✅ RegTest / signetاستضافة ذاتية أو نسخة عامة
SoberanoOpenNode0%testMode: trueحساب sandbox مجاني
SoberanoAlby Hub0%✅ عبر محفظة اختبار Hubعقدة سحابية ذاتية الحضانة
SoberanoBTCPay0%✅ دعم RegTestعقدة مستضافة ذاتياً
Soberanoمخصص0%✅ ما تربطه بنفسكأي خلفية Lightning
الوضع المُدار — يستضيف l402kit.com عقدة Lightning. تضيف عنوان Lightning الخاص بك. نحن نحوّل 99.7% من كل sat إليك تلقائياً. وضع Soberano — تربط محفظة/عقدة Lightning الخاصة بك. رسوم 0%، حضانة كاملة، يعمل مع أي مزود.

ManagedProvider (موصى به)

لا حاجة لعقدة Lightning. أضف عنوان Lightning الخاص بك وابدأ في الكسب — يتولى l402kit.com جميع عمليات إنشاء الفواتير وتوجيه المدفوعات. الرسوم: 0.3% لكل sat مستلم. يصل 99.7% مباشرةً إلى محفظة Lightning الخاصة بك. لا رسوم شهرية.
import { l402, ManagedProvider } from 'l402-kit';
import express from 'express';

const app = express();
const lightning = ManagedProvider.fromAddress('you@yourdomain.com');

app.get('/premium', l402({ priceSats: 10, lightning }), (req, res) => {
  res.json({ data: 'Payment confirmed ⚡' });
});

app.listen(3000);
// 0.3% fee · no node setup · works immediately
كيف يعمل:
  1. تستدعي واجهة برمجة التطبيقات الخاصة بك ManagedProvider.fromAddress("you@domain.com")
  2. عندما يصل مُستدعٍ إلى نقطة النهاية الخاصة بك، يُنشئ l402kit.com فاتورة Lightning
  3. يدفع المُستدعي → تتم تسوية Lightning → يُحوَّل 99.7% إلى عنوان Lightning الخاص بك فوراً
  4. تتحقق واجهة برمجة التطبيقات الخاصة بك من الدليل التشفيري وترجع 200 OK
رسوم التوجيه البالغة 0.3% هي التكلفة الوحيدة. لا رسوم شهرية. لا تسجيل حساب. يعمل مع أي عنوان Lightning (Blink، Phoenix، Alby، Strike، Wallet of Satoshi، إلخ).

الثقة والتوافر

من يُشغّل l402kit.com؟ ShinyDapps (مفتوح المصدر، MIT). تعمل البنية التحتية المُدارة على Cloudflare Workers — موزعة عالمياً، لا خادم واحد يمكن أن يتعطل. وقت التشغيل: مراقب على مدار الساعة طوال أيام الأسبوع على stats.uptimerobot.com/57uOzF17jK. هدف اتفاقية مستوى الخدمة: 99.9%. ماذا لو اختفى l402kit.com؟ منطق التحقق الخاص بك محلي — يعمل SHA256(preimage) == paymentHash في عمليتك، بدون أي استدعاءات شبكة. فقط إنشاء الفواتير يلمس l402kit.com. إذا توقفت الخدمة المُدارة، انتقل إلى أي مزود soberano في سطر واحد:
// قبل (مُدار)
const lightning = ManagedProvider.fromAddress("you@yourdomain.com");

// بعد (soberano — رسوم 0%، حضانة كاملة)
const lightning = new BlinkProvider(process.env.BLINK_API_KEY!, process.env.BLINK_WALLET_ID!);
لا تغييرات في الكود الآخر. الرموز المدفوعة مسبقاً تستمر في العمل — التحقق تشفيري بحت. هل يمكنني استضافة الطبقة المُدارة بنفسي؟ نعم. الكود المصدري الكامل موجود على GitHub بموجب MIT. يحتوي cloudflare/ على عامل واجهة برمجة التطبيقات المُدار — انشره على حساب Cloudflare الخاص بك في 5 دقائق.
Blink هي محفظة Bitcoin Lightning حضانة مجانية مع واجهة برمجة تطبيقات GraphQL. لا KYC، لا رسوم شهرية، إعداد فوري. استخدمها للتشغيل في وضع soberano برسوم 0%.
خطة طوارئ: Blink خدمة مجانية — قد تتغير أسعارها. إذا أضافت Blink رسوماً أو قيّدت واجهة برمجة التطبيقات، انتقل إلى مزود soberano آخر في سطر واحد من الكود (لا تغييرات أخرى مطلوبة، الرموز المدفوعة مسبقاً تستمر في العمل). صفر قيود. بدائل جيدة: LNbits (مستضاف ذاتياً، 0% للأبد)، OpenNode (اتفاقية مستوى خدمة تجارية)، Alby Hub (ذاتية الحضانة)، أو BTCPay (سيادة كاملة).
للبدء:
  1. أنشئ حساباً على dashboard.blink.sv
  2. اذهب إلى API Keys ← أنشئ مفتاحاً جديداً
  3. انسخ BTC Wallet ID الخاص بك من صفحة المحفظة
import { BlinkProvider } from 'l402-kit';

const blink = new BlinkProvider(
  process.env.BLINK_API_KEY!,    // blink_xxx...
  process.env.BLINK_WALLET_ID!,  // UUID
);
متغيرات البيئة:
BLINK_API_KEY=blink_xxxxxxxxxxxxxxxxxxxxxxxx
BLINK_WALLET_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

LNbits (Soberano — رسوم 0%)

LNbits هو خادم محفظة Lightning مفتوح المصدر. استضفه بنفسك أو استخدم نسخة عامة. للبدء:
  1. قم بإعداد LNbits (استضافة ذاتية أو استخدم legend.lnbits.com)
  2. أنشئ محفظة ← انسخ Invoice/read key
import { LNbitsProvider } from 'l402-kit';

const lnbits = new LNbitsProvider(
  process.env.LNBITS_KEY!,
  process.env.LNBITS_URL ?? 'https://legend.lnbits.com',
);
متغيرات البيئة:
LNBITS_KEY=your-invoice-read-key
LNBITS_URL=https://your-lnbits-instance.com

OpenNode (Soberano — رسوم 0%)

OpenNode هو مزود Lightning مع sandbox مجاني للاختبار. للبدء:
  1. أنشئ حساباً على app.opennode.com
  2. اذهب إلى IntegrationsAPI Keys ← أنشئ مفتاحاً
import { OpenNodeProvider } from 'l402-kit';

const opennode = new OpenNodeProvider(
  process.env.OPENNODE_KEY!,
  process.env.NODE_ENV !== 'production', // testMode
);

Alby Hub (Soberano — رسوم 0%)

Alby Hub هو عقدة Lightning ذاتية الحضانة في السحابة. مفاتيحك، sats الخاصة بك — لا حضانة. للبدء:
  1. أنشئ Hub على hub.getalby.com (أو استضفه ذاتياً)
  2. اذهب إلى Settings → Access Tokens ← أنشئ رمزاً بصلاحيتَي invoices:create + invoices:read
  3. انسخ عنوان Hub URL الخاص بك ورمز الوصول
import { AlbyProvider } from 'l402-kit';

const alby = new AlbyProvider(
  process.env.ALBY_ACCESS_TOKEN!,  // Hub → Settings → Access Tokens
  process.env.ALBY_HUB_URL!,       // e.g. "https://your-name.getalby.com"
);
متغيرات البيئة:
ALBY_ACCESS_TOKEN=your-alby-access-token
ALBY_HUB_URL=https://your-name.getalby.com

BTCPay Server (Soberano — رسوم 0%)

BTCPay Server هو Bitcoin + Lightning ذو سيادة كاملة. عقدتك، مفاتيحك، صفر حضانة. متوافق مع: مستضاف ذاتياً (Umbrel، Start9، VPS) أو مُدار (Voltage، LunaNode). للبدء:
  1. متجر BTCPay ← Lightning → Settings
  2. Account → API Keys ← أنشئ مفتاحاً بصلاحية btcpay.store.cancreatelightninginvoice
  3. انسخ Store ID من عنوان URL للمتجر
import { BTCPayProvider } from 'l402-kit';

const btcpay = new BTCPayProvider(
  process.env.BTCPAY_URL!,       // e.g. "https://btcpay.yourdomain.com"
  process.env.BTCPAY_API_KEY!,   // Account → API Keys
  process.env.BTCPAY_STORE_ID!,  // from store URL
);
متغيرات البيئة:
BTCPAY_URL=https://btcpay.yourdomain.com
BTCPAY_API_KEY=your-api-key
BTCPAY_STORE_ID=your-store-id

مزود مخصص (Soberano — رسوم 0%)

نفّذ واجهة LightningProvider لاستخدام أي خلفية Lightning:
import type { LightningProvider, Invoice } from 'l402-kit';

class MyProvider implements LightningProvider {
  async createInvoice(amountSats: number): Promise<Invoice> {
    // Call your Lightning node API
    const result = await myNode.createInvoice(amountSats);
    const macaroon = Buffer.from(
      JSON.stringify({ hash: result.hash, exp: Date.now() + 3_600_000 })
    ).toString('base64');
    return {
      paymentRequest: result.bolt11,
      paymentHash: result.hash,
      macaroon,
      amountSats,
      expiresAt: Date.now() + 3_600_000,
    };
  }

  async checkPayment(paymentHash: string): Promise<boolean> {
    return myNode.isPaid(paymentHash);
  }
}