<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.orcarail.com/ar/blog/</id>
    <title>OrcaRail API Blog</title>
    <updated>2026-10-13T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.orcarail.com/ar/blog/"/>
    <subtitle>OrcaRail API Blog</subtitle>
    <icon>https://docs.orcarail.com/ar/img/favicon-48x48.png</icon>
    <entry>
        <title type="html"><![CDATA[قائمة بوابات الدفع بالعملات الرقمية (2026): مقارنة 10 بوابات دفع كريبتو]]></title>
        <id>https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/</id>
        <link href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/"/>
        <updated>2026-10-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[مقارنة 10 بوابات دفع بالعملات الرقمية (العملات المشفرة) في 2026 من حيث الرسوم والدفع المتكرر والحفظ ودعم USDT و USDC، تشمل Coinbase Commerce و BitPay و NOWPayments و CoinGate و CoinPayments و Cryptomus و Stripe و MoonPay Commerce و BTCPay Server و OrcaRail.]]></summary>
        <content type="html"><![CDATA[<p>هذه قائمة بأهم <strong>بوابات الدفع بالعملات الرقمية</strong> (العملات المشفرة أو الكريبتو) في 2026، مقارنةً بما يهمّك عند ربط إحداها: <strong>الرسوم، والدفع المتكرر، والحفظ (الحضانة)، ودعم العملات المستقرة</strong> مثل USDT.</p>
<p><strong>إفصاح:</strong> تنشر OrcaRail هذه المدونة وهي إحدى البوابات المدرجة. كل رقم يخص المنافسين مأخوذ من صفحة الأسعار أو التوثيق الخاص بكل مزوّد، وتم التحقق منه في <strong>13 أكتوبر 2026</strong>، مع رابط للمصدر. الأسعار تتغير، لذا تحقّق مع المزوّد قبل أن تقرر.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="quick-comparison">مقارنة سريعة<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#quick-comparison" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان مقارنة سريعة" title="إرتباط مُبـاشر بالعنوان مقارنة سريعة" translate="no">​</a></h2>
<table><thead><tr><th>البوابة</th><th>الرسوم المعلنة (الباقة القياسية)</th><th>الدفع المتكرر</th><th>النموذج</th></tr></thead><tbody><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#orcarail" class="">OrcaRail</a></td><td>0.5% لكل معاملة مكتملة، أول 1,000 مجانًا؛ بلا رسوم عند الاستضافة الذاتية</td><td>نعم: رابط دفع لكل دورة، أو خصم تلقائي على السلسلة (EVM و Solana)</td><td>API مستضافة أو استضافة ذاتية؛ غير حاضنة افتراضيًا</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coinbase-commerce" class="">Coinbase Commerce</a></td><td>1%</td><td>غير موثّق</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#bitpay" class="">BitPay</a></td><td>2% + 0.25$ (أقل مع الحجم الأكبر)</td><td>قائم على الفواتير</td><td>مستضافة، تسوية بعملة ورقية أو رقمية</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#nowpayments" class="">NOWPayments</a></td><td>من 0.5% (1% مع التحويل)</td><td>نعم: فواتير متكررة</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coingate" class="">CoinGate</a></td><td>1%</td><td>فواتير مجدولة</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coinpayments" class="">CoinPayments</a></td><td>3% + رسوم الشبكة</td><td>غير موثّق</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#cryptomus" class="">Cryptomus</a></td><td>2% للحسابات الجديدة، قابلة للتفاوض حتى 0.4%</td><td>نعم</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#stripe-stablecoin-payments" class="">مدفوعات Stripe بالعملات المستقرة</a></td><td>1.5%</td><td>نعم، عبر Stripe Billing</td><td>مستضافة، تسوية بعملة ورقية</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#moonpay-commerce-formerly-helio" class="">MoonPay Commerce (Helio)</a></td><td>1%–2%</td><td>نعم</td><td>مستضافة</td></tr><tr><td><a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#btcpay-server" class="">BTCPay Server</a></td><td>لا توجد (تدفع تكلفة الاستضافة)</td><td>غير مدمج</td><td>استضافة ذاتية، مفتوحة المصدر</td></tr></tbody></table>
<p>رسوم الشبكة (الغاز) إضافية في كل البوابات، ومن يدفعها يعتمد على المزوّد وإعداداتك.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-choose">كيف تختار بوابة الدفع بالعملات الرقمية؟<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#how-to-choose" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان كيف تختار بوابة الدفع بالعملات الرقمية؟" title="إرتباط مُبـاشر بالعنوان كيف تختار بوابة الدفع بالعملات الرقمية؟" translate="no">​</a></h2>
<ul>
<li class=""><strong>تبيع اشتراكات؟</strong> اختر بين بوابات <strong>ترسل فاتورة في كل دورة</strong> يدفعها العميل يدويًا، وبوابات <strong>تخصم تلقائيًا</strong> بناءً على موافقة يوقّعها العميل مرة واحدة. الخصم التلقائي يقلّل فقدان العملاء. على السلسلة، يعمل ذلك عبر allowance لرمز ERC-20 على شبكات EVM أو تفويض رمز SPL على Solana. <a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا اخترنا السحب عبر allowance</a>.</li>
<li class=""><strong>الرسوم حسب حجم مبيعاتك.</strong> النسبة الثابتة سهلة الحساب. أما الرسوم الثابتة لكل فاتورة، مثل 0.25$ لدى BitPay، فتثقل المدفوعات الصغيرة.</li>
<li class=""><strong>الحفظ والتسوية.</strong> بعض البوابات تحتفظ بأموالك وتدفع لك بعملة ورقية. وأخرى ترسل العملات المستقرة مباشرةً إلى محفظة تتحكم بها أنت.</li>
<li class=""><strong>العملات المستقرة والشبكات.</strong> تأكد من أن الرموز التي يملكها عملاؤك (USDC و USDT) مقبولة على الشبكات التي يستخدمونها.</li>
<li class=""><strong>الاختبار.</strong> تتيح لك بيئة Sandbox على الشبكات التجريبية تجربة التدفق كاملًا، بما في ذلك Webhooks والتجديدات، دون أموال حقيقية.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="orcarail">OrcaRail<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#orcarail" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان OrcaRail" title="إرتباط مُبـاشر بالعنوان OrcaRail" translate="no">​</a></h2>
<p><a href="https://orcarail.com/" target="_blank" rel="noopener noreferrer" class="">OrcaRail</a> واجهة برمجية موجهة للمطورين لـ <strong>صفحات الدفع والاشتراكات بالعملات المستقرة</strong> على شبكات EVM و Solana.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 0.5% لكل معاملة مكتملة على المنصة المستضافة، وأول 1,000 معاملة مجانية. لا رسوم لـ OrcaRail عند الاستضافة الذاتية. راجع <a href="https://orcarail.com/pricing/" target="_blank" rel="noopener noreferrer" class="">الأسعار</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> طريقتان للتحصيل. <strong>رابط دفع</strong> لكل دورة، أو <strong>خصم تلقائي</strong> على السلسلة يسحب كل تجديد من allowance لرمز ERC-20 (EVM) أو تفويض SPL (Solana). راجع <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/overview/">الاشتراكات</a>.</li>
<li class=""><strong>الحفظ:</strong> غير حاضنة افتراضيًا. تُسوّى المدفوعات إلى عناوين سحب تتحكم بها أنت.</li>
<li class=""><strong>أدوات المطورين:</strong> REST API، و Webhooks موقّعة، و SDK لـ Node و PHP، وحزمة Laravel Cashier، وإضافة WooCommerce، و<a class="" href="https://docs.orcarail.com/ar/docs/integration/mcp/">خادم MCP</a> لوكلاء البرمجة بالذكاء الاصطناعي.</li>
<li class=""><strong>الاختبار:</strong> <a class="" href="https://docs.orcarail.com/ar/docs/sandbox/overview/">مؤسسات Sandbox</a> مجانية على الشبكات التجريبية مع مفاتيح <code>ak_test_</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coinbase-commerce">Coinbase Commerce<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coinbase-commerce" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Coinbase Commerce" title="إرتباط مُبـاشر بالعنوان Coinbase Commerce" translate="no">​</a></h2>
<p><a href="https://www.coinbase.com/commerce" target="_blank" rel="noopener noreferrer" class="">Coinbase Commerce</a> هي صفحة الدفع للتجار من Coinbase.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 1% لكل معاملة، حسب صفحة Commerce.</li>
<li class=""><strong>الدفع المتكرر:</strong> لا توثّق Coinbase Commerce ميزة اشتراكات مدمجة.</li>
<li class=""><strong>ملاحظة:</strong> أعلنت Coinbase أنها <a href="https://www.coinbase.com/blog/introducing-a-powerful-suite-of-business-payment-tools-on-coinbase-business" target="_blank" rel="noopener noreferrer" class="">ستدمج Commerce في Coinbase Business</a>. تحقّق مما إذا كان التسجيل متاحًا في بلدك.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bitpay">BitPay<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#bitpay" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان BitPay" title="إرتباط مُبـاشر بالعنوان BitPay" translate="no">​</a></h2>
<p><a href="https://bitpay.com/" target="_blank" rel="noopener noreferrer" class="">BitPay</a> من أقدم معالجات الدفع بالعملات الرقمية، وتسوّي المدفوعات إلى حساب بنكي أو بعملة رقمية.</p>
<ul>
<li class=""><strong>الرسوم:</strong> متدرجة حسب الحجم الشهري. 2% + 0.25$ لكل فاتورة مدفوعة تحت 500 ألف دولار شهريًا، و1.5% + 0.25$ حتى مليون دولار، و1% + 0.25$ فوق ذلك. راجع <a href="https://support.bitpay.com/hc/en-us/articles/203324073-What-fees-will-I-pay-to-use-BitPay-for-payment-processing" target="_blank" rel="noopener noreferrer" class="">دعم BitPay</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> قائم على الفواتير. يدفع العميل كل فاتورة بنفسه.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="nowpayments">NOWPayments<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#nowpayments" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان NOWPayments" title="إرتباط مُبـاشر بالعنوان NOWPayments" translate="no">​</a></h2>
<p><a href="https://nowpayments.io/" target="_blank" rel="noopener noreferrer" class="">NOWPayments</a> تدعم قائمة طويلة من العملات الرقمية.</p>
<ul>
<li class=""><strong>الرسوم:</strong> تبدأ من 0.5% للمدفوعات بدون تحويل عملة، و1% للمدفوعات مع التحويل. راجع <a href="https://nowpayments.io/pricing" target="_blank" rel="noopener noreferrer" class="">الأسعار</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> Recurring Payments API ترسل فواتير أو طلبات دفع في كل فترة فوترة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coingate">CoinGate<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coingate" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان CoinGate" title="إرتباط مُبـاشر بالعنوان CoinGate" translate="no">​</a></h2>
<p><a href="https://coingate.com/" target="_blank" rel="noopener noreferrer" class="">CoinGate</a> معالج مستضاف مقره الاتحاد الأوروبي.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 1% لكل معاملة في باقة Standard، دون رسوم شهرية. أسعار Enterprise مخصصة. راجع <a href="https://coingate.com/pricing" target="_blank" rel="noopener noreferrer" class="">الأسعار</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> منتج Billing يرسل «فواتير لمرة واحدة أو مجدولة».</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="coinpayments">CoinPayments<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#coinpayments" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان CoinPayments" title="إرتباط مُبـاشر بالعنوان CoinPayments" translate="no">​</a></h2>
<p><a href="https://www.coinpayments.net/" target="_blank" rel="noopener noreferrer" class="">CoinPayments</a> تدعم عملات ورموزًا كثيرة.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 3% لكل دفعة إضافةً إلى رسوم الشبكة، حسب <a href="https://www.coinpayments.net/help-fees" target="_blank" rel="noopener noreferrer" class="">صفحة الرسوم</a>. تذكر الصفحة أيضًا باقة مجانية، لكنها تنطبق فقط على الإيداع في المحافظ الشخصية، لا على مدفوعات التجار.</li>
<li class=""><strong>الدفع المتكرر:</strong> غير موثّق في صفحة الرسوم.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="cryptomus">Cryptomus<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#cryptomus" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Cryptomus" title="إرتباط مُبـاشر بالعنوان Cryptomus" translate="no">​</a></h2>
<p><a href="https://cryptomus.com/" target="_blank" rel="noopener noreferrer" class="">Cryptomus</a> تقدّم المدفوعات والتحويلات والصرف في حساب واحد.</p>
<ul>
<li class=""><strong>الرسوم:</strong> تدفع الحسابات الجديدة 2% لكل معاملة. وحسب نوع النشاط وحجم التداول وطريقة التكامل، قد تنخفض النسبة إلى 0.4%. راجع <a href="https://cryptomus.com/fees/payment" target="_blank" rel="noopener noreferrer" class="">رسوم الدفع</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> متاح كخدمة مدفوعات متكررة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="stripe-stablecoin-payments">مدفوعات Stripe بالعملات المستقرة<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#stripe-stablecoin-payments" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان مدفوعات Stripe بالعملات المستقرة" title="إرتباط مُبـاشر بالعنوان مدفوعات Stripe بالعملات المستقرة" translate="no">​</a></h2>
<p><a href="https://docs.stripe.com/payments/stablecoin-payments" target="_blank" rel="noopener noreferrer" class="">Stripe</a> تقبل العملات المستقرة وتسوّيها في رصيدك على Stripe <strong>بالعملة الورقية المحلية</strong>.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 1.5% من مبلغ المعاملة بالدولار. راجع <a href="https://docs.stripe.com/crypto/stablecoin-payments" target="_blank" rel="noopener noreferrer" class="">توثيق Stripe</a>.</li>
<li class=""><strong>الرموز:</strong> USDC على Tempo و Ethereum و Solana و Polygon و Base. وتُقبل USDP و USDG على بعض الشبكات، في الولايات المتحدة فقط.</li>
<li class=""><strong>الدفع المتكرر:</strong> نعم، عبر <a href="https://docs.stripe.com/billing/subscriptions/stablecoins" target="_blank" rel="noopener noreferrer" class="">اشتراكات Stripe Billing</a>.</li>
<li class=""><strong>القيود:</strong> يجب أن تكون الشركة في بلد مدعوم. الولايات المتحدة متاحة للجميع، والاتحاد الأوروبي وهونغ كونغ والمكسيك وسويسرا في معاينة خاصة. يمكن للعملاء دفع حتى 10,000$ لكل معاملة، ولا تدعم مدفوعات العملات المستقرة الاعتراضات (disputes).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="moonpay-commerce-formerly-helio">MoonPay Commerce (سابقًا Helio)<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#moonpay-commerce-formerly-helio" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان MoonPay Commerce (سابقًا Helio)" title="إرتباط مُبـاشر بالعنوان MoonPay Commerce (سابقًا Helio)" translate="no">​</a></h2>
<p><a href="https://www.moonpay.com/newsroom/moonpay-commerce" target="_blank" rel="noopener noreferrer" class="">MoonPay Commerce</a> هو منتج Helio السابق الذي نشأ في منظومة Solana.</p>
<ul>
<li class=""><strong>الرسوم:</strong> 1% أو 2% لكل معاملة حسب الباقة وفئة المخاطر. التبديل (swap) بتكلفة إضافية 0.25% والتحويل التلقائي إلى عملة ورقية (off-ramp) بـ 0.5%. راجع <a href="https://docs.hel.io/docs/pricing-fees" target="_blank" rel="noopener noreferrer" class="">الأسعار</a>.</li>
<li class=""><strong>الدفع المتكرر:</strong> الاشتراكات مدعومة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="btcpay-server">BTCPay Server<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#btcpay-server" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان BTCPay Server" title="إرتباط مُبـاشر بالعنوان BTCPay Server" translate="no">​</a></h2>
<p><a href="https://btcpayserver.org/" target="_blank" rel="noopener noreferrer" class="">BTCPay Server</a> برنامج مجاني ومفتوح المصدر للاستضافة الذاتية، يركّز على Bitcoin و Lightning.</p>
<ul>
<li class=""><strong>الرسوم:</strong> لا رسوم معالجة. تدفع تكلفة الاستضافة وتدير الخادم بنفسك.</li>
<li class=""><strong>الدفع المتكرر:</strong> ليس ميزة أساسية.</li>
<li class=""><strong>الحفظ:</strong> غير حاضن بالكامل. تذهب المدفوعات إلى محفظتك الخاصة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الخلاصة<a href="https://docs.orcarail.com/ar/blog/crypto-payment-gateways-list/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الخلاصة" title="إرتباط مُبـاشر بالعنوان الخلاصة" translate="no">​</a></h2>
<ul>
<li class=""><strong>أقل رسوم معلنة على منصة مستضافة:</strong> OrcaRail (0.5%، أول 1,000 معاملة مجانًا) و NOWPayments (من 0.5% بدون تحويل). تصل Cryptomus إلى 0.4% بعد التفاوض فقط.</li>
<li class=""><strong>مجاني وباستضافة ذاتية:</strong> BTCPay Server لـ Bitcoin، أو OrcaRail باستضافة ذاتية للعملات المستقرة على EVM و Solana.</li>
<li class=""><strong>اشتراكات تلقائية على السلسلة دون فاتورة لكل دورة:</strong> الخصم التلقائي في OrcaRail. تدعم Stripe Billing أيضًا الاشتراكات بالعملات المستقرة، برسوم 1.5% وتسوية بعملة ورقية.</li>
<li class=""><strong>التسوية إلى بنك بعملة ورقية:</strong> Stripe أو BitPay.</li>
</ul>
<p>لتجربة OrcaRail، افتح <a class="" href="https://docs.orcarail.com/ar/docs/sandbox/overview/">Sandbox</a> مجانية واتبع دليل <a class="" href="https://docs.orcarail.com/ar/docs/getting-started/">البدء</a>.</p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Crypto" term="Crypto"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Subscriptions" term="Subscriptions"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[صنابير الشبكات التجريبية لـ sandbox من OrcaRail: EVM وسولانا وبيتكوين]]></title>
        <id>https://docs.orcarail.com/ar/blog/testnet-faucets/</id>
        <link href="https://docs.orcarail.com/ar/blog/testnet-faucets/"/>
        <updated>2026-09-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[من أين تحصل على رموز تجريبية مجانية لكل شبكة تجريبية تدعمها sandbox من OrcaRail؛ USDC والغاز على Ethereum Sepolia وArbitrum Sepolia وBase Sepolia وSolana Devnet وBitcoin testnet4.]]></summary>
        <content type="html"><![CDATA[<p>تعمل <a class="" href="https://docs.orcarail.com/ar/docs/sandbox/overview/">مؤسسة sandbox</a> في OrcaRail على الشبكات التجريبية فقط، لذا تدفع برموز تجريبية مجانية بدلًا من أموال حقيقية. تسرد هذه الصفحة صنبورًا (faucet) لكل شبكة تجريبية تدعمها الـ sandbox.</p>
<!-- -->
<p>لا تحتاج إلى أي رموز إطلاقًا إن كنت تريد رؤية التدفق فقط: انقر على <strong>محاكاة الدفع</strong> في صفحة دفع الـ sandbox، أو استدعِ <code>POST /payment_intents/:id/simulate</code>. راجع <a class="" href="https://docs.orcarail.com/ar/docs/sandbox/simulate-payments/">محاكاة المدفوعات</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-you-need">ما الذي تحتاجه<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#what-you-need" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تحتاجه" title="إرتباط مُبـاشر بالعنوان ما الذي تحتاجه" translate="no">​</a></h2>
<ul>
<li class=""><strong>الرمز الذي تدفع به:</strong> USDC على شبكات EVM وسولانا، أو BTC على بيتكوين.</li>
<li class=""><strong>الغاز للمعاملة:</strong> ETH على شبكات EVM أو SOL على سولانا. وتدفع بيتكوين رسومها بـ BTC.</li>
</ul>
<p>استخدم محفظة الدافع التي ستربطها في صفحة دفع OrcaRail.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="usdc-for-every-chain-circle-faucet">USDC لكل الشبكات: صنبور Circle<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#usdc-for-every-chain-circle-faucet" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان USDC لكل الشبكات: صنبور Circle" title="إرتباط مُبـاشر بالعنوان USDC لكل الشبكات: صنبور Circle" translate="no">​</a></h2>
<p>يرسل <a href="https://faucet.circle.com/" target="_blank" rel="noopener noreferrer" class="">صنبور USDC من Circle</a> عملة USDC تجريبية مجانية على كل شبكة EVM تجريبية أدناه وعلى Solana Devnet. اختر الشبكة، والصق عنوان محفظتك، واطلب الرموز.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="evm-testnets">شبكات EVM التجريبية<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#evm-testnets" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان شبكات EVM التجريبية" title="إرتباط مُبـاشر بالعنوان شبكات EVM التجريبية" translate="no">​</a></h2>
<table><thead><tr><th>الشبكة</th><th>USDC تجريبي</th><th>الغاز (ETH)</th></tr></thead><tbody><tr><td>Ethereum Sepolia</td><td><a href="https://faucet.circle.com/" target="_blank" rel="noopener noreferrer" class="">صنبور Circle</a></td><td><a href="https://cloud.google.com/application/web3/faucet/ethereum/sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور Google Cloud</a>، <a href="https://www.alchemy.com/faucets/ethereum-sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور Alchemy</a></td></tr><tr><td>Arbitrum Sepolia</td><td><a href="https://faucet.circle.com/" target="_blank" rel="noopener noreferrer" class="">صنبور Circle</a></td><td><a href="https://www.alchemy.com/faucets/arbitrum-sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور Alchemy</a>، <a href="https://faucet.quicknode.com/arbitrum/sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور QuickNode</a></td></tr><tr><td>Base Sepolia</td><td><a href="https://faucet.circle.com/" target="_blank" rel="noopener noreferrer" class="">صنبور Circle</a></td><td><a href="https://portal.cdp.coinbase.com/products/faucet" target="_blank" rel="noopener noreferrer" class="">صنبور Coinbase Developer Platform</a>، <a href="https://www.alchemy.com/faucets/base-sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور Alchemy</a>، <a href="https://faucet.quicknode.com/base/sepolia" target="_blank" rel="noopener noreferrer" class="">صنبور QuickNode</a></td></tr></tbody></table>
<p>يسرد توثيق الشبكات أيضًا صنابير: <a href="https://docs.arbitrum.io/for-devs/dev-tools-and-resources/chain-info" target="_blank" rel="noopener noreferrer" class="">Arbitrum</a> و<a href="https://docs.base.org/base-chain/tools/network-faucets" target="_blank" rel="noopener noreferrer" class="">Base</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="solana-devnet">Solana Devnet<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#solana-devnet" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Solana Devnet" title="إرتباط مُبـاشر بالعنوان Solana Devnet" translate="no">​</a></h2>
<table><thead><tr><th>الرمز</th><th>الصنبور</th></tr></thead><tbody><tr><td>USDC تجريبي</td><td><a href="https://faucet.circle.com/" target="_blank" rel="noopener noreferrer" class="">صنبور Circle</a> (اختر Solana Devnet)</td></tr><tr><td>SOL للرسوم</td><td><a href="https://faucet.solana.com/" target="_blank" rel="noopener noreferrer" class="">صنبور سولانا</a></td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bitcoin-testnet4">Bitcoin testnet4<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#bitcoin-testnet4" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Bitcoin testnet4" title="إرتباط مُبـاشر بالعنوان Bitcoin testnet4" translate="no">​</a></h2>
<p>تستخدم OrcaRail شبكة <strong>testnet4</strong> من بيتكوين (المستكشف: <a href="https://mempool.space/testnet4" target="_blank" rel="noopener noreferrer" class="">mempool.space testnet4</a>). استخدم محفظة تدعم عناوين testnet4.</p>
<table><thead><tr><th>الرمز</th><th>الصنبور</th></tr></thead><tbody><tr><td>BTC تجريبي</td><td><a href="https://mempool.space/testnet4/faucet" target="_blank" rel="noopener noreferrer" class="">صنبور mempool.space testnet4</a>، <a href="https://faucet.testnet4.dev/" target="_blank" rel="noopener noreferrer" class="">صنبور testnet4.dev</a>، <a href="https://coinfaucet.eu/en/btc-testnet4/" target="_blank" rel="noopener noreferrer" class="">CoinFaucet testnet4</a></td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tips">نصائح<a href="https://docs.orcarail.com/ar/blog/testnet-faucets/#tips" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان نصائح" title="إرتباط مُبـاشر بالعنوان نصائح" translate="no">​</a></h2>
<ul>
<li class="">تحدّ الصنابير عدد الطلبات، غالبًا بطلب واحد لكل عنوان يوميًا. اطلب مبكرًا.</li>
<li class="">تطلب بعض صنابير الغاز تسجيل الدخول أو امتلاك رصيد صغير على الشبكة الرئيسية.</li>
<li class="">تعرض الـ sandbox الخاصة بك بالضبط الشبكات التجريبية المفعّلة. راجع <a class="" href="https://docs.orcarail.com/ar/docs/sandbox/testnets-and-faucets/">الشبكات التجريبية والصنابير</a> للقواعد: لا يمكن للمؤسسات الحية استخدام الشبكات التجريبية، ولا يمكن للـ sandbox استخدام الشبكات الرئيسية.</li>
</ul>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Sandbox" term="Sandbox"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Crypto" term="Crypto"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[حِزم المطورين من OrcaRail أصبحت مفتوحة المصدر]]></title>
        <id>https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/</id>
        <link href="https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/"/>
        <updated>2026-07-31T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[حِزم SDK وخادم MCP وإضافة WooCommerce وتطبيق العرض التوضيحي من OrcaRail مفتوحة المصدر بترخيص MIT. استخدمها وافتح issues وساهم بطلبات سحب على GitHub.]]></summary>
        <content type="html"><![CDATA[<p><strong>31 يوليو 2026</strong> — أصبحت <strong>حِزم المطورين</strong> من OrcaRail <strong>مفتوحة المصدر</strong> بترخيص <strong>MIT</strong>. يمكنك استخدامها بحرية، وفتح issues عند حدوث خلل أو نقص، والمساهمة بتحسينات متى استطعت.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-open-source">ما الذي أصبح مفتوح المصدر<a href="https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/#whats-open-source" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي أصبح مفتوح المصدر" title="إرتباط مُبـاشر بالعنوان ما الذي أصبح مفتوح المصدر" translate="no">​</a></h2>
<p>هذه الحِزم عامة على GitHub ومرخّصة بموجب MIT:</p>
<table><thead><tr><th>الحزمة</th><th>السجل / الدور</th><th>المستودع</th></tr></thead><tbody><tr><td><strong>Node SDK</strong></td><td><code>@orcarail/node</code></td><td><a href="https://github.com/orcarail/orcarail-node" target="_blank" rel="noopener noreferrer" class="">orcarail/orcarail-node</a></td></tr><tr><td><strong>PHP SDK</strong></td><td><code>orcarail/orcarail-php</code></td><td><a href="https://github.com/OrcaRail/sdks-php" target="_blank" rel="noopener noreferrer" class="">OrcaRail/sdks-php</a></td></tr><tr><td><strong>Laravel Cashier</strong></td><td><code>orcarail/cashier-orcarail</code></td><td><a href="https://github.com/OrcaRail/sdks-laravel-cashier" target="_blank" rel="noopener noreferrer" class="">OrcaRail/sdks-laravel-cashier</a></td></tr><tr><td><strong>خادم MCP</strong></td><td><code>@orcarail/mcp</code></td><td><a href="https://github.com/OrcaRail/mcp" target="_blank" rel="noopener noreferrer" class="">OrcaRail/mcp</a></td></tr><tr><td><strong>إضافة WooCommerce</strong></td><td><code>orcarail/plugins-woocommerce</code></td><td><a href="https://github.com/OrcaRail/plugins-woocommerce" target="_blank" rel="noopener noreferrer" class="">OrcaRail/plugins-woocommerce</a></td></tr><tr><td><strong>تطبيق العرض التوضيحي</strong></td><td>مثال تكامل كامل</td><td><a href="https://github.com/OrcaRail/demo" target="_blank" rel="noopener noreferrer" class="">OrcaRail/demo</a></td></tr></tbody></table>
<p>ثبّتها من npm أو Composer كالمعتاد؛ ومصدر الحقيقة لكل حزمة هو مستودعها المذكور أعلاه.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="use-report-contribute">استخدم، أبلغ، ساهم<a href="https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/#use-report-contribute" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان استخدم، أبلغ، ساهم" title="إرتباط مُبـاشر بالعنوان استخدم، أبلغ، ساهم" translate="no">​</a></h2>
<p><strong>استخدم</strong> الحِزم في تطبيقاتك. وجّه الوكلاء والأشخاص إلى المستودعات وإلى <a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">docs.orcarail.com</a> لواجهات API والأمثلة.</p>
<p><strong>أبلغ</strong> عن الأخطاء وطلبات الميزات في GitHub Issues للحزمة التي تهمك:</p>
<ul>
<li class=""><a href="https://github.com/orcarail/orcarail-node/issues" target="_blank" rel="noopener noreferrer" class="">issues لـ Node SDK</a></li>
<li class=""><a href="https://github.com/OrcaRail/sdks-php/issues" target="_blank" rel="noopener noreferrer" class="">issues لـ PHP SDK</a></li>
<li class=""><a href="https://github.com/OrcaRail/sdks-laravel-cashier/issues" target="_blank" rel="noopener noreferrer" class="">issues لـ Laravel Cashier</a></li>
<li class=""><a href="https://github.com/OrcaRail/mcp/issues" target="_blank" rel="noopener noreferrer" class="">issues لـ MCP</a></li>
<li class=""><a href="https://github.com/OrcaRail/plugins-woocommerce/issues" target="_blank" rel="noopener noreferrer" class="">issues لإضافة WooCommerce</a></li>
<li class=""><a href="https://github.com/OrcaRail/demo/issues" target="_blank" rel="noopener noreferrer" class="">issues لتطبيق العرض التوضيحي</a></li>
</ul>
<p><strong>ساهم</strong> متى استطعت: انسخ المستودع (fork)، وافتح طلب سحب، وأبقِ التغييرات مركّزة. نرحب بشكل خاص بإصلاحات التوثيق والاختبارات وتحسينات SDK الصغيرة. وإن لم تكن متأكدًا من مكان شيء ما، فافتح issue أولًا.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-this-matters">لماذا يهم ذلك<a href="https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/#why-this-matters" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا يهم ذلك" title="إرتباط مُبـاشر بالعنوان لماذا يهم ذلك" translate="no">​</a></h2>
<p>الحِزم والإضافات المفتوحة تعني أنه يمكنك فحص كيفية تواصل OrcaRail مع منظومتك، وسد الثغرات دون انتظار مزوّد مغلق، ومشاركة التحسينات مع كل من يدمج البنية نفسها.</p>
<p>تبقى OrcaRail المستضافة واجهة المنتج للمدفوعات ولوحات التحكم والبنية التحتية للإنتاج. يتعلق هذا الإعلان بـ <strong>حِزم المطورين</strong> التي تتكامل معها، وليس ادعاءً بأن المنصة كلها مفتوحة المصدر.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الملخص<a href="https://docs.orcarail.com/ar/blog/orcarail-packages-open-source/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<table><thead><tr><th>المجال</th><th>الحالة</th></tr></thead><tbody><tr><td><strong>الترخيص</strong></td><td>MIT</td></tr><tr><td><strong>الحِزم</strong></td><td>Node SDK وPHP SDK وLaravel Cashier وخادم MCP وإضافة WooCommerce والعرض التوضيحي</td></tr><tr><td><strong>المجتمع</strong></td><td>استخدم الحِزم، وافتح issues، وأرسل طلبات سحب</td></tr></tbody></table>
<p>شكرًا لبنائك على OrcaRail. إن أطلقت شيئًا مفيدًا، فافتح PR، أو issue إن احتجت إلى مساعدة.</p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">التوثيق</a></strong> · <strong><a href="https://github.com/OrcaRail" target="_blank" rel="noopener noreferrer" class="">GitHub</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Open Source" term="Open Source"/>
        <category label="Crypto" term="Crypto"/>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[خارطة طريق OrcaRail نحو نموذج غير احتجازي]]></title>
        <id>https://docs.orcarail.com/ar/blog/non-custodial-roadmap/</id>
        <link href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[خارطة طريق من ثماني مراحل تنقل OrcaRail من نموذج الكنس بمحافظ HD إلى عقود روابط دفع على السلسلة، واشتراكات بسحب الـ allowance على EVM وسولانا، وحفظ مخفَّض على بيتكوين، وkeepers لامركزية اختيارية.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — ننشر اليوم خارطة الطريق الكاملة لنقل OrcaRail من <strong>نموذج الكنس (sweep) الاحتجازي</strong> الحالي (ننشئ عنوان إيداع لكل رابط دفع، ثم نكنس الأموال ونقسّمها) إلى <strong>نموذج غير احتجازي قائم على العقود الذكية</strong> (تصل الأموال إلى عقد خاص بكل رابط يقسّمها ويسوّيها بشكل ذري، وتسحب الاشتراكات من allowance يتحكم به الدافع).</p>
<p>هذا المقال هو الفهرس. لكل مرحلة مقال تفصيلي وصفحة توثيق حيّة، لتتمكن من الربط مباشرةً بالجزء الذي يهمك.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-we-are-doing-this">لماذا نفعل ذلك<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#why-we-are-doing-this" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا نفعل ذلك" title="إرتباط مُبـاشر بالعنوان لماذا نفعل ذلك" translate="no">​</a></h2>
<p>التدفق الحالي يعمل، لكنه يعاني من مشكلة هيكلية بسيطة: بين الإيداع والتسوية، <strong>تحتفظ OrcaRail بالأموال</strong>. يبقى هذا صحيحًا رغم أننا لا نحتفظ أبدًا بالأرصدة التشغيلية للتجار؛ فاللحظة العابرة بين «أرسل الدافع» و«استلم التاجر» احتجازية. إزالة هذه اللحظة مكسب للأمان والامتثال والموثوقية.</p>
<p>بشكل ملموس، يبدو المسار القديم هكذا:</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>والهدف هو:</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>لا تمر الأموال أبدًا عبر محفظة نتحكم بها. يحدث التقسيم على السلسلة. وتسحب الاشتراكات من allowance يمكن للدافع إلغاؤه في أي وقت.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-changing-in-one-page">ما الذي يتغير، في صفحة واحدة<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#what-is-changing-in-one-page" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يتغير، في صفحة واحدة" title="إرتباط مُبـاشر بالعنوان ما الذي يتغير، في صفحة واحدة" translate="no">​</a></h2>
<table><thead><tr><th>المجال</th><th>قبل</th><th>بعد</th></tr></thead><tbody><tr><td>عناوين روابط الدفع</td><td>EOA مشتق من HD أو smart account من Alchemy لكل رابط</td><td>CREATE2 حتمي على EVM؛ وPDA على سولانا، دون أي مفاتيح تخزنها OrcaRail</td></tr><tr><td>التسوية</td><td>معاملة كنس بعد الرصد</td><td>تقسيم ذري داخل العقد المستقبِل في معاملة الدفع نفسها</td></tr><tr><td>الاشتراكات</td><td>سحب احتجازي من محفظة يموّلها التاجر</td><td>يوقّع الدافع <code>approve</code> من ERC-20 أو delegate من SPL؛ ويستدعي الـ keeper الدالة <code>charge(id)</code></td></tr><tr><td>Keeper</td><td>مُجدوِل واحد في NestJS</td><td>NestJS أساسي + Chainlink Automation أو Gelato احتياطي (+ EigenLayer اختياري)</td></tr><tr><td>عبر الشبكات</td><td>جسر Relay ينفّذه الـ keeper</td><td>مسار Relay نفسه، لكن كاستدعاء على السلسلة من مستقبِل غير احتجازي</td></tr><tr><td>بيتكوين</td><td>محفظة ساخنة مع xpub محفوظ على الخادم</td><td>توقيع متعدد taproot اثنان من اثنين لكل رابط (التاجر + المنصة) مع استردادات موقّعة مسبقًا</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-roadmap">خارطة الطريق<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#the-roadmap" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خارطة الطريق" title="إرتباط مُبـاشر بالعنوان خارطة الطريق" translate="no">​</a></h2>
<p>كل مرحلة مستقلة وقابلة للإطلاق. تزيل المراحل الأولى الحفظ عن الأحجام الأكبر (مدفوعات واشتراكات EVM)، وتتناول المراحل اللاحقة الشبكات الأصعب واللامركزية الاختيارية.</p>
<ul>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/">المرحلة 0: تصميم منظومة دفع غير احتجازية</a></strong> — تجميد مواصفات الرسوم والتقسيم، واختيار الشبكات، وجهة التدقيق، وتوقيع النشر المتعدد، ومصفوفة قرار نموذج الاشتراك.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/">المرحلة 1: روابط دفع قائمة على العقود في EVM</a></strong> — <code>PaymentLinkFactory</code> + <code>PaymentLinkReceiver</code> + <code>FeeSplitter</code>، وعناوين حتمية، ومفهرس أحداث.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">المرحلة 2: اشتراكات بسحب الـ allowance</a></strong> — <code>SubscriptionHub</code>، وتدفق جديد للدافع، وkeeper يحل محل معالج الخصم التلقائي الاحتجازي.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3: التوسع إلى شبكات EVM متعددة وتكرار الـ keepers</a></strong> — Ethereum وArbitrum وOptimism وPolygon + احتياطي Chainlink/Gelato.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/">المرحلة 4: سولانا غير احتجازية مع PDAs من Anchor</a></strong> — برامج Anchor باسم <code>payment_link</code> و<code>subscription</code>، وخصم تلقائي عبر delegate من SPL.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/">المرحلة 5: بيتكوين، taproot اثنان من اثنين ونطاق صريح</a></strong> — حفظ مخفَّض، واستردادات موقّعة مسبقًا، وLightning BOLT12 كعمل مستقبلي.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/">المرحلة 6: مُجدوِل لامركزي وEigenLayer</a></strong> — متى يفيد الـ AVS ومتى لا يفيد.</li>
<li class=""><strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7: إيقاف بنية الحفظ</a></strong> — حذف <code>hd_wallet_seed</code>، وإزالة مسارات الكنس، وتحديث شروط الخدمة.</li>
</ul>
<p>يشرح مقال مرافق، <strong><a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا يتفوق سحب الـ allowance على الضمان (escrow) ومفاتيح الجلسة</a></strong>، كيف اخترنا نموذج الاشتراك.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-means-in-practice">ماذا يعني ذلك عمليًا<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#what-this-means-in-practice" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ماذا يعني ذلك عمليًا" title="إرتباط مُبـاشر بالعنوان ماذا يعني ذلك عمليًا" translate="no">​</a></h2>
<p><strong>للتجار</strong>: بعد المرحلة 1 لا يتغير شيء في API؛ تعمل روابط الدفع والـ webhooks كما هي. تنتقل قواعد السحب من «التسوية بعد الكنس» إلى «الإرسال عند الدفع». تحصل على مسار أسرع وأرخص وأكثر قابلية للتدقيق دون تغيير الكود. تضيف المرحلة 2 نقطة نهاية عامة جديدة ليسجّل الدافعون <code>approve</code> الخاص بهم على السلسلة، بما يطابق التدفق الموثق في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a>.</p>
<p><strong>للدافعين</strong>: تبقى المدفوعات الفردية كما هي تمامًا. تضيف الاشتراكات توقيعًا إضافيًا واحدًا عند الإعداد (<code>approve</code> على السلسلة) ومسار «إلغاء» أوضح: ألغِ على السلسلة وستتوقف OrcaRail عن المحاولة. لا تغادر أموالك محفظتك حتى يسحبها العقد، ولا تستقر أبدًا في محفظة نتحكم بها.</p>
<p><strong>للمطورين المتكاملين</strong>: يبقى شكل API مستقرًا. الحقول الجديدة (عناوين العقود، شبكة النشر، بيانات الـ allowance الوصفية) إضافية فقط، وخلف feature flag لكل شبكة. تواصل التكاملات الحالية العمل خلال دورة التجديد الحالية وتنتقل عند الاختيار.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-stays-custodial-for-now">ما الذي يبقى احتجازيًا (حاليًا)<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#what-stays-custodial-for-now" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يبقى احتجازيًا (حاليًا)" title="إرتباط مُبـاشر بالعنوان ما الذي يبقى احتجازيًا (حاليًا)" translate="no">​</a></h2>
<p>بيتكوين. سنخفّض الحفظ بشكل ملموس في <a class="" href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/">المرحلة 5</a> بنقل كل رابط إلى توقيع متعدد taproot اثنان من اثنين مع موقّع من جهة التاجر، إضافةً إلى PSBT استرداد موقّعة مسبقًا. لكن الطبقة الأولى من بيتكوين لا تملك اليوم القدرة التعبيرية للعقود اللازمة لإلغاء الحفظ كليًا. تبقى اشتراكات BTC خارج النطاق حتى تجهز المدفوعات المتكررة عبر Lightning BOLT12.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="timeline-and-status">الجدول الزمني والحالة<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#timeline-and-status" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الجدول الزمني والحالة" title="إرتباط مُبـاشر بالعنوان الجدول الزمني والحالة" translate="no">​</a></h2>
<p>تُتابَع الخطة الكاملة في <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/roadmap/">/docs/non-custodial/roadmap</a>، ولكل مرحلة صفحة حالة:</p>
<ul>
<li class="">مخطط لها: <strong>0 — 7</strong></li>
<li class="">قيد التنفيذ: لا شيء بعد</li>
<li class="">أُطلقت: لا شيء بعد</li>
</ul>
<p>سننشر مقال تحديث مؤرخًا في كل مرة تُطلق فيها مرحلة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="read-the-architecture-docs">اقرأ توثيق البنية<a href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/#read-the-architecture-docs" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان اقرأ توثيق البنية" title="إرتباط مُبـاشر بالعنوان اقرأ توثيق البنية" translate="no">​</a></h2>
<p>للنسخة المرجعية من كل ذلك (مخططات البنية، وواجهة العقود، ودليل الترحيل، ونموذج الأمان) ابدأ من <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/overview/">/docs/non-custodial/overview</a>.</p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">التوثيق</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/overview/">التوثيق غير الاحتجازي</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Crypto" term="Crypto"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[بروتوكول OrcaRail: ورقة بيضاء لبنية دفع غير احتجازية ومتواصلة من Web2 إلى Web3]]></title>
        <id>https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/</id>
        <link href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[الورقة البيضاء لبروتوكول OrcaRail. أربعة ثوابت (غير احتجازي، متواصل، محايد بشكل موثوق، متوافق مع Web2)، وخارطة طريق بمسارين، وحوكمة تتجه نحو اللامركزية بمرور الوقت، وخيار محجوز (لا التزام) لرمز حوكمة مستقبلي بعد تحقيق اللامركزية.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — هذه هي الورقة البيضاء لبروتوكول OrcaRail. إنها البيان المرجعي لما تتحول إليه OrcaRail: بنية دفع مفتوحة ومحايدة بشكل موثوق وغير احتجازية ومتواصلة، يمكن لتاجر Web2 ربطها عبر واجهات HTTP وwebhooks مألوفة، ويمكن لدافع Web3 استخدامها بأي محفظة، وتستمر في التسوية حتى لو اختفت شركة OrcaRail.</p>
<p>هذه الورقة توسّع <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a> و<a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">نقاش البروتوكول</a>، و<strong>لا</strong> تحل محلهما. تزيل خارطة الطريق غير الاحتجازية (المسار N، المراحل 0-7) الحفظ. وتضيف هذه الورقة مسارًا موازيًا P يجعل الباقي لامركزيًا: المفهرسات، والواجهات الأمامية، والمعايير، والـ keepers، والحوكمة.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="abstract">الملخص<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#abstract" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<p>بروتوكول OrcaRail مجموعة من المكوّنات الأساسية على السلسلة (مصانع روابط الدفع ومستقبِلاتها، ومراكز اشتراك بسحب الـ allowance، وموزّعات الرسوم، وبرامج Anchor على سولانا، وواصفات توقيع متعدد taproot على بيتكوين)، إلى جانب مواصفات عامة للمفهرسات والـ keepers والواجهات الأمامية وحِزم SDK التي تعمل فوق هذه المكوّنات. يحقق البروتوكول أربعة ثوابت: <strong>غير احتجازي</strong> (لا يحتفظ أي طرف بالأموال أثناء انتقالها)، و<strong>متواصل</strong> (تستمر التسوية المشروعة دون OrcaRail)، و<strong>محايد بشكل موثوق</strong> (لا يستطيع أي طرف منفرد حجب معاملة مدفوعة سليمة البنية)، و<strong>متوافق مع Web2</strong> (يحتفظ التجار بمفاتيح API والـ webhooks ولوحات التحكم). يجري الإطلاق على مسارين متوازيين: <strong>المسار N</strong> يزيل الحفظ في سبع مراحل؛ و<strong>المسار P</strong> يجعل الفهرسة والواجهات الأمامية والمعايير وتوجيه التسوية لامركزية في خمس مراحل. لا يوجد أي رمز عند الإطلاق ولا يُخطَّط لأي رمز ضمن هذه الورقة؛ ورمز الحوكمة المستقبلي <strong>محجوز</strong> صراحةً كخيار لما بعد اللامركزية، وإن طُرح يومًا فسيصدر بورقة بيضاء خاصة به.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-introduction--why-a-protocol-not-just-a-product">1. مقدمة: لماذا بروتوكول وليس مجرد منتج<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#1-introduction--why-a-protocol-not-just-a-product" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 1. مقدمة: لماذا بروتوكول وليس مجرد منتج" title="إرتباط مُبـاشر بالعنوان 1. مقدمة: لماذا بروتوكول وليس مجرد منتج" translate="no">​</a></h2>
<p>تُقدَّم OrcaRail اليوم كمنتج مدفوعات مستضاف، مع خيارات استضافة ذاتية في الطريق. هذا منتج، لا بروتوكول. المنتجات يمكن تحسينها؛ أما البروتوكولات فيمكن <strong>الوثوق بها في غياب صانعها</strong>.</p>
<p>تُخرج <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a> الحفظ من المسار. هذا ضروري لكنه غير كافٍ. فحتى دون حفظ، قد تتعطل بنية الدفع إذا توقفت الشركة المشغّلة عن دفع فواتير AWS، أو فُرضت عليها عقوبات، أو ببساطة غيّرت توجهها. يجب أن يستمر البروتوكول في العمل عند حدوث ذلك.</p>
<p>استعرض <a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">نقاش البروتوكول</a> خمس بنى. وكانت الخلاصة: أطلق مسار «البراغماتي»، وحافظ على ضغط «المتشدد» عليه، واعتمد الـ intents لتجربة الدافع، واكتب المعايير على طول الطريق، وأبقِ السلسلة الخاصة مستقبلًا اختياريًا. هذه الورقة هي تلك الخلاصة مكتوبة كالتزامات.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-design-goals">2. أهداف التصميم<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#2-design-goals" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 2. أهداف التصميم" title="إرتباط مُبـاشر بالعنوان 2. أهداف التصميم" translate="no">​</a></h2>
<p>يُصاغ كل هدف بتعريف دقيق وقابل للاختبار. يجب أن يكون لسؤال «هل يحقق التصميم ذلك؟» جواب بنعم أو لا.</p>
<ol>
<li class=""><strong>غير احتجازي</strong> — في أي لحظة أثناء الدفع أو خصم الاشتراك، لا تحتفظ أي محفظة أو حساب تتحكم به OrcaRail أو معالج التاجر أو أي وسيط بأموال الدافع. <strong>الاختبار</strong>: هل يمكن لجهة تنظيمية تجميد الأموال أثناء انتقالها بمخاطبة OrcaRail وحدها؟ لا.</li>
<li class=""><strong>متواصل</strong> — إذا توقفت خوادم OrcaRail إلى أجل غير مسمى، تستمر تسوية خصم الاشتراك المستحق المشروع على السلسلة، ويظل بإمكان الدافع إكمال دفعة فردية. <strong>الاختبار</strong>: بعد انقطاع OrcaRail لمدة 30 يومًا، هل فات أي اشتراك مضبوط بشكل صحيح خصمًا؟ لا.</li>
<li class=""><strong>محايد بشكل موثوق</strong> — القواعد على السلسلة عامة، وغير قابلة للتغيير لكل رابط، وتُطبَّق بالتساوي. لا تستطيع OrcaRail حجب الخدمة انتقائيًا في طبقة التسوية (بل في واجهتها الأمامية فقط). <strong>الاختبار</strong>: هل يمكن لتاجر غير مرغوب فيه أن يتلقى المدفوعات عبر واجهة أمامية لطرف ثالث؟ نعم.</li>
<li class=""><strong>متوافق مع Web2</strong> — يحتفظ التجار بالسهولة التي اعتادوها (نقاط نهاية REST، وwebhooks، ومفاتيح API، ولوحات التحكم، والبريد الإلكتروني). التحول إلى بروتوكول لا يتطلب من التاجر تشغيل أدوات Ethereum لقبول دفعة. <strong>الاختبار</strong>: هل يستطيع تاجر غير متمرس في الكريبتو إتمام التكامل في أقل من ساعة؟ نعم.</li>
<li class=""><strong>ند للند حقيقي</strong> — يُعرَّف بدقة في القسم التالي.</li>
</ol>
<p>أي تصميم يخفق في أي هدف يُعدّ ناقصًا.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-what-real-p2p-means-here">3. ماذا يعني «ند للند حقيقي» هنا<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#3-what-real-p2p-means-here" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 3. ماذا يعني «ند للند حقيقي» هنا" title="إرتباط مُبـاشر بالعنوان 3. ماذا يعني «ند للند حقيقي» هنا" translate="no">​</a></h2>
<p>مصطلح «ند للند» (P2P) محمّل بمعانٍ كثيرة. في هذا البروتوكول له ثلاث طبقات ملموسة.</p>
<ul>
<li class=""><strong>P2P في التسوية</strong> — يوقّع الدافع؛ وتتدفق الأموال من الدافع إلى عقد على السلسلة (EVM) أو PDA مملوك للبرنامج (سولانا) أو توقيع متعدد اثنان من اثنين (بيتكوين)، ثم إلى التاجر ومستلمي الرسوم بشكل ذري. لا توجد أي محفظة لـ OrcaRail في المسار. يضمن المسار N ذلك.</li>
<li class=""><strong>P2P في الاكتشاف</strong> — يمكن استخلاص رابط الدفع أو الاشتراك بالكامل من بياناته على السلسلة و(اختياريًا) من بيانات وصفية مثبّتة على IPFS. يمكن لأي محفظة أو واجهة أمامية أو معالج طرف ثالث عرضه وإكماله. لوحة التحكم المستضافة لـ OrcaRail هي <strong>إحدى</strong> تطبيقات طبقة العرض، وليست السجل.</li>
<li class=""><strong>P2P في الاستمرارية</strong> — <code>SubscriptionHub.charge(id)</code> وتعليمة <code>charge</code> في Anchor عامة. يمكن لأي EOA أو solver استدعاؤها. مُجدوِل OrcaRail مشارك واحد بين عدة مشاركين (Chainlink، وGelato، ومشغّلين من التجار، ومشغّلين من الـ solvers).</li>
</ul>
<p>ما <strong>لا</strong> يعنيه «ند للند حقيقي» هنا: لسنا Lightning؛ ولسنا طبقة قنوات مباشرة من محفظة إلى محفظة؛ ولا نستبدل تطبيق دفع بـ DHT. OrcaRail <strong>بروتوكول على السلسلة بتجربة استخدام خارج السلسلة</strong>. خاصية P2P تأتي من استحالة تدخّل وسيط في التسوية أو الاكتشاف أو الاستمرارية، لا من تجنب البنية على السلسلة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-system-architecture">4. بنية النظام<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#4-system-architecture" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 4. بنية النظام" title="إرتباط مُبـاشر بالعنوان 4. بنية النظام" translate="no">​</a></h2>
<p>على أعلى مستوى، يتكون البروتوكول من خمس طبقات.</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p><strong>طبقة التسوية</strong> غير قابلة للتغيير لكل رابط على EVM وسولانا، ومشتقة من الواصفات لكل رابط على بيتكوين. أما الطبقات الأربع الأخرى فقابلة للاستبدال. من يريد المخطط التقني الكامل فليتوجه إلى <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">/docs/non-custodial/architecture</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-settlement-primitives">5. مكوّنات التسوية الأساسية<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#5-settlement-primitives" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 5. مكوّنات التسوية الأساسية" title="إرتباط مُبـاشر بالعنوان 5. مكوّنات التسوية الأساسية" translate="no">​</a></h2>
<p>المرجع الكامل: <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">/docs/non-custodial/contract-reference</a>. ملخص:</p>
<ul>
<li class=""><strong>EVM</strong> — <code>PaymentLinkFactory</code> (عناوين حتمية عبر CREATE2)، و<code>PaymentLinkReceiver</code> (نسخة مصغّرة EIP-1167، غير قابلة للتغيير لكل رابط)، و<code>FeeSplitter</code> (تقسيم ذري بنقاط الأساس)، و<code>SubscriptionHub</code> (سحب الـ allowance مع <code>lastChargedAt</code> رتيب).</li>
<li class=""><strong>سولانا</strong> — برنامج Anchor باسم <code>payment_link</code> (PDA لكل رابط، وتقسيم عبر CPI) وبرنامج Anchor باسم <code>subscription</code> (صلاحية delegate من SPL، بدلالة <code>charge</code> مطابقة لمركز EVM).</li>
<li class=""><strong>بيتكوين</strong> — توقيع متعدد taproot اثنان من اثنين لكل رابط (موقّع التاجر + موقّع المنصة من HSM/MPC) مع PSBT استرداد موقّعة مسبقًا. لا مدفوعات BTC متكررة حتى تنضج المدفوعات المتكررة في Lightning BOLT12.</li>
</ul>
<p>صُمم كل مكوّن بحيث يشير <code>linkId</code> أو <code>subscriptionId</code> نفسه دائمًا إلى العنوان الحتمي نفسه على الشبكة نفسها إلى الأبد: دون تدوير للعناوين، ودون إعادة إصدار، ودون ربط محفوظ على خادم.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-cross-chain-as-intents">6. العمليات عبر الشبكات كـ intents<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#6-cross-chain-as-intents" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 6. العمليات عبر الشبكات كـ intents" title="إرتباط مُبـاشر بالعنوان 6. العمليات عبر الشبكات كـ intents" translate="no">​</a></h2>
<p>البروتوكول الذي يتعامل مع العمليات عبر الشبكات على أنها «الخادم الخلفي لدينا يستدعي Relay» ما زال منتجًا. أما البروتوكول فيتعامل معها على أنها <strong>intent من الدافع</strong>:</p>
<ul>
<li class="">يوقّع الدافع: «ادفع للتاجر X مبلغ 50 دولارًا بـ USDC، من أي من محافظي على أي شبكة مدعومة، خلال ساعة واحدة، برسوم لا تتجاوز Y».</li>
<li class="">تتنافس شبكات الـ solvers القائمة (<strong>Across وRelay وdeBridge وعلى نمط CoW</strong>) على تنفيذ الـ intent. ويحصل الـ solvers على مكافأة مضمّنة في الـ intent.</li>
<li class="">للمسارات الطويلة غير المربحة اقتصاديًا (مبالغ صغيرة، شبكات غير شائعة) تشغّل OrcaRail <strong>solver احتياطيًا بسعر التكلفة</strong> لضمان تسوية هذه المسارات أيضًا. الاحتياطي عام، ويمكن لأي شخص آخر تشغيل واحد.</li>
</ul>
<p>توقيع الدافع محدود بالمبلغ والمستلم والمهلة والحد الأقصى للرسوم. في أسوأ الأحوال يكون الـ solver الخبيث بطيئًا؛ ولا يستطيع تحويل الأموال إلى وجهة أخرى. هذه هي خلاصة «المؤمن بالـ intents» من <a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">نقاش البروتوكول</a>، مكتوبة كالتزام.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-standards-and-interoperability">7. المعايير والتشغيل البيني<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#7-standards-and-interoperability" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 7. المعايير والتشغيل البيني" title="إرتباط مُبـاشر بالعنوان 7. المعايير والتشغيل البيني" translate="no">​</a></h2>
<p>مكوّنات روابط الدفع والاشتراكات في OrcaRail بنية عامة. ولا تتضاعف قيمتها إلا إذا طبّقتها معالجات ومحافظ ومفهرسات أخرى بشكل أصيل.</p>
<p>الالتزامات:</p>
<ul>
<li class=""><strong>صياغة مسودة EIP لروابط الدفع غير الاحتجازية</strong> باستخدام <code>PaymentLinkFactory</code> و<code>PaymentLinkReceiver</code> كواجهة مرجعية. والاشتراك في كتابتها مع فريق معالج أو محفظة آخر على الأقل لتجنب نمط «EIP من مزوّد واحد».</li>
<li class=""><strong>صياغة مسودة EIP لاشتراكات سحب الـ allowance</strong> باستخدام <code>SubscriptionHub</code> كمرجع. <code>lastChargedAt</code> الرتيب ومجموعة أسباب <code>ChargeSkipped(reason)</code> أهداف للتوحيد القياسي.</li>
<li class=""><strong>نشر مقابل لسولانا</strong> عبر IDL من Anchor ومواصفة مكتوبة، لتتمكن أي محفظة أو مفهرس على سولانا من عرض رابط دفع من الأساس.</li>
<li class=""><strong>نشر مخطط الـ subgraph المرجعي</strong> ليكون أي مفهرس (The Graph أو Goldsky أو Envio أو مستضاف ذاتيًا) متوافقًا مباشرةً.</li>
</ul>
<p>كتابة الـ EIP لا تقلّص ميزتنا التنافسية. كما جادلنا في <a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">النقاش</a>، تكمن الميزة في التكاملات والامتثال واتفاقيات مستوى الخدمة وثقة التجار، ولا شيء من ذلك يُنسخ بـ EIP.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-governance">8. الحوكمة<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#8-governance" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 8. الحوكمة" title="إرتباط مُبـاشر بالعنوان 8. الحوكمة" translate="no">​</a></h2>
<p>للحوكمة أفقان.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="today-and-near-term">اليوم وعلى المدى القريب<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#today-and-near-term" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان اليوم وعلى المدى القريب" title="إرتباط مُبـاشر بالعنوان اليوم وعلى المدى القريب" translate="no">​</a></h3>
<ul>
<li class=""><strong>EVM</strong>: توقيع متعدد Safe ثلاثة من خمسة على كل شبكة منشورة. موقّعون بمحافظ أجهزة. تدوير سنوي. قفل زمني (timelock) لمدة 48 ساعة على ترقيات الـ proxy. نسخ <code>PaymentLinkReceiver</code> لكل رابط <strong>غير قابلة للتغيير</strong>.</li>
<li class=""><strong>سولانا</strong>: توقيع متعدد Squads ثلاثة من خمسة بمجموعة الموقّعين نفسها وسياسة التدوير نفسها.</li>
<li class=""><strong>نطاق الترقية</strong>: المصانع والمراكز خلف proxies من نوع UUPS؛ ولا تتأثر المستقبِلات لكل رابط وسجلات كل اشتراك بالترقيات.</li>
<li class=""><strong>قابلية التدقيق العام</strong>: يُنفَّذ كل نشر وترقية كمراسم توقيع متعدد مُعلنة مع تسجيل المعاملات الموقّعة.</li>
</ul>
<p>هذه هي الحوكمة الموصوفة في <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">/docs/non-custodial/security-model</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="post-decentralization">ما بعد اللامركزية<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#post-decentralization" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما بعد اللامركزية" title="إرتباط مُبـاشر بالعنوان ما بعد اللامركزية" translate="no">​</a></h3>
<p>مع الوقت، لا تبقى مجموعة الموقّعين مقتصرة على موظفي OrcaRail، بل تصبح <strong>مجلسًا عامًا</strong> يضم متكاملين وشركات تدقيق ومشغّلي keepers ومساهمين مستقلين. تنتقل صلاحية الترقية إلى المجلس. عندها تصبح الحوكمة على السلسلة خيارًا فعليًا، لكن كآلية حوكمة فقط، لا كأداة مضاربة.</p>
<p>عتبة «ما بعد اللامركزية» صريحة: ثلاث واجهات أمامية مستقلة على الأقل في بيئة الإنتاج تستضيف البنية، وثلاثة keepers مستقلين على الأقل ينفّذون الخصومات، ومعالج واحد على الأقل من غير OrcaRail يطلق تكاملات. وحتى يتحقق ذلك فعليًا، لا يكون البروتوكول لامركزيًا بعد، بغض النظر عن آلية الحوكمة القائمة فوقه.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="9-future-governance-token-explicit-reservation">9. رمز حوكمة مستقبلي (حجز صريح)<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#9-future-governance-token-explicit-reservation" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 9. رمز حوكمة مستقبلي (حجز صريح)" title="إرتباط مُبـاشر بالعنوان 9. رمز حوكمة مستقبلي (حجز صريح)" translate="no">​</a></h2>
<p>هذا القسم قصير ودقيق عن قصد.</p>
<ul>
<li class=""><strong>لا رمز عند الإطلاق.</strong> لا بيع مسبق. لا تخصيصات. لا نقاط. لا مطالبات بأثر رجعي.</li>
<li class=""><strong>رمز الحوكمة المستقبلي محجوز كخيار</strong>، لا كالتزام. لا يصبح مناسبًا إلا <strong>بعد</strong> بلوغ عتبة ما بعد اللامركزية في القسم 8 ووجود قاعدة نشطة من المتكاملين والـ keepers والواجهات الأمامية تستفيد من حقوق رسمية لإبداء الرأي.</li>
<li class=""><strong>إن طرحنا رمزًا يومًا ما</strong>، فسيصدر بورقة بيضاء خاصة به، مع شفافية كاملة بشأن التوزيع وفترات القفل والمعروض ونطاق الحوكمة. وستُناقَش ورقة الرمز علنًا قبل الإصدار.</li>
<li class=""><strong>سيكون الرمز للحوكمة أولًا، لا للمضاربة.</strong> آليات منطقية: تصويت لإبداء الرأي في الترقيات، وضبط المعاملات ضمن حدود آمنة، وسمعة مشغّلي الـ keepers. آليات غير منطقية: خصومات على الرسوم مرتبطة بالحيازة، والدفع مقابل الدفع، وزراعة العوائد (yield farming).</li>
<li class=""><strong>لن ندّعي أن البروتوكول لامركزي لمجرد وجود رمز.</strong> تُقاس اللامركزية بما ورد في القسم 8. الرمز أداة يمكنها إضفاء الطابع الرسمي على لامركزية متحققة بالفعل؛ ولا يمكنها صنعها.</li>
</ul>
<p>هذا الحجز مدوَّن في الورقة البيضاء للبروتوكول، أي هذه الوثيقة، وليس في أي مكان آخر. وأي تغيير مستقبلي في هذا الموقف هو تغيير في هذه الورقة، يُنشر علنًا، وليس إعلانًا أحادي الجانب.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="10-economics-and-fees--how-the-protocol-sustains-itself-without-a-token">10. الاقتصاد والرسوم: كيف يستدام البروتوكول دون رمز<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#10-economics-and-fees--how-the-protocol-sustains-itself-without-a-token" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 10. الاقتصاد والرسوم: كيف يستدام البروتوكول دون رمز" title="إرتباط مُبـاشر بالعنوان 10. الاقتصاد والرسوم: كيف يستدام البروتوكول دون رمز" translate="no">​</a></h2>
<p>نموذج إيرادات البروتوكول هو نموذج المنتج نفسه، لكنه مُرمَّز على السلسلة.</p>
<ul>
<li class="">يقع <strong>تقسيم الرسوم</strong> في إعداد نقاط الأساس لـ <code>FeeSplitter</code> لكل دفعة. وهي الحصص نفسها التي تصفها صفحة <a class="" href="https://docs.orcarail.com/ar/docs/withdrawals/strategy/">السحوبات</a> اليوم: التاجر، والمنصة (حصة OrcaRail المستضافة)، والإحالة/الشريك، ورسوم الجسر.</li>
<li class="">تُموَّل <strong>الخدمات المستضافة من OrcaRail</strong> (لوحة التحكم، والبريد الإلكتروني، وغاز الـ paymaster، ودعم العملاء) من حصة OrcaRail في التقسيم.</li>
<li class="">يمكن <strong>للمستضيفين البدلاء</strong> (المعالجات من أطراف ثالثة، والمشغّلين بالاستضافة الذاتية، والواجهات المثبتة على IPFS) العمل بتقسيم صفري لحصة المنصة، أو ضبط مستلم رسوم خاص بهم. لا يفضّل البروتوكول رسوم OrcaRail على رسوم أي طرف آخر.</li>
<li class=""><strong>لا إصدار رموز، ولا دعم، ولا عوائد staking.</strong> التكاليف نقدية والإيرادات نقدية. الطريقة الوحيدة ليصبح البروتوكول أرخص هي أن يرخص الغاز أو أن يقبل مستضيفٌ هامشًا أقل، لا إصدار رموز لتغطية تكاليف التشغيل.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="11-security-model">11. نموذج الأمان<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#11-security-model" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 11. نموذج الأمان" title="إرتباط مُبـاشر بالعنوان 11. نموذج الأمان" translate="no">​</a></h2>
<p>البيان الكامل: <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">/docs/non-custodial/security-model</a>. الموقف الأساسي:</p>
<ul>
<li class="">المستقبِلات لكل رابط وسجلات كل اشتراك غير قابلة للتغيير.</li>
<li class="">لا تُرقّى المصانع والمراكز إلا عبر توقيع متعدد + قفل زمني.</li>
<li class="">الـ keepers حسابات EOA تدفع الغاز فقط ولا تملك أي صلاحية لنقل الأموال.</li>
<li class="">يستخدم توقيع BTC خدمة HSM أو MPC من جهة المنصة، إضافةً إلى مفتاح التاجر؛ ولا يملك أي خادم صلاحية إنفاق أحادية.</li>
</ul>
<p>إضافة خاصة بالتحول إلى بروتوكول: <strong>يجب على مستضيفي الواجهات الأمامية المستقلين التحقق من عناوين العقود مقابل سجل على السلسلة</strong> (أو بيان إصدار موقّع) قبل عرض رابط الدفع. الواجهة المستنسخة الخبيثة التي توجّه المدفوعات إلى عقد مشابه هي أرجح وسيلة تصيّد عندما يضم النظام عدة مستضيفين. السجل المرجعي موجود على السلسلة، وتدفق التحقق موثّق كجزء من P2.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="12-roadmap--two-parallel-tracks">12. خارطة الطريق: مساران متوازيان<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#12-roadmap--two-parallel-tracks" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 12. خارطة الطريق: مساران متوازيان" title="إرتباط مُبـاشر بالعنوان 12. خارطة الطريق: مساران متوازيان" translate="no">​</a></h2>
<p>يجري إطلاق البروتوكول على مسارين في الوقت نفسه.</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>المسار N هو <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق القائمة</a> دون تغيير. ويحوّل المسار P التزامات M1-M5 من <a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">مقال النقاش</a> إلى مراحل رسمية. يستهدف المساران الحالة النهائية نفسها: بنية تستمر في العمل إذا ابتعدت OrcaRail.</p>
<p>لا يعيق المسار P المسار N أبدًا، ولا يعيق المسار N المسار P أبدًا. يمكن لأي منهما إطلاق مرحلة قبل الآخر.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="13-track-p-phases">13. مراحل المسار P<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#13-track-p-phases" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 13. مراحل المسار P" title="إرتباط مُبـاشر بالعنوان 13. مراحل المسار P" translate="no">​</a></h2>
<p>خمس مراحل، كل منها امتداد طبيعي لأحد التزامات M في مقال النقاش.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="p1--public-subgraph-and-open-indexer">P1 — subgraph عام ومفهرس مفتوح<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#p1--public-subgraph-and-open-indexer" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان P1 — subgraph عام ومفهرس مفتوح" title="إرتباط مُبـاشر بالعنوان P1 — subgraph عام ومفهرس مفتوح" translate="no">​</a></h3>
<p><strong>النطاق</strong>: subgraph مرجعي (The Graph أو Envio أو ما يعادلهما) يفهرس كل أحداث <code>Paid</code> و<code>SubscriptionCreated</code> و<code>Charged</code> و<code>ChargeSkipped</code> و<code>Canceled</code> و<code>Refunded</code> من <code>PaymentLinkReceiver</code> و<code>SubscriptionHub</code> عبر كل الشبكات المنشورة. المخطط منشور. وتعليمات الاستضافة الذاتية منشورة ليتمكن أي شخص من تشغيل الفهرس نفسه.</p>
<p><strong>قائمة الحالة</strong></p>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->بيان الـ subgraph + الـ mappings لشبكات EVM المفعّلة في المرحلة 1 والمرحلة 3</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مقابل على سولانا (webhooks من Helius أو بث Triton) بأشكال الأحداث نفسها</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مخطط موثّق بإصدارات مستقرة</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إثبات تشغيل مفهرس خارجي للمخطط نفسه على أحداث حية</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="p2--decentralized-frontends-ipfs--ens">P2 — واجهات أمامية لامركزية (IPFS / ENS)<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#p2--decentralized-frontends-ipfs--ens" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان P2 — واجهات أمامية لامركزية (IPFS / ENS)" title="إرتباط مُبـاشر بالعنوان P2 — واجهات أمامية لامركزية (IPFS / ENS)" translate="no">​</a></h3>
<p><strong>النطاق</strong>: تثبيت تطبيق الدفع ولوحة تحكم التاجر في OrcaRail على IPFS بحِزم إصدار معنونة بالمحتوى. والوصول إليها عبر ENS (<code>pay.orcarail.eth</code> و<code>app.orcarail.eth</code>). بناء قابل لإعادة الإنتاج ليتحقق أي قارئ من مطابقة الحزمة للمصدر. على النسخة الخبيثة أن تنتحل عناوين العقود وسجل ENS معًا، لا اسم المضيف فقط.</p>
<p><strong>قائمة الحالة</strong></p>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->بناء تطبيق الدفع قابل لإعادة الإنتاج</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->بناء لوحة التحكم قابل لإعادة الإنتاج</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->سجلات ENS تشير إلى معرّفات CID على IPFS</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مراسم توقيع الإصدارات من التوقيع المتعدد Safe</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->سجل على السلسلة لعناوين العقود تتحقق منه الواجهات قبل العرض</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="p3--standards-draft-eip">P3 — المعايير (مسودة EIP)<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#p3--standards-draft-eip" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان P3 — المعايير (مسودة EIP)" title="إرتباط مُبـاشر بالعنوان P3 — المعايير (مسودة EIP)" translate="no">​</a></h3>
<p><strong>النطاق</strong>: صياغة وتقديم EIP لروابط الدفع غير الاحتجازية وEIP مرافق لاشتراكات سحب الـ allowance. والاشتراك في الكتابة مع فريق معالج أو محفظة آخر على الأقل. التطبيق المرجعي هو عقود OrcaRail. وتُنشر مواصفة سولانا المقابلة إلى جانب الـ EIPs.</p>
<p><strong>قائمة الحالة</strong></p>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تأكيد الشريك في الكتابة</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مسودة EIP روابط الدفع في مرحلة سلسلة النقاش</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مسودة EIP الاشتراكات في مرحلة سلسلة النقاش</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر مواصفة سولانا إلى جانب IDLs من Anchor</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دمج ملاحظات محرري EIP حتى مرحلة Last Call</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="p4--intent-based-payer-sdk">P4 — SDK للدافع قائمة على الـ intents<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#p4--intent-based-payer-sdk" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان P4 — SDK للدافع قائمة على الـ intents" title="إرتباط مُبـاشر بالعنوان P4 — SDK للدافع قائمة على الـ intents" translate="no">​</a></h3>
<p><strong>النطاق</strong>: واجهة SDK (<code>orcarail.pay(intent)</code>) تقبل intent موقّعًا من الدافع وتوجّهه عبر شبكات الـ solvers القائمة (Across وRelay وdeBridge)، مع solver احتياطي تشغّله OrcaRail للمسارات الطويلة. ويُوحَّد مخطط الـ intent بالتزامن مع P3.</p>
<p><strong>قائمة الحالة</strong></p>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنهاء مخطط الـ intent</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->محوّل SDK لشبكتي solvers على الأقل</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر الـ solver الاحتياطي وقياسه</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دعم تجربة الدافع في تطبيق الدفع للـ intent نفسه + العمليات عبر الشبكات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر المواصفة كجزء من مرجع Node SDK</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="p5--self-host--reference-implementation-kit">P5 — حزمة الاستضافة الذاتية / التطبيق المرجعي<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#p5--self-host--reference-implementation-kit" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان P5 — حزمة الاستضافة الذاتية / التطبيق المرجعي" title="إرتباط مُبـاشر بالعنوان P5 — حزمة الاستضافة الذاتية / التطبيق المرجعي" translate="no">​</a></h3>
<p><strong>النطاق</strong>: ملف Docker Compose (وHelm chart) يتيح لأي شخص تشغيل معالج متوافق مع OrcaRail من البداية إلى النهاية انطلاقًا من العقود العامة. يتضمن الـ subgraph والـ keeper والمفهرس ولوحة تحكم اختيارية ومواصفة OpenAPI لواجهة API الخاصة بالمعالج يمكن للآخرين الالتزام بها.</p>
<p><strong>قائمة الحالة</strong></p>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->Docker Compose يعمل على شبكة حية ويخدم تاجرًا تجريبيًا</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مواصفة OpenAPI لواجهة API الخاصة بالمعالج</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->Helm chart لمشغّلي Kubernetes</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختبار شامل يثبت أن المشغّل بالاستضافة الذاتية يعالج المدفوعات تمامًا مثل النسخة المستضافة</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->توثيق في <code>/docs/non-custodial/</code> (يُضاف في تغيير مستقبلي خاص بالتوثيق؛ خارج نطاق هذه الورقة)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="14-optional-p6--own-chain-evaluation">14. P6 اختيارية: تقييم سلسلة خاصة<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#14-optional-p6--own-chain-evaluation" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 14. P6 اختيارية: تقييم سلسلة خاصة" title="إرتباط مُبـاشر بالعنوان 14. P6 اختيارية: تقييم سلسلة خاصة" translate="no">​</a></h2>
<p>تتبع P6 نمط <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">تقييم EigenLayer</a>. وهي <strong>ليست</strong> التزامًا، بل مراجعة ربع سنوية بمحفزات محددة.</p>
<p>التوصية الحالية: <strong>التأجيل</strong>.</p>
<p>المحفزات التي تستدعي فتح وثيقة تصميم لبناء المرحلة P6:</p>
<ol>
<li class="">تجاوز حجم المدفوعات على شبكة واحدة عتبةً يصبح عندها الغاز بندًا جوهريًا في رسوم المنصة.</li>
<li class="">توفير سلسلة أدوات L2/L3 مرجعية لـ precompiles متخصصة لمنطق تقسيم المدفوعات بتكلفة شبه معدومة.</li>
<li class="">طلب التجار لزمن تسوية بأجزاء من السنت لا تستطيع الشبكة الرئيسية / L2 تلبيته باستمرار.</li>
<li class="">شريك rollup-as-a-service يتيح لـ OrcaRail الإطلاق بتسلسل مشترك من اليوم الأول.</li>
</ol>
<p>إن تحققت المحفزات، فسيُفضَّل البناء على OP Stack مع تسلسل مشترك (Espresso، Astria) وجسر خروج موثوق إلى الشبكات المرجعية التي ندعمها بالفعل. وحتى حينها، يجب أن تكون المراحل N0-N7 وP1-P5 ناضجة بما يكفي لتكون السلسلة الخاصة <strong>تحسينًا</strong> لا اعتمادًا.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="15-what-orcarail-is-today-vs-what-it-becomes">15. ما هي OrcaRail اليوم وما الذي ستصبح عليه<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#15-what-orcarail-is-today-vs-what-it-becomes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 15. ما هي OrcaRail اليوم وما الذي ستصبح عليه" title="إرتباط مُبـاشر بالعنوان 15. ما هي OrcaRail اليوم وما الذي ستصبح عليه" translate="no">​</a></h2>
<p>مقارنة قبل وبعد على مستوى البنية.</p>
<table><thead><tr><th>البُعد</th><th>اليوم</th><th>بعد المسارين N وP</th></tr></thead><tbody><tr><td>الحفظ أثناء الدفع</td><td>تحتفظ OrcaRail بمفتاح محفظة الإيداع</td><td>لا حفظ. الدافع ← العقد ← التاجر بتقسيم ذري</td></tr><tr><td>الـ spender في الاشتراكات</td><td>smart account تتحكم به OrcaRail</td><td>عقد <code>SubscriptionHub</code> عام؛ يمكن لأي طرف استدعاؤه</td></tr><tr><td>Keeper</td><td>مُجدوِل NestJS وحيد</td><td>NestJS + Chainlink + Gelato + AVS اختياري من EigenLayer</td></tr><tr><td>المفهرس</td><td>داخلي</td><td>subgraph عام بمخطط موثّق</td></tr><tr><td>تطبيق الدفع / لوحة التحكم</td><td>تستضيفهما OrcaRail</td><td>مستضافان + نسخ على IPFS/ENS؛ ومرحبًا بالمستضيفين من أطراف ثالثة</td></tr><tr><td>مكوّن رابط الدفع الأساسي</td><td>شكل API داخلي</td><td>مسودة EIP مع تطبيق مرجعي</td></tr><tr><td>التسوية عبر الشبكات</td><td>keeper من OrcaRail يستدعي Relay</td><td>intents الدافع توجّهها سوق solvers + احتياطي OrcaRail</td></tr><tr><td>الحوكمة</td><td>توقيع متعدد لـ OrcaRail (المؤسسون + الفريق)</td><td>مجلس عام؛ الحوكمة على السلسلة خيار فعلي</td></tr><tr><td>النطاق التنظيمي</td><td>«OrcaRail هي المعالج»</td><td>«OrcaRail معالج واحد بين معالجات كثيرة على البنية نفسها»</td></tr><tr><td>API المرئية للتاجر</td><td>REST + webhooks</td><td><strong>REST + webhooks نفسها</strong> (مستقرة)</td></tr><tr><td>الرمز</td><td>لا يوجد</td><td>لا يوجد؛ محجوز كخيار مستقبلي (القسم 9)</td></tr></tbody></table>
<p>تبقى الواجهة الموجّهة لـ Web2 مستقرة عن قصد. التجار الذين تكاملوا مع REST API في 2026 لن يتعطلوا في 2028.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="16-threat-model">16. نموذج التهديدات<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#16-threat-model" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 16. نموذج التهديدات" title="إرتباط مُبـاشر بالعنوان 16. نموذج التهديدات" translate="no">​</a></h2>
<p>التهديدات التي نتعامل معها صراحةً، مع وسائل الحد منها:</p>
<ul>
<li class=""><strong>خلل في عقد</strong> ← عدة عمليات تدقيق لكل عقد؛ مستقبِلات غير قابلة للتغيير لكل رابط؛ ترقيات UUPS خلف قفل زمني 48 ساعة على المصانع والمراكز؛ برنامج مكافآت أخطاء عام.</li>
<li class=""><strong>انقطاع الـ keeper</strong> ← تكرار الـ keepers في المرحلة 3 من المسار N (Chainlink/Gelato) + شبكة الـ solvers في P4 من المسار P + استدعاء <code>charge()</code> يدوي عام كاحتياطي.</li>
<li class=""><strong>تصيّد عبر الواجهات الأمامية</strong> ← سجل العقود على السلسلة في P2 من المسار P + العنونة بالمحتوى عبر ENS + مراسم توقيع الإصدارات من التوقيع المتعدد Safe.</li>
<li class=""><strong>الاستيلاء على الحوكمة</strong> ← تدوير موقّعي التوقيع المتعدد؛ عتبة ثلاثة من خمسة؛ مجلس ما بعد اللامركزية من مشغّلين مستقلين؛ مراسم علنية.</li>
<li class=""><strong>إجراء تنظيمي ضد مستضيف واحد</strong> ← حزمة الاستضافة الذاتية في P5 من المسار P + عدة واجهات أمامية مستقلة ليحظى التجار ببنى بديلة.</li>
<li class=""><strong>انحراف الـ subgraph أو المفهرس</strong> ← مخطط مرجعي + اختبارات قابلية إعادة الإنتاج؛ عدة مفهرسات مستقلة.</li>
<li class=""><strong>ضعف عمق سوق الـ solvers</strong> ← solver احتياطي من OrcaRail بسعر التكلفة؛ دخول حر دون إذن للـ solvers الجدد.</li>
<li class=""><strong>فقدان مفتاح BTC</strong> ← xpub احتياطي عند تسجيل التاجر؛ تبديل تلقائي لـ HSM؛ وPSBT الاسترداد الموقّعة مسبقًا تُبقي استرداد الدافع ممكنًا.</li>
<li class=""><strong>إعادة تنظيم السلاسل (reorg) في EVM</strong> ← <code>lastChargedAt</code> رتيب في <code>SubscriptionHub</code>؛ ومقابله على سولانا <code>last_charged_at</code>.</li>
<li class=""><strong>التشوّه الناتج عن الرمز</strong> ← لا رمز عند الإطلاق؛ حجز صريح؛ وأي رمز مستقبلي مشروط بعتبات المشغّلين المستقلين قبل أن يطالب بدور في الحوكمة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="17-open-questions-we-are-honest-about">17. أسئلة مفتوحة نعترف بها<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#17-open-questions-we-are-honest-about" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 17. أسئلة مفتوحة نعترف بها" title="إرتباط مُبـاشر بالعنوان 17. أسئلة مفتوحة نعترف بها" translate="no">​</a></h2>
<p>كتابة هذه الوثيقة لا تحل كل الأسئلة التي تطرحها.</p>
<ul>
<li class=""><strong>متى تبدأ «ما بعد اللامركزية» بالضبط؟</strong> يحدد القسم 8 عتبة (ثلاث واجهات أمامية مستقلة، وثلاثة keepers مستقلين، ومعالج واحد من غير OrcaRail). وما إذا كانت هذه العتبة صحيحة نقاش مفتوح.</li>
<li class=""><strong>من يدفع تكلفة الـ subgraph العام على نطاق واسع؟</strong> لدى The Graph سوق؛ والاستضافة الذاتية مجانية لكنها ثقيلة تشغيليًا. لم تُحسم الجوانب الاقتصادية بعد.</li>
<li class=""><strong>ما مسار الخروج لتاجر يختفي مستضيف واجهته الأمامية الأساسي؟</strong> تجعل P5 الاستضافة الذاتية ممكنة، لكنها لا تجعلها تلقائية. تدفق «نقل متجري إلى مستضيف آخر» عمل مستقبلي.</li>
<li class=""><strong>ما الذي تقرره الحوكمة فعليًا في بروتوكول بعقود غير قابلة للتغيير لكل رابط؟</strong> ترقيات المصانع، وضبط معاملات المراكز (قوائم الرموز الموقوفة، والنشر على شبكات جديدة)، والقيم الافتراضية لتقسيم الرسوم لحركة OrcaRail المستضافة، وليس أكثر من ذلك بكثير. وما إذا كان هذا النطاق كافيًا لتبرير حوكمة على السلسلة جزء من حوار ما بعد اللامركزية.</li>
<li class=""><strong>ماذا يحدث للبروتوكول إذا غيّرت شركة OrcaRail رأيها بشأن الحجز في القسم 9؟</strong> أي تغيير هو تغيير منشور في هذه الورقة. لا تحوّل أحادي صامت.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="18-conclusion--a-call-to-builders">18. الخاتمة: دعوة للبنّائين<a href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/#18-conclusion--a-call-to-builders" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 18. الخاتمة: دعوة للبنّائين" title="إرتباط مُبـاشر بالعنوان 18. الخاتمة: دعوة للبنّائين" translate="no">​</a></h2>
<p>تُخرج <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a> البنية من الحفظ. وتُخرج هذه الورقة البنية من يد OrcaRail. يجب إطلاق الاثنين ليكون لأيٍّ منهما معنى.</p>
<p>إذا كنت تبني محفظة أو لوحة تحكم أو مفهرسًا أو solver أو أداة امتثال أو معالجًا منافسًا، فالبروتوكول مصمم ليقبل مساهمتك دون طلب إذن. شارك في كتابة الـ EIP. شغّل الـ subgraph. ثبّت واجهتك الأمامية الخاصة. شغّل keeper أو solver. افتح issues على التطبيق المرجعي. كلما أنجز أشخاص لا يعملون في OrcaRail جزءًا أكبر من المسار P، استحق البروتوكول كلمة <em>بروتوكول</em> أكثر.</p>
<p>لن يلاحظ تجار Web2 الذين نعمل معهم اليوم أيًّا من هذا؛ فمفاتيح API والـ webhooks ولوحات التحكم لديهم تستمر في العمل. وهذا الاستقرار هو المقصود. نحن نغيّر أساس البنية، لا الواجهة التي تعامل معها التجار عند التسجيل.</p>
<hr>
<p><strong>المراجع</strong></p>
<ul>
<li class=""><a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة طريق OrcaRail نحو نموذج غير احتجازي</a> — المسار N</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/">نقاش البروتوكول: خمس رؤى لـ OrcaRail غير احتجازية بالكامل</a> — أصل المسار P</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا يتفوق سحب الـ allowance على الضمان ومفاتيح الجلسة</a> — قرار نموذج الاشتراك</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">البنية</a> — البنية التقنية الكاملة</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">مرجع العقود</a> — ABIs والأحداث والعناوين</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">نموذج الأمان</a> — افتراضات الثقة وحفظ المفاتيح</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/roadmap/">خارطة الطريق</a> — حالة مراحل المسار N</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">تقييم EigenLayer</a> — النمط المعاد استخدامه في P6</li>
</ul>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Subscriptions" term="Subscriptions"/>
        <category label="Crypto" term="Crypto"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 0: تصميم منظومة دفع غير احتجازية]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 0 من خارطة طريق OrcaRail غير الاحتجازية. مواصفات تقسيم الرسوم، واختيار الشبكة، واختيار جهة التدقيق، والتوقيع المتعدد للنشر، وسياسة الترقية، ومصفوفة قرار نموذج الاشتراك.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — قبل أن نكتب سطرًا واحدًا من Solidity، نجمّد المواصفات. المرحلة 0 هي مرحلة التصميم والاعتماد في <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a>: ما الذي ينتقل إلى السلسلة وما الذي لا ينتقل، وأي شبكة تُطلق أولًا، ومن يدقق العقود، ومن يحتفظ بمفاتيح النشر.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">جُمّد تقسيم الرسوم على أربع حصص: <strong>التاجر، والمنصة، والإحالة/الشريك، ورسوم الجسر</strong>. كل ما في الموزّع على السلسلة قابل للتعبير بنقاط الأساس؛ دون تصحيحات خارج السلسلة.</li>
<li class=""><strong>Base</strong> هي شبكة إطلاق المرحلة 1. رخيصة وسريعة، وموجودة أصلًا في قائمة شبكات <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">خدمة المحافظ</a>، وتدعم USDC الأصلي.</li>
<li class="">تعتمد الاشتراكات <strong>approve + السحب في ERC-20</strong> (EVM) و<strong>delegate في SPL</strong> (سولانا). رُفضت تصاميم الضمان (escrow) ومفاتيح الجلسة؛ راجع مصفوفة القرار أدناه.</li>
<li class="">تُنشر العقود عبر <strong>توقيع متعدد Safe ثلاثة من خمسة</strong> (EVM) و<strong>توقيع متعدد Squads ثلاثة من خمسة</strong> (سولانا). المستقبِلات لكل رابط غير قابلة للتغيير. والمصانع و<code>SubscriptionHub</code> خلف proxy صغير مع قفل زمني 48 ساعة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<p>لا شيء في بيئة الإنتاج. المرحلة 0 عبارة عن مواصفة مكتوبة، وثلاثة عروض تدقيق، ومراسم لمفاتيح النشر، وبضعة ADRs مدمجة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-fee-split-spec-frozen">مواصفة تقسيم الرسوم (مجمّدة)<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#the-fee-split-spec-frozen" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان مواصفة تقسيم الرسوم (مجمّدة)" title="إرتباط مُبـاشر بالعنوان مواصفة تقسيم الرسوم (مجمّدة)" translate="no">​</a></h2>
<p>اليوم، تجمع <code>SmartAccountWalletService.drainSmartAccountWallet</code> في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/smart-account-wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/smart-account-wallet.service.ts</a> التحويلات في UserOperation بثلاثة مستلمين: التاجر (<code>toAddress</code>)، ومحفظة الدعم (<code>supportWalletAddress</code>)، ومحفظة العمولة. ونسخة العقد تعكس ذلك تمامًا:</p>
<div class="language-solidity codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-solidity codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">struct Split {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    address merchant;   // main receiver</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    address platform;   // support / platform fee</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    address referral;   // commission / affiliate (optional, zero = skip)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    address bridgeFee;  // Relay bridge fee carrier (optional, zero = skip)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint16 platformBps;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint16 referralBps;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint16 bridgeFeeBps;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div></code></pre></div></div>
<p>كل ما يفعله الـ keeper اليوم بلغة TypeScript قابل للحساب من هذه الـ struct ومبلغ الدفعة. وكل ما لا يستطيع الـ keeper الحالي التعبير عنه (مثل الضرائب الديناميكية أو المبالغ المحتجزة على مستوى التاجر) خارج نطاق المرحلة 1؛ ونضيفه في مرحلة لاحقة عند الحاجة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="chain-selection">اختيار الشبكة<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#chain-selection" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان اختيار الشبكة" title="إرتباط مُبـاشر بالعنوان اختيار الشبكة" translate="no">​</a></h2>
<p>شبكة إطلاق المرحلة 1 هي <strong>Base</strong>:</p>
<ul>
<li class="">موجودة أصلًا في خريطة chainId لدينا (<code>8453 → base</code>، <code>84532 → baseSepolia</code>) في <code>api/src/payments/wallet.service.ts</code>.</li>
<li class="">الغاز رخيص بما يكفي لتكون تكلفة نشر <code>PaymentLinkReceiver</code> + التقسيم عند أول دفعة بضعة سنتات لكل معاملة.</li>
<li class="">سياسة الـ paymaster من Alchemy تدعمها أصلًا، ما يمنحنا مخرجًا إذا أردنا رعاية غاز الـ keeper في <code>SubscriptionHub.charge()</code>.</li>
<li class="">USDC أصلي (غير منقول عبر جسر)، وهذا مهم لـ allowances الاشتراكات.</li>
</ul>
<p>تأتي Ethereum mainnet وArbitrum وOptimism وPolygon في <a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a>. أما سولانا فبرنامج منفصل يُتابع في <a class="" href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/">المرحلة 4</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="subscription-model-the-decision-matrix">نموذج الاشتراك: مصفوفة القرار<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#subscription-model-the-decision-matrix" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان نموذج الاشتراك: مصفوفة القرار" title="إرتباط مُبـاشر بالعنوان نموذج الاشتراك: مصفوفة القرار" translate="no">​</a></h2>
<p>قيّمنا ثلاثة تصاميم. واحد فقط يناسبنا.</p>
<table><thead><tr><th>النموذج</th><th>الحفظ</th><th>تجربة الدافع</th><th>توافق المحافظ</th><th>متطلبات الـ keeper</th><th>الحكم</th></tr></thead><tbody><tr><td><strong>approve + السحب في ERC-20</strong> (المختار)</td><td>لا يوجد</td><td><code>approve</code> لمرة واحدة</td><td>MetaMask وPhantom وLedger وSafe — أصلي</td><td>أي مستدعٍ؛ الـ keeper اختياري</td><td>نطلق هذا</td></tr><tr><td>إيداع ضمان (escrow)</td><td>لا يوجد</td><td>إيداع N شهر</td><td>جميع المحافظ</td><td>أي مستدعٍ</td><td>تجربة أسوأ؛ أموال مقفلة</td></tr><tr><td>محفظة ذكية + مفاتيح جلسة</td><td>لا يوجد</td><td>التسجيل في 4337</td><td>محافظ 4337 فقط</td><td>موقّع مفاتيح الجلسة</td><td>توافق ضيق جدًا</td></tr></tbody></table>
<p>approve + السحب هو الوحيد الذي يعمل مع المحافظ التي يستخدمها الدافعون أصلًا (MetaMask وPhantom ومحافظ الأجهزة وSafe). وهو أيضًا التصميم الذي ننشره في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a>، الذي يوثّق <code>approve(spender, amount)</code> والتفويض في SPL. تستبدل المرحلة 2 <strong>جهة السحب</strong> بعقد ذكي وتترك جهة الدافع دون تغيير.</p>
<p>الحجة المفصلة موجودة في <a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا يتفوق سحب الـ allowance على الضمان ومفاتيح الجلسة</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deployer-key-custody">حفظ مفاتيح النشر<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#deployer-key-custody" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان حفظ مفاتيح النشر" title="إرتباط مُبـاشر بالعنوان حفظ مفاتيح النشر" translate="no">​</a></h2>
<ul>
<li class=""><strong>EVM</strong>: Safe (سابقًا Gnosis Safe) على Base مع <strong>عتبة ثلاثة من خمسة</strong>. الموقّعون: مؤسسان، ومسؤول عمليات، ومستشار، ونسخة احتياطية باردة. كل موقّع يستخدم محفظة أجهزة؛ لا مفاتيح على أي خادم.</li>
<li class=""><strong>سولانا</strong>: توقيع متعدد Squads بالإعداد نفسه ثلاثة من خمسة والموقّعين أنفسهم.</li>
<li class=""><strong>التدوير</strong>: يُدوَّر كل موقّع سنويًا أو عند المغادرة؛ وكل تدوير هو معاملة Safe/Squads.</li>
<li class=""><strong>لا يمكن لأي keeper ساخن النشر</strong>. حساب EOA الخاص بالـ keeper في NestJS (المستخدم لاستدعاء <code>charge()</code> في المرحلة 2) لا يملك صلاحية نشر ولا صلاحية ترقية ولا عنوان رسوم.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="upgrade-policy">سياسة الترقية<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#upgrade-policy" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان سياسة الترقية" title="إرتباط مُبـاشر بالعنوان سياسة الترقية" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>PaymentLinkReceiver</code> لكل رابط</strong>: غير قابل للتغيير. لا ترقية. هذا مكسب ثقة للدافعين؛ فالكود الذي يدفعون إليه لا يمكن أن يتغير لاحقًا.</li>
<li class=""><strong><code>PaymentLinkFactory</code></strong>: proxy صغير من نوع UUPS يملكه التوقيع المتعدد، مع قفل زمني 48 ساعة على <code>upgradeTo</code>. لا يمكن للترقيات تغيير المستقبِلات المنشورة مسبقًا.</li>
<li class=""><strong><code>SubscriptionHub</code></strong>: النمط نفسه. دلالة <code>charge()</code> و<code>cancel()</code> مستقرة بين الإصدارات؛ وإذا احتجنا يومًا إلى تغيير غير متوافق، ننشر <code>SubscriptionHubV2</code> وننقل البيانات بدلًا من الترقية.</li>
<li class=""><strong>دلالة الاسترداد والنزاعات</strong>: <code>refund(txId)</code> على السلسلة، يمكن أن يستدعيه موقّع التاجر (عبر مفتاح API الخاص به ← EOA الخاص بالـ keeper) أو التوقيع المتعدد للنشر. لا يمكن للدافع استرداد المبلغ بنفسه (كما في المنتج الحالي).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="audit-vendor-strategy">استراتيجية جهات التدقيق<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#audit-vendor-strategy" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان استراتيجية جهات التدقيق" title="إرتباط مُبـاشر بالعنوان استراتيجية جهات التدقيق" translate="no">​</a></h2>
<p>سنختار قائمة قصيرة من ثلاث شركات ونجري تدقيقًا أساسيًا + مراجعة تنافسية:</p>
<ul>
<li class=""><strong>المرشحون الأساسيون (EVM)</strong>: Spearbit وTrail of Bits وZellic.</li>
<li class=""><strong>المرشحون الثانويون (سولانا)</strong>: OtterSec وNeodyme.</li>
<li class=""><strong>النطاق</strong>: <code>PaymentLinkFactory</code> و<code>PaymentLinkReceiver</code> و<code>FeeSplitter</code> و<code>SubscriptionHub</code>. برامج Anchor لها تدقيقها الخاص في المرحلة 4.</li>
<li class=""><strong>الميزانية</strong>: التدقيق شرط مسبق صارم للإطلاق على Base mainnet. لا إطلاق على الشبكة الرئيسية قبل تقرير إصلاح كل الملاحظات.</li>
<li class=""><strong>الإفصاح العام</strong>: تُضاف تقارير التدقيق إلى المستودع ويُربط إليها من <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">/docs/non-custodial/security-model</a>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>توسع نطاق المواصفات</strong>. الحل: كل ما لا يمكن التعبير عنه كتقسيم بنقاط الأساس يُؤجَّل إلى مرحلة لاحقة. لا تتوقف المرحلة 1 على الضرائب الديناميكية أو الاستثناءات لكل تاجر.</li>
<li class=""><strong>توفر موقّعي التوقيع المتعدد</strong>. الحل: ثلاثة من خمسة، لا اثنان من ثلاثة، كي يمكن غياب أي موقّعَين دون تجميد عمليات النشر.</li>
<li class=""><strong>توقيت التدقيق</strong>. الحل: بدء المحادثات مع الجهات الآن؛ ونشر العقود على الشبكة التجريبية أثناء التدقيق؛ والنشر على الشبكة الرئيسية مشروط.</li>
<li class=""><strong>حالة رسوم منسية</strong>. الحل: إعادة إنتاج كل مسار حالي في <code>drainSmartAccountWallet</code> (أصلي + ERC-20، مع/بدون دعم، مع/بدون عمولة) كاختبار invariant في Foundry قبل التدقيق.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اعتماد struct تقسيم الرسوم ووسمها</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختيار Base كشبكة إطلاق المرحلة 1</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختيار قائمة قصيرة من ثلاث جهات تدقيق</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنشاء واختبار توقيعات النشر المتعددة Safe (Base) وSquads (سولانا)</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دمج ADR حول سياسة الترقية والقفل الزمني</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دمج ADR حول قرار نموذج الاشتراك</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->توثيق دلالة الاسترداد / النزاعات</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>تنفّذ المرحلة 1 المواصفات: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/">روابط دفع قائمة على العقود في EVM</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-0-design/">حالة المرحلة 0</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">نموذج الأمان</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">البنية</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Announcement" term="Announcement"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 1: روابط دفع قائمة على العقود في EVM]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 1 من خارطة طريق OrcaRail غير الاحتجازية. تستبدل PaymentLinkFactory ونسخة PaymentLinkReceiver وFeeSplitter نموذج الكنس بمحافظ HD على EVM بتقسيمات ذرية على السلسلة.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — المرحلة 1 هي البداية الهندسية الفعلية لـ <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a>. نستبدل حسابات EOA المشتقة من HD لكل رابط وحسابات Alchemy الذكية بنمط <strong>مصنع + مستقبِل كنسخة مصغّرة</strong> على EVM. تُقسَّم الأموال ذريًا في معاملة الدفع نفسها؛ دون كنس ودون حفظ.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">تعيد <code>PaymentLinkFactory.computeAddress(linkId)</code> عنوان CREATE2 حتميًا. نعرض هذا العنوان على الدافع <strong>قبل</strong> نشر أي شيء.</li>
<li class=""><code>PaymentLinkReceiver</code> نسخة مصغّرة EIP-1167. يقبل العملة الأصلية أو ERC-20، ويصدر <code>Paid</code>، ويستدعي <code>FeeSplitter.split()</code> في المعاملة نفسها.</li>
<li class="">يتوقف <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/payments/wallet.service.ts</a> عن إنشاء محافظ HD لروابط EVM؛ ويستدعي دالة العرض في المصنع بدلًا من ذلك.</li>
<li class="">يُتجاوز مسار الكنس (<code>drainSmartAccountWallet</code> و<code>getSmartAccountClientForDepositWallet</code>) للروابط المنشأة تحت العلم <code>useOnChainReceiver</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>في جهة «بعد» لا يوجد أي صندوق نتحكم به يحتفظ بالأموال.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contracts-introduced">العقود الجديدة<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#contracts-introduced" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان العقود الجديدة" title="إرتباط مُبـاشر بالعنوان العقود الجديدة" translate="no">​</a></h2>
<p>كلها ضمن حزمة جديدة <code>contracts/evm/</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="paymentlinkfactory">PaymentLinkFactory<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#paymentlinkfactory" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان PaymentLinkFactory" title="إرتباط مُبـاشر بالعنوان PaymentLinkFactory" translate="no">​</a></h3>
<ul>
<li class=""><code>computeAddress(bytes32 linkId) view returns (address)</code> — عنوان CREATE2 حتمي مشتق من <code>linkId</code> (معرّف UUID الحالي لرابط الدفع بعد تجزئته إلى <code>bytes32</code>).</li>
<li class=""><code>deployAndPay(bytes32 linkId, Split split, address token, uint256 amount)</code> — نشر كسول + دفع في معاملة واحدة. ينسخ المصنع تطبيق <code>PaymentLinkReceiver</code>، ويهيئه بالـ <code>Split</code>، ويمرر الأموال.</li>
<li class=""><code>isDeployed(bytes32 linkId) view returns (bool)</code> — دالة مساعدة يستخدمها المفهرس والواجهة.</li>
<li class="">قابل للترقية خلف proxy من نوع UUPS، يملكه التوقيع المتعدد للنشر (Safe ثلاثة من خمسة)، مع قفل زمني 48 ساعة على <code>upgradeTo</code>.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="paymentlinkreceiver-clone">PaymentLinkReceiver (نسخة)<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#paymentlinkreceiver-clone" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان PaymentLinkReceiver (نسخة)" title="إرتباط مُبـاشر بالعنوان PaymentLinkReceiver (نسخة)" translate="no">​</a></h3>
<ul>
<li class="">غير قابل للتغيير بعد التهيئة. يخزّن struct الـ <code>Split</code> وعنوان <code>FeeSplitter</code>.</li>
<li class=""><code>pay(address token, uint256 amount)</code> — يتعامل مع العملة الأصلية وERC-20 في نقطة دخول واحدة. يستخدم <code>SafeERC20</code> لتعمل الرموز غير القياسية (USDT). يصدر <code>Paid(linkId, payer, token, amount)</code>.</li>
<li class="">يستدعي <code>FeeSplitter.split()</code> ذريًا. إذا فشل التقسيم (revert) يفشل الدفع.</li>
<li class="">دالة <code>refund(bytes32 txId)</code> صريحة لا يستدعيها إلا حساب EOA الخاص بـ keeper التاجر أو التوقيع المتعدد للنشر.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="feesplitter">FeeSplitter<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#feesplitter" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان FeeSplitter" title="إرتباط مُبـاشر بالعنوان FeeSplitter" translate="no">​</a></h3>
<ul>
<li class=""><code>split(Split s, address token, uint256 amount)</code> — يوزّع بنقاط الأساس. يذهب الـ wei المتبقي إلى التاجر (دون فقدان الفتات).</li>
<li class="">يصدر <code>Split(txId, merchant, platform, referral, bridgeFee)</code> ليتطابق المفهرس مع حمولات webhook القديمة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">تغييرات API<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#api-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تغييرات API" title="إرتباط مُبـاشر بالعنوان تغييرات API" translate="no">​</a></h2>
<p>أكبر تغيير في الكود موجود في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/payments/wallet.service.ts</a>. اليوم، تشتق <code>getOrCreateAddressForPaymentLink</code> من <code>hd_wallet_seed</code>، وتحسب عنوان Alchemy الافتراضي (counterfactual)، وتخزنه في <code>wallet_address</code>. بعد المرحلة 1، ولشبكات EVM التي يكون العلم مفعّلًا لها، تصبح الدالة:</p>
<div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">getOrCreateAddressForPaymentLink</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">paymentLinkId</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> network</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token function" style="color:#d73a49">isEvm</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">network</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">&amp;&amp;</span><span class="token plain"> featureFlags</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">useOnChainReceiver</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">network</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">chainId</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> address </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> factory</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">computeAddress</span><span class="token punctuation" style="color:#393A34">(</span><span class="token function" style="color:#d73a49">hashLinkId</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">paymentLinkId</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> address</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> walletAddressId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">null</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> derivationPath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">null</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// legacy path unchanged</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>لا اشتقاق HD. ولا أي بيانات سرية في قاعدة البيانات للروابط الجديدة.</p>
<p>تشترك خدمة جديدة، <code>payments/indexer/evm-paid-event.service.ts</code>، في أحداث <code>Paid</code> على كل شبكة مفعّلة عبر <code>viem.watchContractEvent</code>. عند التطابق:</p>
<ol>
<li class="">تستخرج <code>paymentLinkId</code> من الحدث (مفهرس بصيغة <code>bytes32</code>).</li>
<li class="">تُدرج أو تحدّث صف <code>PaymentTransaction</code> بالشكل نفسه المستخدم اليوم.</li>
<li class="">تصدر الـ webhooks نفسها التي يصدرها مسار اكتمال الكنس اليوم (<a href="https://github.com/orcarail/orcarail/tree/main/api/src/webhooks/webhooks.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/webhooks/webhooks.service.ts</a>).</li>
</ol>
<p>العلم <code>useOnChainReceiver</code> محدد لكل chain id. الرابط المنشأ أثناء إيقاف العلم يبقى على مسار الكنس القديم إلى الأبد؛ لا ننقل الروابط الجارية.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">الإيقافات<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#deprecations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات" title="إرتباط مُبـاشر بالعنوان الإيقافات" translate="no">​</a></h2>
<p>في هذه المرحلة <strong>نتجاوز</strong> دون أن نحذف:</p>
<ul>
<li class=""><code>SmartAccountWalletService.drainSmartAccountWallet</code> — لم يعد يُستدعى للشبكات المفعّل لها العلم.</li>
<li class=""><code>SmartAccountWalletService.getSmartAccountClientForDepositWallet</code> — غير مطلوب عندما تأتي العناوين من المصنع.</li>
<li class="">صفوف <code>wallet_address</code> — لا تُكتب لشبكات EVM المفعّل لها العلم.</li>
</ul>
<p>يحدث الحذف الفعلي في <a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7</a>، بعد تسوية كل الروابط القديمة على الشبكة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<ul>
<li class=""><strong>الروابط الجديدة على Base</strong>: تحصل على عنوان CREATE2 يحسبه المصنع. تعرضه الواجهة كما هو الحال اليوم.</li>
<li class=""><strong>الروابط المفتوحة الحالية على Base</strong>: تبقى على مسار الكنس القديم حتى تنتهي صلاحيتها أو تُسوّى. لا ترحيل إجباري.</li>
<li class=""><strong>شبكات EVM الأخرى</strong>: على المسار القديم حتى تفعّل <a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a> العلم لها.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>عرض عنوان CREATE2 قبل وجود أي كود</strong>. الحل: توثيق أن إمكانية الاسترداد تعتمد على ناشر المصنع. ووضع سقف <code>maxLinkValue</code> في المصنع خلال أول 30 يومًا.</li>
<li class=""><strong>USDT ورموز ERC-20 غير القياسية الأخرى</strong>. الحل: <code>SafeERC20</code> في كل من <code>PaymentLinkReceiver</code> و<code>FeeSplitter</code>؛ واختبارات fuzz في Foundry على نسخة (fork) من الشبكة الرئيسية مع USDT.</li>
<li class=""><strong>الرموز التي تقتطع رسومًا عند التحويل</strong>. الحل: قائمة رموز مسموح بها؛ والرموز خارجها تعود إلى المسار القديم.</li>
<li class=""><strong>تأخر مفهرس الشبكة</strong>. الحل: اشتراك مزدوج (Alchemy + RPC عام احتياطي)؛ ومهام مطابقة كل ساعة؛ وإدراج/تحديث idempotent.</li>
<li class=""><strong>ملاحظة تدقيق أثناء التطوير</strong>. الحل: التدقيق شرط مسبق؛ لا نشر على الشبكة الرئيسية قبل تقرير إصلاح كل الملاحظات.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنشاء مشروع Foundry في <code>contracts/evm/</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تنفيذ <code>PaymentLinkFactory</code> + <code>PaymentLinkReceiver</code> + <code>FeeSplitter</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختبارات fuzz + invariant لحسابات التقسيم (يحصل التاجر دائمًا على ≥ المتوقع ناقص الرسوم)</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نجاح اختبارات الـ fork لـ USDT / ERC-20 غير القياسية</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->ربط العلم <code>useOnChainReceiver</code> في <code>api/src/payments</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إطلاق المفهرس <code>evm-paid-event.service.ts</code> وإصداره للـ webhooks الحالية</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->بدء التدقيق ودمج الإصلاحات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->النشر على Base mainnet من التوقيع المتعدد</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مجموعة تجار تجريبية (canary) مع تفعيل العلم</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>مع انتقال تجار Base إلى المستقبِلات القائمة على العقود، تفعل المرحلة 2 الشيء نفسه للاشتراكات: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">اشتراكات بسحب الـ allowance</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-1-evm-payment-links/">حالة المرحلة 1</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">مرجع العقود</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">البنية</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Stablecoins" term="Stablecoins"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 2: اشتراكات بسحب الـ allowance]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 2 من خارطة طريق OrcaRail غير الاحتجازية. يحل عقد SubscriptionHub محل معالج الخصم التلقائي الاحتجازي؛ يوقّع الدافعون approve واحدًا من ERC-20 ويمكن لأي طرف تشغيل charge(id) وفق الجدول.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — تنقل المرحلة 2 الفوترة المتكررة إلى <code>SubscriptionHub</code> على السلسلة. يوقّع الدافع <code>approve</code> واحدًا في محفظته، ويمكن لأي طرف (بما في ذلك الـ keeper لدينا) استدعاء <code>charge(id)</code> عند استحقاق فترة. تنتقل الأموال مباشرةً من الدافع إلى حصص التاجر؛ ولا تحتفظ بها OrcaRail أبدًا.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">يسجّل <code>SubscriptionHub.createSubscription(...)</code> الجدول على السلسلة.</li>
<li class="">يوقّع الدافع <code>approve(USDC, hub, cap)</code> مرة واحدة في محفظته المعتادة. وهي الخطوة نفسها الموثقة لدينا أصلًا في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a>.</li>
<li class="">يمكن لأي EOA استدعاء <code>charge(id)</code>. يتولى المُجدوِل لدينا في NestJS ذلك افتراضيًا؛ وسيدعمه Chainlink/Gelato بدءًا من <a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a>.</li>
<li class="">حماية من إعادة التنظيم (reorg) عبر <code>lastChargedAt</code> رتيب. لا خصم مزدوج.</li>
<li class="">ينتقل المشتركون الحاليون <strong>اختياريًا</strong> عند التجديد.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<p>اليوم، يستخدم <a href="https://github.com/orcarail/orcarail/tree/main/api/src/scheduler/processors/subscription-auto-charge.processor.ts" target="_blank" rel="noopener noreferrer" class="">api/src/scheduler/processors/subscription-auto-charge.processor.ts</a> حسابًا ذكيًا تتحكم به OrcaRail للسحب من الدافع عبر الـ <code>approve</code> القائم. يعمل ذلك، لكن الحساب الذكي ملكنا؛ أي أن الثقة تمر عبرنا.</p>
<p>بعد المرحلة 2:</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>يبقى الـ allowance <strong>من الدافع إلى عقد</strong>، لكن العقد قابل للتدقيق وغير قابل للتغيير، ويمكن لأي طرف، لا نحن فقط، أن يكون الـ keeper.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="contracts-introduced">العقود الجديدة<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#contracts-introduced" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان العقود الجديدة" title="إرتباط مُبـاشر بالعنوان العقود الجديدة" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="subscriptionhub">SubscriptionHub<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#subscriptionhub" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان SubscriptionHub" title="إرتباط مُبـاشر بالعنوان SubscriptionHub" translate="no">​</a></h3>
<p>نسخة واحدة لكل شبكة. واجهة مصغّرة:</p>
<div class="language-solidity codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-solidity codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">function createSubscription(</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    bytes32 id,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    address payer,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    IERC20 token,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint256 amount,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint64 interval,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    uint256 cap,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    Split calldata split</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">) external;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">function charge(bytes32 id) external;        // any caller</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">function cancel(bytes32 id) external;        // payer only</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">function subscription(bytes32 id) view returns (Subscription memory);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">event SubscriptionCreated(bytes32 indexed id, address indexed payer, ...);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">event Charged(bytes32 indexed id, uint256 amount, uint64 nextChargeAt);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">event ChargeSkipped(bytes32 indexed id, bytes32 reason);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">event Canceled(bytes32 indexed id);</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="invariants-enforced-in-charge">الثوابت التي تفرضها <code>charge()</code><a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#invariants-enforced-in-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان invariants-enforced-in-charge" title="إرتباط مُبـاشر بالعنوان invariants-enforced-in-charge" translate="no">​</a></h3>
<ul>
<li class=""><code>block.timestamp &gt;= nextChargeAt</code> — لا يمكن الخصم مبكرًا.</li>
<li class=""><code>block.timestamp &gt; lastChargedAt</code> — رتيب، فلا يمكن لإعادة التنظيم أن تسبب خصمًا مزدوجًا.</li>
<li class=""><code>amountCharged + amount &lt;= cap</code> — يفرض حد الموافقة إضافةً إلى allowance في ERC-20.</li>
<li class=""><code>token.allowance(payer, hub) &gt;= amount</code> — revert صريح مع <code>InsufficientAllowance</code> لنص webhook واضح.</li>
<li class=""><code>token.balanceOf(payer) &gt;= amount</code> — كذلك، مع <code>InsufficientBalance</code>.</li>
</ul>
<p>يُعاد استخدام <code>Split</code> من <a class="" href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/">المرحلة 1</a>: <code>FeeSplitter</code> نفسه ودلالة نقاط الأساس نفسها.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">تغييرات API<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#api-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تغييرات API" title="إرتباط مُبـاشر بالعنوان تغييرات API" translate="no">​</a></h2>
<p>التغيير الكبير أن <a href="https://github.com/orcarail/orcarail/tree/main/api/src/scheduler/processors/subscription-auto-charge.processor.ts" target="_blank" rel="noopener noreferrer" class="">api/src/scheduler/processors/subscription-auto-charge.processor.ts</a> يتوقف عن السحب من حسابنا الذكي ويبدأ باستدعاء <code>SubscriptionHub.charge(id)</code> عبر EOA خاص بالـ keeper.</p>
<p>بشكل ملموس:</p>
<ul>
<li class="">حساب EOA الخاص بالـ keeper محفظة ساخنة لكل شبكة لا تحتوي إلا على الغاز. لا يملك أي صلاحية على أموال التاجر.</li>
<li class="">إذا كانت للشبكة سياسة paymaster من Alchemy (راجع <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/gas-strategy" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/gas-strategy</a>)، يستخدم الـ keeper المسار المدعوم؛ وإلا فيدفع من رصيد الغاز الخاص به.</li>
<li class="">عند الـ revert، يحلل المعالج محدد الخطأ (selector) ويحدّث حالات <a href="https://github.com/orcarail/orcarail/tree/main/api/src/subscriptions/infrastructure/persistence/relational/entities/subscription-auto-charge.entity.ts" target="_blank" rel="noopener noreferrer" class="">SubscriptionAutoChargeEntity</a> نفسها التي نستخدمها اليوم (<code>past_due</code> و<code>insufficient_balance</code> وغيرها).</li>
<li class="">تُرسل الـ webhooks ورسائل البريد من <code>api/src/mail/mail-templates/subscription-*.hbs</code> دون تغيير.</li>
</ul>
<p>تحصل تجربة الدافع في <a href="https://github.com/orcarail/orcarail/tree/main/pay" target="_blank" rel="noopener noreferrer" class="">pay</a> على تعديلين بسيطين:</p>
<ol>
<li class="">تشير خطوة <code>approve()</code> الآن بالـ spender إلى عنوان <code>SubscriptionHub</code> بدلًا من محفظتنا الساخنة. هذا تغيير في نص واحد وقيمة إعداد واحدة؛ والتدفق الذي يراه الدافع مطابق.</li>
<li class="">زر «إلغاء» يستدعي <code>SubscriptionHub.cancel(id)</code> ثم يطلب <code>approve(hub, 0)</code> على السلسلة للتنظيف الكامل. يبقى <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">توثيق إلغاء الخصم التلقائي</a> الحالي صحيحًا.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">الإيقافات<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#deprecations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات" title="إرتباط مُبـاشر بالعنوان الإيقافات" translate="no">​</a></h2>
<ul>
<li class="">مسار السحب الاحتجازي في <code>subscription-auto-charge.processor.ts</code> — مع العلم المفعّل، لا يعمل إلا فرع <code>SubscriptionHub.charge</code>.</li>
<li class="">الحساب الذكي المملوك لـ OrcaRail بصفته <code>approval_spender_address</code> — تخزّن الاشتراكات الجديدة عنوان المركز بدلًا منه.</li>
<li class="">يبقى الحقل <code>approval_spender_address</code> في استجابة API؛ لكنه يشير الآن إلى مكان جديد قابل للتدقيق.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<p>لا يُنقل المشتركون الحاليون <strong>قسرًا أبدًا</strong>. نقدم مسارين:</p>
<ol>
<li class=""><strong>عند التجديد</strong>: في الدورة التالية، يطلب شريط في لوحة التحكم من الدافع إعادة توقيع <code>approve(hub, cap)</code> على <code>SubscriptionHub</code> الجديد. نقرة واحدة. يمكن ترك الـ allowance القديم للمحفظة الساخنة القديمة أو إلغاؤه؛ لم يعد مهمًا.</li>
<li class=""><strong>بمبادرة المستخدم</strong>: زر «الانتقال إلى النموذج غير الاحتجازي» في صفحة تفاصيل الاشتراك يفعل الشيء نفسه فورًا.</li>
</ol>
<p>الاشتراكات التي لا تنتقل أبدًا تبقى على المسار الاحتجازي حتى الإلغاء. ويُوقف هذا المسار في <a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7</a> مع إشعار مسبق كافٍ.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>ارتباك الدافع عند الترحيل</strong>. الحل: يحاكي قالب البريد لغة <code>subscription-auto-charge-approved.hbs</code> الحالي؛ وشريط في لوحة التحكم؛ وسؤال شائع في <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/migration-guide/">/docs/non-custodial/migration-guide</a>.</li>
<li class=""><strong>انقطاع الـ keeper يفوّت خصمًا</strong>. الحل: <code>charge()</code> لا يتطلب إذنًا؛ يمكن لأي نسخة من Chainlink Automation أو Gelato أن تكون احتياطيًا؛ كما يمكن للتاجر استدعاء <code>charge()</code> يدويًا. الخطة الكاملة في <a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a>.</li>
<li class=""><strong>خصم مزدوج بسبب إعادة التنظيم</strong>. الحل: ثابت <code>lastChargedAt</code> الرتيب؛ واختبار وحدة مع إعادة تنظيم على fork.</li>
<li class=""><strong>إلغاء الدافع للتفويض بين الدورات</strong>. الحل: تصدر <code>charge()</code> الحدث <code>ChargeSkipped(AllowanceRevoked)</code>؛ ويُرسل قالب البريد الحالي <code>subscription-insufficient-allowance.hbs</code>؛ وينتقل الاشتراك إلى <code>past_due</code>.</li>
<li class=""><strong>انحراف قائمة الرموز المسموح بها</strong>. الحل: لا يقبل المركز إلا الرموز التي تحقق <code>SubscriptionHub.isAllowed(token)</code>؛ والتغييرات تتطلب التوقيع المتعدد.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تنفيذ <code>SubscriptionHub</code> مع كل الثوابت</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختبارات fuzz لحالات السقف والـ allowance وإعادة التنظيم والتخطي</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنجاز تدقيق إضافي يغطي <code>SubscriptionHub</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تجهيز EOA للـ keeper لكل شبكة، مع مراقبة الغاز عبر Sentry + Datadog</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تحويل وجهة <code>approve</code> في تطبيق الدفع إلى <code>SubscriptionHub</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تحديث نقطة النهاية <code>approve-auto-charge</code> لقبول allowances يكون فيها المركز هو الـ spender</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->شريط في لوحة التحكم للاشتراكات الحالية</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->ترحيل المجموعة التجريبية واستقرارها لمدة 14 يومًا</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>التوسع إلى شبكات متعددة وkeeper ثانٍ: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-2-evm-subscriptions/">حالة المرحلة 2</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/migration-guide/">دليل الترحيل</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">مرجع العقود</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا سحب الـ allowance</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Subscriptions" term="Subscriptions"/>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 3: التوسع إلى شبكات EVM متعددة وتكرار الـ keepers]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 3 من خارطة طريق OrcaRail غير الاحتجازية. نشر مصنع روابط الدفع وSubscriptionHub على Ethereum وArbitrum وOptimism وPolygon، وإضافة Chainlink Automation أو Gelato كـ keeper ثانٍ.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — تأخذ المرحلة 3 واجهة العقود من <a class="" href="https://docs.orcarail.com/ar/blog/phase-1-evm-payment-link-contracts/">المرحلة 1</a> و<a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">المرحلة 2</a> وتنشرها على كل شبكة EVM ندعمها. كما تضيف keeper ثانيًا، حتى لا يتسبب انقطاع NestJS في تفويت خصم اشتراك.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">نشر <code>PaymentLinkFactory</code> وتطبيق <code>PaymentLinkReceiver</code> و<code>FeeSplitter</code> و<code>SubscriptionHub</code> على <strong>Ethereum mainnet وArbitrum وOptimism وPolygon</strong>.</li>
<li class="">مخطط salt نفسه لـ CREATE2 في كل مكان؛ عنوان المصنع واحد على كل الشبكات (أنظف للتوثيق وللتكاملات ولـ <code>computeAddress</code> من جهة العميل).</li>
<li class="">تسجيل <strong>Chainlink Automation</strong> (المفضّل) و/أو <strong>Gelato Web3 Functions</strong> كـ keeper ثانٍ يستدعي <code>charge(ids[])</code> نفسها.</li>
<li class="">نشر أهداف SLO: <strong>99.5% من الخصومات خلال 10 دقائق من موعد الاستحقاق</strong>، بقياس فعلي.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>تعدد الـ keepers التي تستدعي <code>charge()</code> العامة نفسها هو ضمان الاستمرارية. لا يملك أيٌّ منها حفظًا للأموال؛ ويمكن لأيٍّ منها إنقاذ خصم مستحق.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deployment-plan">خطة النشر<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#deployment-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة النشر" title="إرتباط مُبـاشر بالعنوان خطة النشر" translate="no">​</a></h2>
<p>ترتيب النشر (شبكة واحدة أسبوعيًا، مع canary لكل شبكة):</p>
<ol>
<li class="">Ethereum mainnet (chainId <code>1</code>)</li>
<li class="">Arbitrum One (<code>42161</code>)</li>
<li class="">Optimism (<code>10</code>)</li>
<li class="">Polygon PoS (<code>137</code>)</li>
</ol>
<p>تُنشر العناوين على كل شبكة في <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">/docs/non-custodial/contract-reference</a>. مفتاح النشر هو التوقيع المتعدد Safe ثلاثة من خمسة نفسه المحدد في <a class="" href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/">المرحلة 0</a>، ويُعاد نشره لكل شبكة من المراسم نفسها.</p>
<p>تشترك الشبكات الأربع في العلم نفسه <code>useOnChainReceiver</code> المحدد حسب <code>chainId</code> داخل <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/payments/wallet.service.ts</a>. يفعّله التجار شبكةً بعد شبكة؛ وتصبح القيمة الافتراضية مفعّلة بعد أسبوع canary نظيف.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="gas-strategy-for-charge">استراتيجية الغاز لـ <code>charge()</code><a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#gas-strategy-for-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان gas-strategy-for-charge" title="إرتباط مُبـاشر بالعنوان gas-strategy-for-charge" translate="no">​</a></h2>
<p>تحتاج معاملات <code>charge()</code> الخاصة بالـ keeper إلى غاز. نعيد استخدام بنية الـ paymaster الحالية في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/gas-strategy" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/gas-strategy</a>:</p>
<ul>
<li class=""><strong>مع paymaster من Alchemy (Base وArbitrum وOptimism وPolygon)</strong>: يستدعي الـ keeper الدالة <code>SubscriptionHub.charge()</code> كـ UserOperation برعاية السياسة. تكلفة غاز صفرية لحساب EOA الخاص بالـ keeper.</li>
<li class=""><strong>Ethereum mainnet (دون paymaster)</strong>: يدفع الـ keeper من رصيد الغاز الساخن الخاص به. تموّله محفظة المنصة يوميًا، ويُراقب بتنبيه Datadog عند انخفاض الرصيد.</li>
<li class=""><strong>غاز مدعوم من التاجر (اختياري)</strong>: يمكن للتجار تعيين <code>gas_refund_address</code> ويسحب الـ keeper التعويض منه، بما يطابق نمط الدعم/العمولة الحالي. خارج نطاق الإطلاق الأولي.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="second-keeper-chainlink-and-gelato">الـ keeper الثاني: Chainlink وGelato<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#second-keeper-chainlink-and-gelato" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الـ keeper الثاني: Chainlink وGelato" title="إرتباط مُبـاشر بالعنوان الـ keeper الثاني: Chainlink وGelato" translate="no">​</a></h2>
<p>الـ keeper الثاني للتكرار، لا للاستبدال. يعمل إلى جانب مُجدوِل NestJS.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="chainlink-automation-preferred-on-evm">Chainlink Automation (المفضّل على EVM)<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#chainlink-automation-preferred-on-evm" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Chainlink Automation (المفضّل على EVM)" title="إرتباط مُبـاشر بالعنوان Chainlink Automation (المفضّل على EVM)" translate="no">​</a></h3>
<ul>
<li class="">تسجيل <strong>Upkeep</strong> لكل <code>SubscriptionHub</code>.</li>
<li class="">تعيد <code>checkUpkeep()</code> القيمة <code>performData = abi.encode(ids[])</code> لكل <code>id</code> يحقق <code>block.timestamp &gt;= nextChargeAt</code> (مقروءة من دالة عرض).</li>
<li class="">تستدعي <code>performUpkeep(performData)</code> الدالة <code>charge(ids)</code> دفعة واحدة.</li>
<li class="">يُموَّل بـ LINK من خزينة المنصة؛ ويُراقب الرصيد.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="gelato-web3-functions-alternative">Gelato Web3 Functions (بديل)<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#gelato-web3-functions-alternative" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Gelato Web3 Functions (بديل)" title="إرتباط مُبـاشر بالعنوان Gelato Web3 Functions (بديل)" translate="no">​</a></h3>
<ul>
<li class="">تستطلع Web3 Function مكتوبة بـ JS المركز، وتجد المعرّفات المستحقة، وترسل معاملة <code>charge(ids[])</code>.</li>
<li class="">يُدفع السعر لاحقًا من <code>1Balance</code> في Gelato.</li>
</ul>
<p>أيٌّ منهما كافٍ وحده؛ وسنختار بناءً على الخبرة التشغيلية خلال المرحلة 3. تشغيل الاثنين معًا لا بأس به؛ فـ <code>charge()</code> idempotent داخل الفترة بفضل <code>lastChargedAt</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="slos-and-monitoring">أهداف SLO والمراقبة<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#slos-and-monitoring" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان أهداف SLO والمراقبة" title="إرتباط مُبـاشر بالعنوان أهداف SLO والمراقبة" translate="no">​</a></h2>
<p>أهداف SLO المنشورة:</p>
<table><thead><tr><th>المقياس</th><th>الهدف</th></tr></thead><tbody><tr><td><code>charge()</code> خلال 10 دقائق من <code>nextChargeAt</code></td><td>99.5%</td></tr><tr><td><code>charge()</code> خلال ساعة من <code>nextChargeAt</code></td><td>99.9%</td></tr><tr><td>رصيد الغاز الساخن لحساب الـ keeper أعلى من عتبة التنبيه</td><td>99.99%</td></tr><tr><td>فهرسة الأحداث خلال دقيقتين من نهائية الكتلة</td><td>99.5%</td></tr></tbody></table>
<p>تتصل المراقبة بإعداد Sentry الحالي الموثق في <a href="https://github.com/orcarail/orcarail/tree/main/.cursor/plugins" target="_blank" rel="noopener noreferrer" class="">مهارة سير عمل Sentry</a> في المستودع. التنبيهات:</p>
<ul>
<li class="">عدد revert لـ <code>charge()</code> في الساعة &gt; العتبة ← PagerDuty</li>
<li class="">الرصيد الأصلي لحساب الـ keeper أقل من N gwei × gasLimit × 100 ← PagerDuty</li>
<li class="">upkeep في Chainlink/Gelato غير سليم ← تحذير</li>
<li class="">تأخر مفهرس أحداث <code>Paid</code> أكثر من 5 دقائق ← تحذير</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">الإيقافات<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#deprecations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات" title="إرتباط مُبـاشر بالعنوان الإيقافات" translate="no">​</a></h2>
<p>كما في المرحلتين 1 و2، لكن على شبكات أكثر. لا يُحذف شيء بعد؛ فالحذف ينتظر <a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<ul>
<li class=""><strong>روابط الدفع الجديدة</strong>: تستخدم المستقبِلات القائمة على العقود على أي شبكة مفعّل لها العلم.</li>
<li class=""><strong>الاشتراكات الجديدة</strong>: تستخدم <code>SubscriptionHub</code> على أي شبكة مفعّل لها العلم.</li>
<li class=""><strong>العملاء الحاليون</strong>: ترحيل اختياري عند التجديد، كما في المرحلة 2.</li>
<li class=""><strong>التسوية عبر الشبكات (Relay)</strong>: الواجهة دون تغيير؛ يواصل الـ keeper استدعاء منفّذي Relay في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/bridge" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/bridge</a>، لكن من EOA لا يملك أي حفظ.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>اختلاف العناوين بين الشبكات</strong>. الحل: ناشر CREATE2 حتمي (مثل <code>0x4e59b44847b379578588920cA78FbF26c0B4956C</code>) مع تجزئة init-code مقفلة؛ تتشارك المصانع العنوان نفسه على الشبكات الأربع.</li>
<li class=""><strong>حدود سياسة الـ paymaster لكل شبكة</strong>. الحل: مراقبة لكل شبكة وتنبيهات حصة السياسة عند 70% من الاستخدام.</li>
<li class=""><strong>كثرة تغييرات تسجيل upkeep في Chainlink</strong>. الحل: upkeep واحد لكل شبكة؛ تُقرأ قائمة المعرّفات على السلسلة، فلا يتطلب تسجيل التجار تغيير إعدادات Chainlink.</li>
<li class=""><strong>خصم مزدوج بين الـ keepers</strong>. الحل: <code>lastChargedAt</code> رتيب إضافةً إلى <code>ChargeSkipped</code> للتكرارات؛ وكلا الـ keepers idempotent بالتصميم.</li>
<li class=""><strong>ارتفاعات مفاجئة في غاز الشبكة الرئيسية</strong>. الحل: ضبط حجم الدفعة لكل شبكة؛ وسقف لسعر الغاز يؤجَّل فوقه <code>charge()</code> كتلة واحدة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إتمام النشر على Ethereum وArbitrum وOptimism وPolygon</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر عناوين المصنع + المركز في مرجع العقود</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->التحقق من سياسات الـ paymaster لكل شبكة</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تفعيل upkeep من Chainlink Automation على شبكتين على الأقل</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->لوحة SLO في Datadog</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دليل تشغيل لانقطاع الـ keeper (<code>charge()</code> يدوي من CLI التاجر)</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إطلاق تجار canary لكل شبكة</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>سولانا هي الشبكة الكبيرة الأخرى التي يجب أن نجعلها غير احتجازية: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/">المرحلة 4</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-3-multi-evm-rollout/">حالة المرحلة 3</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/keeper-strategy/">استراتيجية الـ keepers</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">مرجع العقود</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 4: سولانا غير احتجازية مع PDAs من Anchor]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 4 من خارطة طريق OrcaRail غير الاحتجازية. تستبدل برامج Anchor عمليات الكنس بمحافظ HD على سولانا بخزائن روابط دفع قائمة على PDA واشتراكات عبر delegate في SPL.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — تجلب المرحلة 4 النموذج غير الاحتجازي إلى سولانا. يحل برنامجان من Anchor محل تدفق محفظة HD + الكنس لكل رابط: <code>payment_link</code> للمدفوعات الفردية و<code>subscription</code> للخصم التلقائي عبر delegate في SPL. لا توجد أي عبارة استرداد (mnemonic) على خوادمنا لروابط سولانا الجديدة.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">يملك برنامج <code>payment_link</code> حساب PDA لكل رابط دفع، مشتقًا من <code>seeds = [b"pl", link_id]</code>. لا keypair، ولا seed، ولا كنس.</li>
<li class="">يستخدم برنامج <code>subscription</code> صلاحية <strong>delegate</strong> في SPL، وهي المكوّن نفسه الذي نعتمد عليه أصلًا في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a>، كـ allowance صريح يمنحه الدافع.</li>
<li class="">يتم التقسيم عبر CPI إلى منطق <code>fee_splitter</code> نفسه الذي بنيناه على EVM، بعد تكييفه مع حسابات سولانا.</li>
<li class="">تُتجاوز خدمة الكنس <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/solana-withdrawal-transfer.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/solana-withdrawal-transfer.service.ts</a> للروابط المفعّل لها العلم، وتُحذف في <a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7</a>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>تستبدل جهة «بعد» الـ seed من نوع HD في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/payments/wallet.service.ts</a> (الفرع <code>m/44'/501'/i'/0'</code>) بحساب PDA حتمي بالكامل.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="programs-introduced">البرامج الجديدة<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#programs-introduced" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان البرامج الجديدة" title="إرتباط مُبـاشر بالعنوان البرامج الجديدة" translate="no">​</a></h2>
<p>حزمة جديدة <code>contracts/solana/</code> (Anchor).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="payment_link-program">برنامج <code>payment_link</code><a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#payment_link-program" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان payment_link-program" title="إرتباط مُبـاشر بالعنوان payment_link-program" translate="no">​</a></h3>
<p>الحسابات لكل رابط:</p>
<div class="language-rust codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-rust codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token attribute attr-name" style="color:#00a4db">#[account]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">struct</span><span class="token plain"> </span><span class="token type-definition class-name">PaymentLink</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> link_id</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token keyword" style="color:#00009f">u8</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">32</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> expected_mint</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token class-name">Pubkey</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// e.g. USDC on SOL</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> expected_amount</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">u64</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> split</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token class-name">Split</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> created_at</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">i64</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> status</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token class-name">PaymentStatus</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>التعليمات:</p>
<ul>
<li class=""><code>initialize(link_id, expected_mint, expected_amount, split)</code> — كسولة؛ يستدعيها الغلاف المشابه للمصنع عند أول إيداع.</li>
<li class=""><code>pay(link_id, amount)</code> — تتحقق من الـ mint والمبلغ، وتحوّل عبر CPI إلى ATA الخاص بالـ PDA، ثم تقسّم عبر CPI بشكل ذري. تصدر <code>PaymentReceived { link_id, payer, amount }</code>.</li>
<li class=""><code>refund(link_id)</code> — تتطلب التوقيع المتعدد، وتحاكي الاسترداد في EVM.</li>
</ul>
<p>بذور الـ PDA: <code>[b"pl", link_id]</code>. لا يملك الـ PDA <strong>أي مفتاح خاص</strong>؛ بل يوقّع عبر <code>invoke_signed</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="subscription-program">برنامج <code>subscription</code><a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#subscription-program" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان subscription-program" title="إرتباط مُبـاشر بالعنوان subscription-program" translate="no">​</a></h3>
<p>يستفيد من <strong>Approve / Revoke</strong> في SPL لتفويض الصلاحية. يوقّع الدافع <code>spl_token::approve</code> محددًا PDA البرنامج كمفوَّض بحد أقصى <code>cap</code> من الرموز. ثم:</p>
<div class="language-rust codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-rust codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">pub</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">fn</span><span class="token plain"> </span><span class="token function-definition function" style="color:#d73a49">charge</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">ctx</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token class-name">Context</span><span class="token operator" style="color:#393A34">&lt;</span><span class="token class-name">Charge</span><span class="token operator" style="color:#393A34">&gt;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> id</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token keyword" style="color:#00009f">u8</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">32</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">-&gt;</span><span class="token plain"> </span><span class="token class-name">Result</span><span class="token operator" style="color:#393A34">&lt;</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token operator" style="color:#393A34">&gt;</span><br></div></code></pre></div></div>
<p>يمكن لأي طرف استدعاؤها، وتتحقق من:</p>
<ul>
<li class=""><code>clock.unix_timestamp &gt;= next_charge_at</code></li>
<li class=""><code>clock.unix_timestamp &gt; last_charged_at</code>  // monotonic</li>
<li class=""><code>amount_charged + period_amount &lt;= cap</code></li>
<li class="">استمرار وجود صلاحية التفويض على ATA الخاص بالدافع</li>
</ul>
<p>عند النجاح، يسحب <code>spl_token::transfer_checked</code> عبر CPI من ATA الدافع (بصفة المفوَّض) ثم يقسّم عبر CPI.</p>
<p>الأحداث: <code>SubscriptionCreated</code> و<code>Charged</code> و<code>ChargeSkipped</code> و<code>Canceled</code>. بالأشكال نفسها التي ينتجها مفهرس EVM، لذا فإن <code>api/src/webhooks</code> لا يعتمد على الشبكة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">تغييرات API<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#api-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تغييرات API" title="إرتباط مُبـاشر بالعنوان تغييرات API" translate="no">​</a></h2>
<ul>
<li class="">يتوقف فرع سولانا في <code>WalletService.generateAddressForNetwork</code> عن اشتقاق keypairs ويعيد بدلًا من ذلك <code>findProgramAddressSync(["pl", linkId], programId)</code>. لا يُكتب أي صف <code>encryptedSeed</code> لروابط سولانا الجديدة.</li>
<li class="">تراقب خدمة مفهرس جديدة سجلات البرنامج (webhooks من Helius أو بث Triton) وتصدر أحداث الـ webhook الحالية.</li>
<li class="">يضيف <a href="https://github.com/orcarail/orcarail/tree/main/api/src/scheduler/processors/subscription-auto-charge.processor.ts" target="_blank" rel="noopener noreferrer" class="">api/src/scheduler/processors/subscription-auto-charge.processor.ts</a> فرعًا لـ SOL: يبني معاملة <code>charge</code> ويوقّعها بالـ keeper (مسار دون غاز عبر معاملة مدعومة، على غرار الـ paymaster في المرحلة 2).</li>
<li class="">لا تُستدعى <code>withdrawals/services/solana-withdrawal-transfer.service.ts</code> للروابط المفعّل لها العلم.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="gas-on-solana">الغاز على سولانا<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#gas-on-solana" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الغاز على سولانا" title="إرتباط مُبـاشر بالعنوان الغاز على سولانا" translate="no">​</a></h2>
<p>رسوم سولانا صغيرة (عادةً 5000 lamport لكل توقيع، أي 0.000005 SOL). يستخدم الـ keeper رصيد SOL ساخنًا بنمط التنبيه نفسه المستخدم في المرحلة 3. ولأن سولانا لا تملك paymaster على غرار Alchemy، تستخدم المعاملات المدعومة نمطًا بسيطًا للتوقيع المشترك: يوقّع الـ keeper بصفته دافع الرسوم، ولا يحتاج الدافع إلى أي SOL.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">الإيقافات<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#deprecations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات" title="إرتباط مُبـاشر بالعنوان الإيقافات" translate="no">​</a></h2>
<ul>
<li class="">اشتقاق HD لـ SOL (<code>m/44'/501'/i'/0'</code>) للروابط الجديدة — لا يُستدعى عند تفعيل العلم.</li>
<li class=""><code>solana-withdrawal-transfer.service.ts</code> — يُتجاوز للروابط المفعّل لها العلم.</li>
<li class="">يبقى <code>SolanaRelayBridgeExecutorService</code> في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/bridge/solana-relay-bridge-executor.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/bridge/solana-relay-bridge-executor.service.ts</a>: فالنقل من SOL إلى EVM عندما يكون التاجر على EVM ما زال يستخدم Relay، لكن المشغّل ينتقل إلى البرنامج.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<p>نموذج الاشتراك الاختياري نفسه في المرحلة 2:</p>
<ul>
<li class="">روابط الدفع الجديدة: معنونة عبر PDA.</li>
<li class="">الاشتراكات الجديدة: قائمة على delegate في SPL.</li>
<li class="">الاشتراكات النشطة الحالية: شريط + بريد إلكتروني عند التجديد التالي لإعادة التفويض للبرنامج الجديد.</li>
<li class="">تستمر تسوية الإيداعات الجارية على العناوين القديمة عبر المسار القديم.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>إمكانية تجاوز الـ delegate في SPL</strong>. الحل: تعيد <code>charge</code> التحقق من <code>delegated_amount</code> قبل التحويل؛ وعند الفشل تصدر <code>ChargeSkipped(DelegateRevoked)</code> وتتبع قالب البريد نفسه المستخدم في حالة إلغاء الـ allowance على EVM.</li>
<li class=""><strong>صلاحية ترقية Anchor</strong>. الحل: يملك توقيع متعدد Squads ثلاثة من خمسة صلاحية الترقية، مع قفل زمني. بما يطابق موقف Safe على EVM من <a class="" href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/">المرحلة 0</a>.</li>
<li class=""><strong>SOL المغلّف مقابل SOL الأصلي</strong>. الحل: يدعم <code>payment_link</code> كليهما، مع <code>expected_mint</code> صريح لكل رابط لتجنب الالتباس.</li>
<li class=""><strong>ارتفاعات رسوم الأولوية</strong>. الحل: حساب ديناميكي لرسوم الأولوية في الـ keeper؛ وإعادة محاولة احتياطية بأولوية أعلى بعد slot واحد.</li>
<li class=""><strong>التدقيق</strong>. الحل: تدقيق البرنامجين من OtterSec أو Neodyme قبل النشر على الشبكة الرئيسية.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنشاء مساحة عمل Anchor في <code>contracts/solana/</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->برنامج <code>payment_link</code> بكل التعليمات + الاختبارات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->برنامج <code>subscription</code> بكل التعليمات + الاختبارات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إطلاق مفهرس webhooks من Helius</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->فرع SOL للـ keeper في <code>subscription-auto-charge.processor.ts</code></li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر تقرير التدقيق</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->النشر على الشبكة الرئيسية من التوقيع المتعدد Squads</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مجموعة تجار تجريبية</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-4-solana-pda-programs/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>بيتكوين. أصعب شبكة لتحقيق عدم الاحتجاز، والشبكة التي يجب أن نكون فيها صريحين بشأن الحدود: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/">المرحلة 5</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-4-solana/">حالة المرحلة 4</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/contract-reference/">مرجع العقود</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">البنية</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Subscriptions" term="Subscriptions"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 5: بيتكوين، taproot اثنان من اثنين ونطاق صريح]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 5 من خارطة طريق OrcaRail غير الاحتجازية. لا يمكن لبيتكوين أن تصبح غير احتجازية بالكامل اليوم، لذا ننتقل إلى توقيع متعدد taproot اثنان من اثنين لكل رابط مع استردادات موقّعة مسبقًا، ونترك المدفوعات المتكررة لـ Lightning BOLT12 كعمل مستقبلي.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — بيتكوين هي الشبكة التي يجب أن نكون فيها صريحين. فواجهة السكربت في الطبقة الأولى لا تملك القدرة التعبيرية لـ EVM أو سولانا، لذا لا يمكن نقل نمط «عقد رابط الدفع الذي يقسّم بشكل ذري». ما يمكننا فعله هو <strong>تقليص الحفظ</strong> من «OrcaRail تملك الـ xpub» إلى «توقيع متعدد بموقّعَين أحدهما من جهة التاجر مع استرداد موقّع مسبقًا»، وترك المدفوعات المتكررة لمسار Lightning مستقبلي.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">يصبح كل رابط دفع BTC <strong>توقيعًا متعددًا taproot اثنان من اثنين</strong>: موقّع واحد للتاجر وموقّع واحد للمنصة. لا تستطيع المنصة نقل الأموال منفردة.</li>
<li class="">يحصل كل إيداع على <strong>PSBT استرداد موقّعة مسبقًا</strong> تُخزَّن خارج السلسلة، ليتمكن الدافع من استعادة أمواله إذا اختفى التاجر.</li>
<li class="">تنتقل مفاتيح xpub الرئيسية من خادم API إلى <strong>خدمة HSM أو MPC</strong> (مثل Lit أو Turnkey). لا عبارات استرداد على القرص.</li>
<li class=""><strong>المدفوعات المتكررة على BTC خارج النطاق</strong> حتى تصبح Lightning BOLT12 جاهزة للإنتاج. ويذكر <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a> اليوم أصلًا أن BTC غير مدعومة للخصم التلقائي، ويبقى ذلك صحيحًا.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<p>اليوم، يشتق <code>BitcoinHotWalletService</code> في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/bitcoin-hot-wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/bitcoin-hot-wallet.service.ts</a> عنوان p2wpkh أحاديًا من عبارة استرداد محفوظة على الخادم ويكنسه عبر <code>bitcoin-withdrawal-transfer.service.ts</code>. هذا مفتاح واحد نتحكم به.</p>
<p>بعد المرحلة 5:</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<p>لا يستطيع أي طرف منفرد الإنفاق. ولا يحتفظ أي خادم بـ seed أحادي.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-we-are-shipping">ما الذي سنطلقه<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#what-we-are-shipping" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي سنطلقه" title="إرتباط مُبـاشر بالعنوان ما الذي سنطلقه" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-taproot-2-of-2-per-link">1. taproot اثنان من اثنين لكل رابط<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#1-taproot-2-of-2-per-link" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 1. taproot اثنان من اثنين لكل رابط" title="إرتباط مُبـاشر بالعنوان 1. taproot اثنان من اثنين لكل رابط" translate="no">​</a></h3>
<ul>
<li class="">محفظة واصفات لكل رابط: <code>wsh(multi(2, merchant_pubkey, platform_pubkey))</code> أو مقابل taproot (<code>tr(NUMS, {pk(m), pk(p)})</code> مع MuSig2 لمخرج يبدو كتوقيع منفرد، وهو أفضل للخصوصية والرسوم).</li>
<li class="">يوجد مفتاح التاجر في متصفح التاجر أو إضافة الهاتف. يطلب تدفق تسجيل التاجر xpub؛ وتُشتق مفاتيح كل رابط منه.</li>
<li class="">يوجد مفتاح المنصة خلف خدمة HSM أو MPC. لا يرى خادم API المادة السرية أبدًا.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-pre-signed-refund-psbt">2. PSBT استرداد موقّعة مسبقًا<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#2-pre-signed-refund-psbt" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 2. PSBT استرداد موقّعة مسبقًا" title="إرتباط مُبـاشر بالعنوان 2. PSBT استرداد موقّعة مسبقًا" translate="no">​</a></h3>
<p>عند رصد إيداع:</p>
<ol>
<li class="">تجمع API معاملة PSBT تعيد الإيداع ناقص الغاز إلى عنوان الدافع (المسجَّل عند إنشاء رابط الدفع إذا كانت محفظة الدافع معروفة؛ وإلا تُطبق سياسة <code>sendback</code>).</li>
<li class="">يوقّع الموقّعان PSBT الاسترداد فورًا وتُخزَّن (مشفّرة) في قاعدة البيانات.</li>
<li class="">يمكن للتاجر بث الاسترداد في أي وقت بنقرة واحدة؛ دون الحاجة إلى توقيع إضافي.</li>
</ol>
<p>هذا هو مقابل دالة <code>refund()</code> على السلسلة في BTC.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-mpc-key-rotation">3. تدوير مفاتيح MPC<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#3-mpc-key-rotation" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 3. تدوير مفاتيح MPC" title="إرتباط مُبـاشر بالعنوان 3. تدوير مفاتيح MPC" translate="no">​</a></h3>
<ul>
<li class="">تُدوَّر مفاتيح xpub الرئيسية لمفاتيح المنصة سنويًا.</li>
<li class="">تتبع كل المفاتيح المشتقة لكل رابط هذه التدويرات؛ وتستمر الروابط القديمة في العمل لأن توقيعها المتعدد موجود أصلًا على السلسلة بالمفتاح العام المحدد.</li>
<li class="">يُسجَّل التدوير في سجل التدقيق نفسه الخاص بعمليات نشر التوقيع المتعدد من <a class="" href="https://docs.orcarail.com/ar/blog/phase-0-design-and-audit-strategy/">المرحلة 0</a>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-we-are-not-shipping">ما الذي لن نطلقه<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#what-we-are-not-shipping" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي لن نطلقه" title="إرتباط مُبـاشر بالعنوان ما الذي لن نطلقه" translate="no">​</a></h2>
<ul>
<li class=""><strong>اشتراكات / خصم تلقائي على BTC</strong>. لا يوجد تصميم موثوق على الطبقة الأولى اليوم. يستثني <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">توثيق الخصم التلقائي</a> الحالي BTC أصلًا، ويبقى ذلك صحيحًا.</li>
<li class=""><strong>تقسيم ذري على السلسلة لـ BTC</strong>. يحدث التقسيم في PSBT التسوية التي يوقّعها التاجر. يبقى التقسيم حتميًا ومرئيًا في المعاملة المبثوثة، لكن السكربت لا يفرضه.</li>
<li class=""><strong>Fedimint أو statechains</strong>. بحث مثير للاهتمام؛ لكنه ليس ضمن هذه المرحلة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="lightning-as-the-future-path">Lightning كمسار مستقبلي<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#lightning-as-the-future-path" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Lightning كمسار مستقبلي" title="إرتباط مُبـاشر بالعنوان Lightning كمسار مستقبلي" translate="no">​</a></h2>
<p>للمدفوعات المتكررة بـ BTC خيار واقعي واحد: <strong>عروض BOLT12 في Lightning + امتداد <code>recurrence</code></strong>. سيمنحنا ذلك حلًا لاشتراكات BTC يضاهي approve + السحب في ERC-20. نتابعه كمرحلة مستقبلية:</p>
<ul>
<li class="">يعتمد على تطبيقات ناضجة لـ recurrence في BOLT12 داخل LND وCLN.</li>
<li class="">يعتمد على دعم محافظ Lightning (Phoenix وZeus وBlink) لـ recurrence في BOLT12.</li>
<li class="">يتطلب أسطولًا من عُقد LN بسيولة كافية؛ ربما عبر شريك (Voltage أو Greenlight).</li>
</ul>
<p>سننشر وثيقة تصميم مخصصة عندما تجهز الأدوات الأساسية. وحتى ذلك الحين، تبقى BTC للدفع لمرة واحدة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">الإيقافات<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#deprecations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات" title="إرتباط مُبـاشر بالعنوان الإيقافات" translate="no">​</a></h2>
<ul>
<li class=""><code>BitcoinHotWalletService</code> — يحتفظ بواجهته، لكن مزوّد المفاتيح ينتقل إلى HSM/MPC. يتوقف إنشاء عنوان الإيداع الأحادي p2wpkh للروابط الجديدة.</li>
<li class="">تبقى عناوين إيداع BTC القديمة قابلة للتسوية حتى انتهاء صلاحيتها عبر مسار الكنس القديم.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<ul>
<li class=""><strong>روابط دفع BTC الجديدة</strong>: عناوين توقيع متعدد اثنان من اثنين. الواجهة دون تغيير؛ ويتحول تنسيق العنوان إلى taproot.</li>
<li class=""><strong>روابط BTC المفتوحة الحالية</strong>: تبقى العناوين الأحادية القديمة نشطة حتى انتهاء صلاحيتها؛ لا نفرض الترحيل.</li>
<li class=""><strong>التجار الذين لم يضبطوا موقّع BTC</strong>: يعودون حاليًا إلى توقيع متعدد للمنصة فقط، مع خطوة تسجيل إلزامية لإرفاق مفتاح التاجر خلال 30 يومًا. يحافظ ذلك على مسار الاسترداد ويتجنب تعطيل حجم BTC الحالي.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>فقدان التاجر لمفتاحه</strong>. الحل: يطلب تسجيل التاجر <strong>مفتاحَي</strong> xpub (أساسي + احتياطي)؛ والاحتياطي اختياري لكنه موصى به بشدة.</li>
<li class=""><strong>انقطاع HSM الخاص بالمنصة</strong>. الحل: الـ HSM مكرر عبر مناطق متعددة؛ واسترداد طارئ للمفاتيح عبر مراسم توقيع متعدد موثقة في دليل التشغيل.</li>
<li class=""><strong>اختراق مخزن PSBT الاسترداد</strong>. الحل: تُشفَّر PSBT الاسترداد أثناء التخزين بمفتاح KMS منفصل؛ كما أنها عديمة الفائدة دون إعادة توقيع التاجر لوجهة مختلفة (الوجهة ثابتة في PSBT الموقّعة مسبقًا).</li>
<li class=""><strong>نضج MuSig2</strong>. الحل: يصدر الإصدار الأول باثنين من اثنين صريح <code>wsh(multi(...))</code>؛ ويأتي MuSig2 لاحقًا بعد تدقيق الأدوات على نطاق واسع.</li>
<li class=""><strong>ارتفاعات سوق الرسوم</strong>. الحل: تتضمن PSBT التسوية خطاف CPFP يمكن للتاجر رفعه؛ ويراقب الـ keeper الـ mempool وينبّه التجار عندما يتجاوز غاز التسوية عتبة معينة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنهاء قالب واصف taproot</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اختيار مزوّد HSM / MPC (Lit أم Turnkey أم HSM داخلي)</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تدفق تسجيل xpub التاجر في لوحة التحكم</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->اشتقاق الواصفات لكل رابط وتخزينها</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إنشاء PSBT استرداد موقّعة مسبقًا + تخزين مشفّر</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->واجهة التوقيع المشترك للتسوية (توقيع التاجر بنقرة واحدة)</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دليل تشغيل لتبديل الـ HSM وفقدان مفتاح التاجر</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مجموعة تجار تجريبية على BTC اثنان من اثنين</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>لامركزية اختيارية للـ keeper عبر EigenLayer: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/">المرحلة 6</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-5-bitcoin/">حالة المرحلة 5</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/bitcoin-considerations/">اعتبارات بيتكوين</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">نموذج الأمان</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 6: مُجدوِل لامركزي وEigenLayer]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 6 من خارطة طريق OrcaRail غير الاحتجازية. ما الذي تمنحك إياه إعادة التخزين (restaking) في EigenLayer فعلًا، ومتى يكون الـ AVS منطقيًا لنظام دفع، ولماذا نُبقيه اختياريًا.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — المرحلة 6 هي المرحلة التي <strong>لا</strong> نبني فيها شيئًا صراحةً، ما لم يفرضه متطلب حقيقي. إعادة التخزين في EigenLayer قوية، لكنها ليست موطنًا عامًا لـ«نظام دفع». يشرح هذا المقال ما الذي سيمنحنا إياه الـ AVS، ومتى يستحق البناء، ولماذا يكفي Chainlink + NestJS لمعظم ما نحتاجه.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">EigenLayer هو <strong>إعادة تخزين + شهادات قابلة للمعاقبة من مشغّلي ETH</strong>. ليس شبكة، ولا منصة عقود، ولا حلًا للحفظ.</li>
<li class="">موضعان يمكن أن يفيد فيهما OrcaRail: <strong>AVS للـ keepers</strong> من أجل <code>charge()</code> لامركزي، و<strong>AVS لشهادات الجسور</strong> من أجل التسوية عبر الشبكات.</li>
<li class=""><strong>سنؤجّل البناء</strong> ما لم يطلب عميل أو متطلب امتثال استمرارية لامركزية تتجاوز ما يوفره Chainlink Automation + NestJS.</li>
<li class="">إن بنينا واحدًا يومًا ما، فسنبدأ من قوالب Othentic / Eigen Foundation، لا من الصفر.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-eigenlayer-actually-gives-you">ما الذي يمنحك إياه EigenLayer فعلًا<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#what-eigenlayer-actually-gives-you" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يمنحك إياه EigenLayer فعلًا" title="إرتباط مُبـاشر بالعنوان ما الذي يمنحك إياه EigenLayer فعلًا" translate="no">​</a></h2>
<p>الـ <strong>AVS</strong> (Actively Validated Service) شبكة من المشغّلين تنفّذ عملية حسابية خارج السلسلة وتُنشر شهاداتها على السلسلة بأمان اقتصادي تشفيري من ETH المعاد تخزينه. يُعاقَب سوء السلوك (slashing).</p>
<p>ما الذي تحصل عليه:</p>
<ul>
<li class=""><strong>استمرارية لامركزية</strong>: تُنفَّذ المهمة حتى لو توقف أحد الأطراف (OrcaRail).</li>
<li class=""><strong>صحة قابلة للمعاقبة</strong>: الشهادة الخاطئة تُفقد المشغّل حصته.</li>
<li class=""><strong>أمان اقتصادي من ETH</strong>: ترث جزءًا من حصص مدققي Ethereum بدلًا من إطلاق رمز خاص بك.</li>
</ul>
<p>ما الذي <strong>لا</strong> تحصل عليه:</p>
<ul>
<li class="">منصة عقود ذكية. ما زالت العقود تُنشر على Ethereum / L2.</li>
<li class="">الحفظ. لا يحتفظ EigenLayer بـ USDC نيابةً عنك.</li>
<li class="">دعم أصلي لسولانا أو بيتكوين. توجد جسور عبر الشبكات، لكنها تضيف تعقيدًا وثقة.</li>
<li class="">مُجدوِل عام. ما زلت تحدد بنفسك المهمة خارج السلسلة والتحقق على السلسلة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-an-avs-could-help-orcarail">أين يمكن أن يفيد الـ AVS منصة OrcaRail<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#where-an-avs-could-help-orcarail" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان أين يمكن أن يفيد الـ AVS منصة OrcaRail" title="إرتباط مُبـاشر بالعنوان أين يمكن أن يفيد الـ AVS منصة OrcaRail" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-keeper-avs-decentralized-charge">1. AVS للـ keepers (<code>charge()</code> لامركزي)<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#1-keeper-avs-decentralized-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 1-keeper-avs-decentralized-charge" title="إرتباط مُبـاشر بالعنوان 1-keeper-avs-decentralized-charge" translate="no">​</a></h3>
<p>اليوم وحتى <a class="" href="https://docs.orcarail.com/ar/blog/phase-3-multi-evm-and-keeper-redundancy/">المرحلة 3</a>، تبدو صورة الـ keepers هكذا:</p>
<ul>
<li class="">مُجدوِل NestJS (أساسي)</li>
<li class="">Chainlink Automation أو Gelato (احتياطي)</li>
</ul>
<p>يمنحنا ذلك تكرارًا ثنائيًا. أما AVS للـ keepers فسيمنحنا تكرارًا <strong>بعدد N</strong> مع استمرارية قابلة للمعاقبة: يشهد المشغّلون أن «هذه المعرّفات كانت مستحقة وقد استدعيت <code>charge</code>»، وتفويت خصم مستحق مخالفة قابلة للمعاقبة.</p>
<p>متى يستحق ذلك:</p>
<ul>
<li class="">عندما يكون لدينا عميل يمنع عقده أي اعتماد على طرف واحد في بنيتنا التحتية.</li>
<li class="">عندما يطلبه الامتثال التنظيمي صراحةً (نادر اليوم).</li>
</ul>
<p>متى لا يستحق ذلك:</p>
<ul>
<li class="">عندما تكون الموثوقية الإضافية مقارنةً بـ Chainlink ضئيلة وتكلفة الهندسة أشهرًا.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-bridge-attestation-avs-relay-replacement">2. AVS لشهادات الجسور (بديل لـ Relay)<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#2-bridge-attestation-avs-relay-replacement" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 2. AVS لشهادات الجسور (بديل لـ Relay)" title="إرتباط مُبـاشر بالعنوان 2. AVS لشهادات الجسور (بديل لـ Relay)" translate="no">​</a></h3>
<p>تستخدم تسويتنا عبر الشبكات اليوم Relay (راجع <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/bridge" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/bridge</a>). Relay يتطلب الثقة. يمكن لـ AVS أن يشهد بأن «الأموال رُصدت على الشبكة X، أفرِج عنها على الشبكة Y» بأمان قابل للمعاقبة، بشكل مشابه لـ Hyperlane ISM مع EigenLayer أو Omni.</p>
<p>متى يستحق ذلك:</p>
<ul>
<li class="">عندما يفرض Relay شروطًا أو أداءً لا يمكننا قبوله.</li>
<li class="">عندما تعالج المنصة حجمًا كافيًا عبر الشبكات لتصبح مخاطر الجسر جوهرية.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-fraud--compliance-oracle">3. أوراكل الاحتيال / الامتثال<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#3-fraud--compliance-oracle" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 3. أوراكل الاحتيال / الامتثال" title="إرتباط مُبـاشر بالعنوان 3. أوراكل الاحتيال / الامتثال" translate="no">​</a></h3>
<p>«هل هذه المحفظة خاضعة للعقوبات؟» «هل سُلّمت البضاعة؟» — يمكن لفحوصات السياسات الموجودة حاليًا في مسار webhooks في NestJS أن تصبح شهادات AVS. استخدام محدود؛ ولا يفيد إلا إذا تحمّلت المنصة مسؤولية صريحة عن السياسات على السلسلة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-we-defer-the-build">لماذا نؤجّل البناء<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#why-we-defer-the-build" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا نؤجّل البناء" title="إرتباط مُبـاشر بالعنوان لماذا نؤجّل البناء" translate="no">​</a></h2>
<ul>
<li class="">تكلفة Chainlink Automation + NestJS الهندسية تقارب الصفر. أما AVS للـ keepers فيستغرق أشهرًا.</li>
<li class="">بناء AVS يعني تشغيل مشغّلين (أو تنسيق آخرين لذلك) وصيانة شروط المعاقبة. هذا عبء تشغيلي يضاهي إدارة أسطول عُقد بلوكتشين خاص بنا.</li>
<li class="">لا يكون تحسين الأمان ذا معنى إلا بعد أن يتوفر لدينا تكرار ثنائي. وهو غير متوفر بعد (نحصل عليه في المرحلة 3). بالتالي: لا يصبح AVS للـ keepers مرشحًا إلا بعد استقرار المرحلة 3.</li>
<li class="">حتى بنطاق متحفظ، سيكون للـ AVS اعتبارات حفظ خاصة به (ETH المعاد تخزينه، واقتصاديات تعويض المشغّلين).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="decision-log">سجل القرارات<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#decision-log" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان سجل القرارات" title="إرتباط مُبـاشر بالعنوان سجل القرارات" translate="no">​</a></h2>
<p>سنحتفظ بسجل قرارات عام في <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">/docs/non-custodial/eigenlayer-evaluation</a> يتضمن التوصية الحالية وأي محفزات قد تغيّرها. توصية اليوم: <strong>التأجيل</strong>.</p>
<p>المحفزات التي ستعيد فتح النقاش:</p>
<ol>
<li class="">محادثة مبيعات تعطلت صراحةً بسبب مخاطر «keeper من طرف واحد».</li>
<li class="">إطار تنظيمي يعتبر الاستمرارية المدعومة بـ AVS ضابطًا مقبولًا.</li>
<li class="">تراجع ملموس في تسعير Chainlink Automation أو توفره على أكثر شبكاتنا استخدامًا.</li>
<li class="">شراكة يمكننا فيها إعادة استخدام AVS للـ keepers لدى طرف آخر بتكلفة تشغيل شبه معدومة.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="if-we-do-build-it">إن بنيناه<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#if-we-do-build-it" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إن بنيناه" title="إرتباط مُبـاشر بالعنوان إن بنيناه" translate="no">​</a></h2>
<ul>
<li class=""><strong>البدء من قالب</strong>. تنشر Othentic وEigen Foundation قوالب لـ AVS شهادات المهام. لن نكتب منطق المعاقبة يدويًا.</li>
<li class=""><strong>إبقاء نقطة الدخول على السلسلة دون تغيير</strong>. تبقى <code>SubscriptionHub.charge(ids[])</code> عامة ودون إذن. ويصبح الـ AVS مجرد مستدعٍ إضافي إلى جانب NestJS وChainlink.</li>
<li class=""><strong>عدم إدخال رموز جديدة أو آليات staking</strong> لحجمنا الخاص. يُدفع للمشغّلين بـ ETH من ميزانية غاز المنصة؛ ولا يوجد رمز لـ OrcaRail.</li>
<li class=""><strong>تدقيقه</strong>. حتى الـ AVS القائم على قالب يحتاج إلى تدقيق.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر صفحة سجل القرارات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->مراجعة ربع سنوية للمحفزات</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->بيئة sandbox لإثبات المفهوم (لا للإنتاج) إذا تحقق أحد المحفزات</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-next">ما التالي<a href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/#what-is-next" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي" title="إرتباط مُبـاشر بالعنوان ما التالي" translate="no">​</a></h2>
<p>تحذف المرحلة الأخيرة مسارات كود الحفظ التي استبدلتها المراحل 1 إلى 5: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/">المرحلة 7</a></strong>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-6-decentralized-keepers/">حالة المرحلة 6</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">تقييم EigenLayer</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/keeper-strategy/">استراتيجية الـ keepers</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[المرحلة 7: إيقاف بنية الحفظ]]></title>
        <id>https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/</id>
        <link href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[المرحلة 7 من خارطة طريق OrcaRail غير الاحتجازية. حذف جدول hd_wallet_seed ومفتاح WALLET_ENCRYPTION_KEY ومسارات الكنس على EVM/سولانا، وتحديث شروط الخدمة ووضع الامتثال.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — المرحلة 7 هي مرحلة التنظيف. عند الوصول إليها، تكون أحجام EVM وسولانا على المستقبِلات القائمة على العقود و<code>SubscriptionHub</code>، وتكون بيتكوين على توقيع متعدد اثنان من اثنين، ولا يمر أي رابط دفع جديد بمسار الكنس القديم. تزيل هذه المرحلة الكود القديم والأسرار القديمة.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr">باختصار<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#tldr" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان باختصار" title="إرتباط مُبـاشر بالعنوان باختصار" translate="no">​</a></h2>
<ul>
<li class="">حذف <code>hd_wallet_seed</code> وإعداد <code>WALLET_ENCRYPTION_KEY</code> ومنطق الاشتقاق للشبكات المفعّل لها العلم.</li>
<li class="">حذف مسارات EVM/SOL في <code>api/src/withdrawals/</code>: <code>SmartAccountWalletService.drainSmartAccountWallet</code> و<code>solana-withdrawal-transfer.service.ts</code> وملفات spec المرتبطة.</li>
<li class="">إبقاء مسار BTC (مقلّصًا إلى نموذج اثنين من اثنين من <a class="" href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/">المرحلة 5</a>).</li>
<li class="">تحديث شروط الخدمة وسياسة الخصوصية وضوابط SOC2 لتعكس نطاق حفظ أصغر بكثير.</li>
<li class="">نشر تقرير ما بعد الحدث (postmortem) يلخص ما تعلمناه.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-phase-changes">ما الذي تغيّره هذه المرحلة<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#what-this-phase-changes" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" title="إرتباط مُبـاشر بالعنوان ما الذي تغيّره هذه المرحلة" translate="no">​</a></h2>
<p>قبل هذه المرحلة، تحتوي قاعدة الكود على نسختين من كل شيء (مسار الكنس القديم ومسار العقود الجديد) خلف feature flags. بعد هذه المرحلة، يصبح المسار الجديد هو المسار الوحيد على EVM وسولانا.</p>
<div class="wrapper_vprU"><button type="button" class="expandBtn_RmxB" aria-label="Show diagram fullscreen" title="Fullscreen"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-we-delete">ما الذي نحذفه<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#what-we-delete" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي نحذفه" title="إرتباط مُبـاشر بالعنوان ما الذي نحذفه" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="database">قاعدة البيانات<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#database" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قاعدة البيانات" title="إرتباط مُبـاشر بالعنوان قاعدة البيانات" translate="no">​</a></h3>
<ul>
<li class="">جدول <code>hd_wallet_seed</code> وكيان TypeORM الخاص به في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/infrastructure/persistence/relational/entities" target="_blank" rel="noopener noreferrer" class="">api/src/payments/infrastructure/persistence/relational/entities/hd-wallet-seed.entity.ts</a>.</li>
<li class="">يُحتفظ بالعمود <code>wallet_address.derivationPath</code> لعمليات البحث التاريخية لكنه يصبح قابلًا للقيم الفارغة؛ ولا تكتبه أي صفوف جديدة لـ EVM/SOL.</li>
<li class="">يؤرشف ترحيل (migration) صفوف الـ seed المشفّرة في تخزين بارد لمدة سبع سنوات (احتفاظ تنظيمي)، ثم يحذف الجدول.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="code">الكود<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#code" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الكود" title="إرتباط مُبـاشر بالعنوان الكود" translate="no">​</a></h3>
<p>في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/payments/wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/payments/wallet.service.ts</a>:</p>
<ul>
<li class="">حذف <code>encryptSeed</code> و<code>decryptSeed</code> و<code>getOrCreateHDWallet</code> و<code>generateAddressForNetwork</code> (فرعا EVM + SOL) و<code>getNextAvailableIndex</code> والاستيراد الديناميكي لـ <code>@account-kit/wallet-client</code>.</li>
<li class="">تصبح <code>getOrCreateAddressForPaymentLink</code> غلافًا رقيقًا فوق <code>factory.computeAddress</code> لـ EVM و<code>findProgramAddressSync</code> لسولانا.</li>
</ul>
<p>في <a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/smart-account-wallet.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/smart-account-wallet.service.ts</a>:</p>
<ul>
<li class="">حذف <code>drainSmartAccountWallet</code> و<code>transferFromSmartAccount</code> و<code>batchTransferFromSmartAccount</code> و<code>getSmartAccountClientForDepositWallet</code> و<code>derivePrivateKey</code>.</li>
<li class="">تبقى الوحدة (فما زال لها استخدام صغير لأدوات مساعدة متعلقة بـ BTC ولقراءة الأرصدة).</li>
</ul>
<p>عمليات حذف أخرى:</p>
<ul>
<li class=""><a href="https://github.com/orcarail/orcarail/tree/main/api/src/withdrawals/services/solana-withdrawal-transfer.service.ts" target="_blank" rel="noopener noreferrer" class="">api/src/withdrawals/services/solana-withdrawal-transfer.service.ts</a></li>
<li class="">ملفات <code>.spec.ts</code> والـ fixtures المقابلة.</li>
<li class="">الفرع الاحتجازي في <code>subscription-auto-charge.processor.ts</code> (يبقى فرع <code>SubscriptionHub.charge</code>).</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="config">الإعدادات<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#config" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإعدادات" title="إرتباط مُبـاشر بالعنوان الإعدادات" translate="no">​</a></h3>
<ul>
<li class=""><code>WALLET_ENCRYPTION_KEY</code> — يُحذف من <code>.env</code> وأسرار النشر والتوثيق.</li>
<li class="">أي مواد توقيع من Alchemy Account Kit في الإعدادات (تبقى مفاتيح API الخاصة بـ <code>@account-kit/*</code> إن كانت لا تزال مستخدمة للـ paymaster).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-stays">ما الذي يبقى<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#what-stays" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يبقى" title="إرتباط مُبـاشر بالعنوان ما الذي يبقى" translate="no">​</a></h2>
<ul>
<li class=""><strong>محفظة BTC الساخنة</strong> — مقلّصة إلى نموذج التوقيع المتعدد اثنان من اثنين من <a class="" href="https://docs.orcarail.com/ar/blog/phase-5-bitcoin-reduced-custody/">المرحلة 5</a>. لا تبقى أي seeds من نوع HD لـ EVM/SOL.</li>
<li class=""><strong>سياسة الـ paymaster من Alchemy</strong> — يستخدمها الـ keeper لرعاية <code>charge()</code> حيث ينطبق ذلك.</li>
<li class=""><strong>منفّذو جسر Relay</strong> — ما زالوا ينسّقون التسوية عبر الشبكات؛ والمستدعون حسابات EOA للـ keepers، لا موقّعون احتجازيون.</li>
<li class=""><strong>كل الـ webhooks ورسائل البريد والفوترة ولوحة التحكم والتحليلات</strong> — دون تغيير.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="legal-and-compliance-updates">التحديثات القانونية وتحديثات الامتثال<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#legal-and-compliance-updates" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان التحديثات القانونية وتحديثات الامتثال" title="إرتباط مُبـاشر بالعنوان التحديثات القانونية وتحديثات الامتثال" translate="no">​</a></h2>
<ul>
<li class=""><strong>شروط الخدمة</strong>: تصبح عبارة «لا تحتفظ OrcaRail بأموال EVM أو سولانا أثناء تسوية المدفوعات» بيانًا واقعيًا، لا نصًا طموحًا.</li>
<li class=""><strong>سياسة الخصوصية</strong>: إزالة الإشارات إلى مواد الـ seed المخزنة.</li>
<li class=""><strong>نطاق SOC2</strong>: تتقلص ضوابط الحفظ؛ وتُربط ملاحظات التدقيق بالنطاق الجديد الأصغر.</li>
<li class=""><strong>الوضع كمحوّل أموال</strong>: مراجعة جديدة مع المستشار القانوني. تقليل نقاط التماس مع الحفظ يبسّط التحليل في عدة ولايات قضائية.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="postmortem">تقرير ما بعد الحدث<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#postmortem" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تقرير ما بعد الحدث" title="إرتباط مُبـاشر بالعنوان تقرير ما بعد الحدث" translate="no">​</a></h2>
<p>سيلخص مقال مرافق ما تعلمناه عبر المراحل 0 إلى 7: ما الذي استغرق وقتًا أطول من المتوقع، وما الذي سار بسلاسة أكبر، وما التكلفة الهندسية الحقيقية لعدم الاحتجاز، وكيف تفاعل التجار. الإيقاع المتوقع: مقال واحد خلال 30 يومًا من إطلاق المرحلة 7.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations-none-new">الإيقافات (لا شيء جديد)<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#deprecations-none-new" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإيقافات (لا شيء جديد)" title="إرتباط مُبـاشر بالعنوان الإيقافات (لا شيء جديد)" translate="no">​</a></h2>
<p>هذه المرحلة هي الإيقاف نفسه. تصبح كل المسارات المرتبطة بالعلم <code>useOnChainReceiver</code> مفعّلة افتراضيًا؛ ويُحذف العلم.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-plan">خطة الترحيل<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#migration-plan" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان خطة الترحيل" title="إرتباط مُبـاشر بالعنوان خطة الترحيل" translate="no">​</a></h2>
<p>عند تنفيذ المرحلة 7، تكون كل المدفوعات والاشتراكات الجديدة غير احتجازية منذ أكثر من 12 شهرًا. يتعلق الترحيل بالذيل الطويل من الروابط القديمة:</p>
<ul>
<li class=""><strong>روابط الدفع القديمة المفتوحة</strong> بعد انتهاء صلاحيتها ← تسوية أي فتات متبقٍ عبر سكربت لمرة واحدة، ثم التوقف.</li>
<li class=""><strong>الاشتراكات القديمة</strong> التي لم تنتقل أبدًا ← إشعار بالبريد قبل 30 يومًا من الإيقاف، وعرض ترحيل بنقرة واحدة في لوحة التحكم، وتعليق الخصم التلقائي إن لم يتم الترحيل.</li>
<li class=""><strong>الأرصدة المتبقية على عناوين الإيداع القديمة</strong> ← كنسها للمرة الأخيرة عبر مسار التفريغ القديم إلى عناوين سحب التاجر، ثم إيقاف المفاتيح.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="risks-and-mitigations">المخاطر ووسائل الحد منها<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#risks-and-mitigations" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" title="إرتباط مُبـاشر بالعنوان المخاطر ووسائل الحد منها" translate="no">​</a></h2>
<ul>
<li class=""><strong>فتات متبقٍ على العناوين القديمة</strong>. الحل: تشغيل سكربت كنس نهائي قبل الإيقاف؛ ونشر أي فتات غير قابل للاسترداد في تقرير عام.</li>
<li class=""><strong>مخاطر قانونية من الحذف المبكر</strong>. الحل: أرشفة صفوف الـ seed المشفّرة لمدة 7 سنوات (لا يمكن فك تشفيرها أبدًا دون مفتاح التشفير الذي يُتلف في مراسم)؛ ويظل بإمكان المدققين التحقق من الحالة التاريخية.</li>
<li class=""><strong>اعتماد أحدهم على شكل API غير موثق</strong>. الحل: إشعار إيقاف عام قبل 90 يومًا؛ وإدخال في سجل تغييرات API؛ وتواصل موجّه مع كبار التجار.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="status-checklist">قائمة الحالة<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#status-checklist" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان قائمة الحالة" title="إرتباط مُبـاشر بالعنوان قائمة الحالة" translate="no">​</a></h2>
<ul class="contains-task-list containsTaskList_mC6p">
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->كل تجار EVM + SOL على التدفق غير الاحتجازي لمدة 90 يومًا على الأقل</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تصفير الاشتراكات القديمة المتبقية</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إتمام سكربت الكنس النهائي</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->إتمام ترحيل <code>hd_wallet_seed</code> إلى الأرشيف البارد</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->دمج عمليات حذف الكود</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->تحديث شروط الخدمة + سياسة الخصوصية ونشرها</li>
<li class="task-list-item"><input type="checkbox" disabled=""> <!-- -->نشر مقال تقرير ما بعد الحدث</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-end-of-the-roadmap">نهاية خارطة الطريق<a href="https://docs.orcarail.com/ar/blog/phase-7-retiring-custody/#the-end-of-the-roadmap" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان نهاية خارطة الطريق" title="إرتباط مُبـاشر بالعنوان نهاية خارطة الطريق" translate="no">​</a></h2>
<p>بعد المرحلة 7، يصبح وضع الحفظ كالتالي:</p>
<ul>
<li class=""><strong>EVM وسولانا</strong>: غير احتجازي. لا تحتفظ OrcaRail بأي مواد seed.</li>
<li class=""><strong>بيتكوين</strong>: حفظ مخفَّض عبر توقيع متعدد اثنان من اثنين مع موقّع من جهة التاجر.</li>
<li class=""><strong>لحظة الانتقال</strong>: أُلغيت على EVM/SOL؛ وتقلّصت إلى مسار استرداد بتوقيع متعدد على BTC.</li>
</ul>
<p>هذا ما وضعناه هدفًا في <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a>.</p>
<hr>
<p>التوثيق المرجعي: <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/phases/phase-7-retire-custody/">حالة المرحلة 7</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">نموذج الأمان</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/roadmap/">خارطة الطريق</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Announcement" term="Announcement"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[نقاش البروتوكول: خمس رؤى لـ OrcaRail غير احتجازية بالكامل]]></title>
        <id>https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/</id>
        <link href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[نقاش يديره محاور بين خمسة تصاميم لتحويل OrcaRail إلى بروتوكول غير احتجازي بالكامل؛ عقود ذكية مع API، وبروتوكول على السلسلة بالكامل على نمط Uniswap، وسلسلة تطبيقات L3، وشبكة intents وsolvers، وتطبيق مرجعي قائم على المعايير.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — تصف <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a> التي نشرناها الأسبوع الماضي مسارًا واحدًا: عقود ذكية على كل شبكة، وkeeper تشغّله OrcaRail، ومفهرس تشغّله OrcaRail، وAPI تشغّلها OrcaRail. يزيل هذا المسار الحفظ، لكنه يُبقينا في منتصف كل شيء آخر تقريبًا.</p>
<p>سأل عدد من القرّاء، وهم محقون: إذا كان الهدف أن نصبح <strong>بروتوكولًا</strong>، فلماذا نتوقف عند إزالة الحفظ؟ كيف ستبدو البنية لو اختفت OrcaRail غدًا واستمرت المدفوعات في التدفق؟</p>
<p>هذا المقال نقاش. خمسة مواقف تدافع عن خمس بنى مختلفة. ومحاور يختبر كل واحد منها. لا أحد يفوز فوزًا كاملًا، لكننا في النهاية نصبح أوضح بشأن المفاضلات التي نختارها فعلًا.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-fully-non-custodial-protocol-means-precisely">ماذا يعني «بروتوكول غير احتجازي بالكامل» بالضبط<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#what-fully-non-custodial-protocol-means-precisely" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ماذا يعني «بروتوكول غير احتجازي بالكامل» بالضبط" title="إرتباط مُبـاشر بالعنوان ماذا يعني «بروتوكول غير احتجازي بالكامل» بالضبط" translate="no">​</a></h2>
<p>قبل بدء النقاش نحتاج إلى تعريف مشترك. يكون النظام <strong>بروتوكولًا غير احتجازي بالكامل</strong> إذا تحققت <strong>كل</strong> الشروط التالية:</p>
<ol>
<li class=""><strong>الحفظ</strong>: لا يحتفظ أي طرف بأموال المستخدمين أثناء انتقالها، ولا حتى لكتلة واحدة.</li>
<li class=""><strong>الاستمرارية</strong>: لا يُشترط وجود أي طرف منفرد لحدوث دفعة أو خصم اشتراك مشروع.</li>
<li class=""><strong>مقاومة الرقابة</strong>: لا يستطيع أي طرف منفرد رفض معاملة سليمة البنية ومدفوعة.</li>
<li class=""><strong>التحكم في الترقيات / التغييرات</strong>: تتطلب الترقيات موافقة عدة أطراف، لا نشرًا من شركة واحدة.</li>
<li class=""><strong>الشفافية</strong>: القواعد التي يثق بها المستخدم مقروءة بالكامل على السلسلة أو تحت تجزئة قابلة للتحقق.</li>
</ol>
<p>الخطة الحالية تحقق (1). وتحقق جزئيًا (3) و(4) و(5). و<strong>لا</strong> تحقق (2)؛ فما زال الـ keeper والـ API من OrcaRail مطلوبين لتشغيل المسار الطبيعي بشكل موثوق. يدور النقاش أدناه حول ما إذا كان علينا دفع المعايير الأربعة المتبقية حتى النهاية، وبأي تكلفة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-positions">المواقف<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#the-positions" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المواقف" title="إرتباط مُبـاشر بالعنوان المواقف" translate="no">​</a></h2>
<p>يدخل خمسة معماريين. لنستمع إليهم.</p>
<ul>
<li class=""><strong>البراغماتي</strong> — عقود ذكية + API من OrcaRail (خارطة الطريق الحالية).</li>
<li class=""><strong>المتشدد</strong> — بروتوكول على السلسلة بالكامل + واجهة أمامية لامركزية («نموذج Uniswap»).</li>
<li class=""><strong>السيادي</strong> — OrcaRail كطبقة ثالثة / سلسلة تطبيقات مع precompiles مخصصة للمدفوعات.</li>
<li class=""><strong>المؤمن بالـ intents</strong> — يعبّر الدافعون عن intents؛ وتسوّيها شبكة solvers دون إذن.</li>
<li class=""><strong>المدافع عن المعايير</strong> — EIP مفتوح لروابط الدفع والاشتراكات؛ يطبّقه أي أحد.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="round-1--the-opening-statements">الجولة 1: البيانات الافتتاحية<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#round-1--the-opening-statements" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الجولة 1: البيانات الافتتاحية" title="إرتباط مُبـاشر بالعنوان الجولة 1: البيانات الافتتاحية" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pragmatist-ship-something-real-then-decentralize-the-painful-parts">البراغماتي: «أطلِق شيئًا حقيقيًا، ثم اجعل الأجزاء المؤلمة لامركزية.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#pragmatist-ship-something-real-then-decentralize-the-painful-parts" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان البراغماتي: «أطلِق شيئًا حقيقيًا، ثم اجعل الأجزاء المؤلمة لامركزية.»" title="إرتباط مُبـاشر بالعنوان البراغماتي: «أطلِق شيئًا حقيقيًا، ثم اجعل الأجزاء المؤلمة لامركزية.»" translate="no">​</a></h3>
<p>خارطة الطريق تزيل أصلًا المشكلة الصعبة (الحفظ). يمكن أن يكون الـ keeper أي طرف؛ فمُجدوِل NestJS لدينا مستدعٍ واحد بين عدة مستدعين، ويمكن تسجيل Chainlink وGelato غدًا. المفهرس عام: يمكن لأي شخص الاشتراك في أحداث <code>Paid</code> و<code>Charged</code> نفسها وإعادة بناء الحالة. «API الخاصة بـ OrcaRail» <strong>ليست طبقة التسوية</strong>، بل طبقة راحة فوق عقود عامة. التجار الذين يريدون المسار البروتوكولي الكامل يمكنهم أصلًا تجاوزنا واستدعاء المصنع مباشرةً.</p>
<p><strong>الادعاء</strong>: نحن بروتوكول بنسبة 80%. الـ 20% المتبقية أدوات (محافظ، لوحات تحكم، بريد إلكتروني)، لا ثقة. ويجب أن تبقى الأدوات قابلة للتطوير المستمر.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="maximalist-no-api-events-contracts-subgraph-thats-it">المتشدد: «لا API. أحداث، عقود، subgraph. هذا كل شيء.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#maximalist-no-api-events-contracts-subgraph-thats-it" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المتشدد: «لا API. أحداث، عقود، subgraph. هذا كل شيء.»" title="إرتباط مُبـاشر بالعنوان المتشدد: «لا API. أحداث، عقود، subgraph. هذا كل شيء.»" translate="no">​</a></h3>
<p>Uniswap موجود. 1inch موجود. يُصل إليهما عبر واجهات أمامية تستضيفها شركاتهما، لكن أيًّا من هذه الواجهات قد يختفي ويستمر البروتوكول في العمل. هذا هو معنى «البروتوكول».</p>
<p>بالنسبة لـ OrcaRail، يبدو ذلك هكذا:</p>
<ul>
<li class="">مصانع ومراكز وموزّعات على كل شبكات EVM/سولانا.</li>
<li class=""><strong>subgraph مرجعي</strong> (أو مفهرس سولانا) يمكن لأي شخص الاستعلام منه.</li>
<li class=""><strong>واجهة أمامية لامركزية</strong> مثبّتة على IPFS/Arweave، يُوصل إليها عبر ENS (<code>orcarail.eth</code>). لوحة تحكم التاجر وتطبيق الدفع حِزم ثابتة؛ وكل إصدار معنون بالمحتوى.</li>
<li class=""><strong>لا REST API من OrcaRail في المسار الحرج.</strong> تستدعي الـ SDK الـ subgraph مباشرةً. وتُشتق الـ webhooks من الأحداث على السلسلة عبر مفهرسات كخدمة (Alchemy، QuickNode، أو مستضافة ذاتيًا).</li>
</ul>
<p><strong>الادعاء</strong>: أي شيء يحتاج إلى <code>api.orcarail.com</code> لكي تعمل الدفعة هو بروتوكول ناقص.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sovereign-make-payments-a-precompile-on-our-own-chain">السيادي: «اجعل المدفوعات precompile على سلسلتنا الخاصة.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#sovereign-make-payments-a-precompile-on-our-own-chain" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان السيادي: «اجعل المدفوعات precompile على سلسلتنا الخاصة.»" title="إرتباط مُبـاشر بالعنوان السيادي: «اجعل المدفوعات precompile على سلسلتنا الخاصة.»" translate="no">​</a></h3>
<p>المدفوعات حساسة لزمن الاستجابة ومتكررة. ندفع الغاز نفسه للتقسيم نفسه في كل مرة. لماذا نستأجر أمان L1/L2 لحالة استخدام يمكن تخصيصها؟</p>
<p>لنطلق <strong>سلسلة OrcaRail</strong> كـ rollup على OP Stack (أو سلسلة تطبيقات Cosmos، أو سلسلة Arbitrum Orbit). عندها:</p>
<ul>
<li class="">تصبح دلالة روابط الدفع <strong>precompile</strong>، لا عقد Solidity من 80 سطرًا. تنخفض الرسوم من سنتات إلى ما يقارب الصفر.</li>
<li class="">يُدمج منطق الـ keeper في إنتاج الكتل: يطلق الـ sequencer استدعاءات <code>charge()</code> كجزء من الكتلة، مع قابلية المعاقبة بأمان السلسلة نفسها.</li>
<li class="">يستخدم الجسر إلى الشبكات «الحقيقية» (Ethereum، Arbitrum، سولانا) الجسر المرجعي الحالي + Relay؛ سلسلة OrcaRail طبقة تنسيق، لا طبقة قيمة.</li>
<li class="">تصبح الاشتراكات مواطنًا من الدرجة الأولى؛ «الاشتراك» نوع معاملة، مثل «التحويل» في بيتكوين.</li>
</ul>
<p><strong>الادعاء</strong>: أرخص طريقة لجعل بروتوكول يعمل بموثوقية على نطاق واسع هي ألا يتقاسم مساحة الكتل مع عمليات سك NFT عشوائية.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="intents-believer-payers-express-intent-solvers-compete-to-settle">المؤمن بالـ intents: «يعبّر الدافعون عن نيتهم. ويتنافس الـ solvers على التسوية.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#intents-believer-payers-express-intent-solvers-compete-to-settle" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المؤمن بالـ intents: «يعبّر الدافعون عن نيتهم. ويتنافس الـ solvers على التسوية.»" title="إرتباط مُبـاشر بالعنوان المؤمن بالـ intents: «يعبّر الدافعون عن نيتهم. ويتنافس الـ solvers على التسوية.»" translate="no">​</a></h3>
<p>يقول الدافع: «أريد أن أدفع للتاجر X مبلغ 50 دولارًا بـ USDC من أي من محافظي، خلال الساعة القادمة، مع تحسين الرسوم». هذا <strong>intent</strong>: موقّع، لكنه ليس معاملة بعد.</p>
<p>ترى <strong>شبكة solvers</strong> دون إذن (على نمط CoW أو SUAVE أو Anoma أو مرحّلات شبيهة بـ Across) الـ intent، وتجد أرخص مسار (بما في ذلك الجسور والعمليات عبر الشبكات، من أي رمز يملكه الدافع) وتسوّيه. ويحصل الـ solvers على مكافأة مضمّنة في الـ intent.</p>
<p>للاشتراكات: يوقّع الدافع intent متكررًا («اسحب 20 دولارًا شهريًا بـ USDC من محفظتي إلى PDA هذا التاجر، لمدة 12 شهرًا، قابلًا للإلغاء في أي وقت»). يتنافس الـ solvers على استدعاء <code>charge()</code> عند الاستحقاق، مقابل رسوم صغيرة. هذا ما يصبح عليه «AVS للـ keepers» في المرحلة 6 إن دققت النظر، لكن مع سوق حقيقية بدلًا من نظام معاقبة.</p>
<p><strong>الادعاء</strong>: الـ keepers ليسوا مشكلة موثوقية فعلًا، بل مشكلة تصميم سوق. لنبنِ السوق.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="standards-advocate-write-an-eip-everyone-wins-including-us">المدافع عن المعايير: «اكتب EIP. الجميع يربح، ونحن منهم.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#standards-advocate-write-an-eip-everyone-wins-including-us" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان المدافع عن المعايير: «اكتب EIP. الجميع يربح، ونحن منهم.»" title="إرتباط مُبـاشر بالعنوان المدافع عن المعايير: «اكتب EIP. الجميع يربح، ونحن منهم.»" translate="no">​</a></h3>
<p>روابط الدفع والاشتراكات في OrcaRail مكوّن أساسي عام. تبني Shopify وCoinbase Commerce وغيرها من منظومات الدفع بالكريبتو المستضافة وعشرات الشركات الناشئة الشيء نفسه. يجب أن نكتب <strong>EIP لروابط الدفع غير الاحتجازية</strong> و<strong>EIP مرافقًا لاشتراكات سحب الـ allowance</strong>، مع تطبيق مرجعي.</p>
<p>عندها:</p>
<ul>
<li class="">يمكن لأي محفظة عرض رابط دفع بواجهة قياسية («أنت تدفع للتاجر X، 50 دولارًا، USDC، غير احتجازي»).</li>
<li class="">يدعم أي مفهرس (The Graph أو Goldsky أو Envio) الأحداث القياسية مباشرةً.</li>
<li class="">يمكن لأي معالج، بما في ذلك منافس مستقبلي لـ OrcaRail، استضافة البروتوكول نفسه.</li>
<li class="">يصبح منتج OrcaRail <strong>أفضل تطبيق</strong> لمعيار مفتوح، لا منظومة مغلقة.</li>
</ul>
<p><strong>الادعاء</strong>: أكبر ميزة تنافسية في المدفوعات هي الثقة في <em>المكوّن الأساسي</em>، لا في منظومة شركة واحدة. لنجعل المكوّن الأساسي عامًا.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="round-2--the-moderator-cross-examines">الجولة 2: المحاور يستجوب<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#round-2--the-moderator-cross-examines" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الجولة 2: المحاور يستجوب" title="إرتباط مُبـاشر بالعنوان الجولة 2: المحاور يستجوب" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-pragmatist-be-honest--if-orcarail-stops-paying-the-paymaster-bill-does-alices-subscription-still-charge">إلى البراغماتي: «كن صريحًا؛ إذا توقفت OrcaRail عن دفع فاتورة الـ paymaster، هل يستمر خصم اشتراك Alice؟»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#to-pragmatist-be-honest--if-orcarail-stops-paying-the-paymaster-bill-does-alices-subscription-still-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إلى البراغماتي: «كن صريحًا؛ إذا توقفت OrcaRail عن دفع فاتورة الـ paymaster، هل يستمر خصم اشتراك Alice؟»" title="إرتباط مُبـاشر بالعنوان إلى البراغماتي: «كن صريحًا؛ إذا توقفت OrcaRail عن دفع فاتورة الـ paymaster، هل يستمر خصم اشتراك Alice؟»" translate="no">​</a></h3>
<p><strong>البراغماتي</strong>: في خارطة الطريق الحالية، بعد المرحلة 3، نعم؛ يواصل Chainlink Automation تنفيذ <code>charge()</code>. فاتورة الـ paymaster مخصصة لغاز الـ keeper، ويستخدم Chainlink عملة LINK للمهمة نفسها. لكن <strong>التجار الذين يحتاجون لوحة تحكم OrcaRail للمطابقة</strong> سيتأثرون: فرسائل البريد وإعادة المحاولات ورموز الأخطاء المقروءة كلها في API الخاصة بنا. تستمر العقود في العمل؛ أما <strong>المنتج</strong> فلا.</p>
<p><strong>المحاور</strong>: هل «العقود تعمل لكن البشر لا يعرفون» استمرارية حقًا؟</p>
<p><strong>البراغماتي</strong>: إنها استمرارية <em>التسوية</em> دون استمرارية <em>تجربة الاستخدام</em>. هذا تمييز حقيقي، ويجب أن نعترف به لا أن نخفيه. كما أن إصلاحه رخيص مع الوقت: ننشر قوالب البريد، ونفتح مصدر المفهرس، وندع غيرنا يستضيف لوحة التحكم. لا يلزمنا فعل كل ذلك في المرحلة 1.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-maximalist-ens-pinned-ipfs-dashboards-are-great-until-a-regulator-sends-us-a-letter-about-a-merchant">إلى المتشدد: «لوحات التحكم على IPFS المثبّتة عبر ENS رائعة، إلى أن ترسل إلينا جهة تنظيمية خطابًا بشأن تاجر.»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#to-maximalist-ens-pinned-ipfs-dashboards-are-great-until-a-regulator-sends-us-a-letter-about-a-merchant" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إلى المتشدد: «لوحات التحكم على IPFS المثبّتة عبر ENS رائعة، إلى أن ترسل إلينا جهة تنظيمية خطابًا بشأن تاجر.»" title="إرتباط مُبـاشر بالعنوان إلى المتشدد: «لوحات التحكم على IPFS المثبّتة عبر ENS رائعة، إلى أن ترسل إلينا جهة تنظيمية خطابًا بشأن تاجر.»" translate="no">​</a></h3>
<p><strong>المتشدد</strong>: عندها تتوقف OrcaRail عن استضافة ذلك التاجر في لوحة تحكمها. ويستمر البروتوكول في خدمته عبر واجهة أمامية أخرى، أو واجهته الخاصة. هذه ميزة لا خلل؛ قارن بالتمويل التقليدي، حيث «جمّد المعالج حسابي» دراما متكررة لا علاج لها على مستوى البروتوكول.</p>
<p><strong>المحاور</strong>: التجار الذين يطردهم معالج بطاقات يُطردون عادةً من شبكة Visa أيضًا. في المدفوعات، كثيرًا ما تكون البنية والمعالج الرقيب نفسه.</p>
<p><strong>المتشدد</strong>: صحيح، وهذه بالضبط المشكلة التي يحلها البروتوكول. لا تستطيع Visa فرض رقابة على Ethereum. ولا تستطيع OrcaRail، ببنية بروتوكولية، فرض رقابة على التجار على مستوى البنية، بل على مستوى الواجهة الأمامية فقط. الواجهات قابلة للاستبدال؛ أما البنية فلا.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-sovereign-how-do-merchants-withdraw-to-usdc-on-ethereum-if-settlement-lives-on-orcarail-chain">إلى السيادي: «كيف يسحب التجار إلى USDC على Ethereum إذا كانت التسوية على سلسلة OrcaRail؟»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#to-sovereign-how-do-merchants-withdraw-to-usdc-on-ethereum-if-settlement-lives-on-orcarail-chain" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إلى السيادي: «كيف يسحب التجار إلى USDC على Ethereum إذا كانت التسوية على سلسلة OrcaRail؟»" title="إرتباط مُبـاشر بالعنوان إلى السيادي: «كيف يسحب التجار إلى USDC على Ethereum إذا كانت التسوية على سلسلة OrcaRail؟»" translate="no">​</a></h3>
<p><strong>السيادي</strong>: بالطريقة نفسها التي يغادر بها أي أحد أي L2: عبر الجسر المرجعي. سندمج Relay بشكل أصيل لتكون مغادرة العملات المستقرة فورية. حجم السحب اليومي ضئيل مقارنةً بالحجم داخل السلسلة.</p>
<p><strong>المحاور</strong>: أنت تطلب منا تشغيل سلسلة. كل سلسلة مهمة لها أنماط أعطال: توقف الـ sequencer، وتأخر نشر state root، والخروج عبر الجسور. وهذه الأعطال <em>علنية</em> و<em>ظاهرة</em>. عنوان «توقف sequencer الخاص بـ OrcaRail لمدة 3 ساعات، وتوقفت المدفوعات عالميًا» أسوأ من «تعطلت API الخاصة بـ OrcaRail لمدة 3 ساعات».</p>
<p><strong>السيادي</strong>: هو عنوان أسوأ فقط إلى أن تجعل الـ sequencer لامركزيًا. براهين الاحتيال في OP Stack والتسلسل المشترك (Espresso، Astria) تجعل هذا تدريجيًا أقل اعتمادًا على طرف واحد. أنت محق في أننا لن نبدأ من هناك. ومحق أيضًا في أنه لا ينبغي أن نشغّل سلسلة وحدنا؛ سنطلقها عبر شريك rollup-as-a-service مع مسار موثوق نحو التسلسل المشترك.</p>
<p><strong>المحاور</strong>: هذه تبعيات كثيرة.</p>
<p><strong>السيادي</strong>: نعم. والمقابل: نتوقف عن دفع الغاز إلى الأبد، ونتوقف عن التنافس على مساحة كتل الشبكة الرئيسية، ونتمكن من إطلاق مكوّنات مخصصة. إذا كان حجم المدفوعات كبيرًا بما يكفي لتبرير أي من ذلك، فهو مبرَّر. وإن لم يكن، فأنا مخطئ.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-intents-believer-solver-markets-have-an-mev-problem-who-protects-the-payer-from-a-solver-that-skims">إلى المؤمن بالـ intents: «لأسواق الـ solvers مشكلة MEV. من يحمي الدافع من solver يقتطع لنفسه؟»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#to-intents-believer-solver-markets-have-an-mev-problem-who-protects-the-payer-from-a-solver-that-skims" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إلى المؤمن بالـ intents: «لأسواق الـ solvers مشكلة MEV. من يحمي الدافع من solver يقتطع لنفسه؟»" title="إرتباط مُبـاشر بالعنوان إلى المؤمن بالـ intents: «لأسواق الـ solvers مشكلة MEV. من يحمي الدافع من solver يقتطع لنفسه؟»" translate="no">​</a></h3>
<p><strong>المؤمن بالـ intents</strong>: يُوقَّع الـ intent بقيود صارمة. لا يمكن أن يتجاوز المبلغ المدفوع ما أذن به الدافع. ما يمكن أن يتغير هو <strong>المسار</strong> (أي جسر، وأي DEX إن لزم swap) و<strong>التوقيت</strong>. لا يستطيع الـ solver الخبيث تحويل الأموال إلى وجهة أخرى؛ وفي أسوأ الأحوال يكون بطيئًا. والمنافسة تقضي على ذلك.</p>
<p><strong>المحاور</strong>: المنافسة تخفّض الرسوم على المسارات عالية الحجم. فماذا عن دفعة صغيرة بقيمة 5 دولارات من USDC إلى USDC عبر الشبكات لا يحصل أحد على ما يكفي لتسويتها؟</p>
<p><strong>المؤمن بالـ intents</strong>: هذه فجوة حقيقية. والإجابة هي <strong>solvers احتياطيون</strong>: تشغّل OrcaRail واحدًا بسعر التكلفة. السوق تغطي الـ 95% العليا؛ ونحن نغطي الذيل الطويل. ومع الوقت، تسد الشبكات الأرخص والجسور الأفضل هذه الفجوة.</p>
<p><strong>المحاور</strong>: إذن أنت أيضًا تشغّل keeper، لكنك تسميه solver.</p>
<p><strong>المؤمن بالـ intents</strong>: keeper هو <em>واحد من عدة</em>، يتنافس على intent عام، ومعه احتياطي؛ نعم. هذا هو الفرق بين «الخادم الخلفي لـ OrcaRail هو الـ keeper» و«OrcaRail مشارك في سوق مفتوحة».</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-standards-advocate-eips-take-years-what-do-we-do-until-then">إلى المدافع عن المعايير: «الـ EIPs تستغرق سنوات. ماذا نفعل حتى ذلك الحين؟»<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#to-standards-advocate-eips-take-years-what-do-we-do-until-then" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان إلى المدافع عن المعايير: «الـ EIPs تستغرق سنوات. ماذا نفعل حتى ذلك الحين؟»" title="إرتباط مُبـاشر بالعنوان إلى المدافع عن المعايير: «الـ EIPs تستغرق سنوات. ماذا نفعل حتى ذلك الحين؟»" translate="no">​</a></h3>
<p><strong>المدافع عن المعايير</strong>: تطلق <strong>التطبيق المرجعي</strong> أولًا وفق خطتك الحالية. ثم تصوغ الـ EIP حول ما أطلقته، لا مسبقًا. هكذا كُتبت ERC-4337 وERC-721 وERC-20. خارطة الطريق الحالية متوافقة مع ذلك؛ يمكن أن تكون واجهة <code>SubscriptionHub</code> هي واجهة الـ ERC مع تعديلات طفيفة في الأسماء.</p>
<p><strong>المحاور</strong>: هل هناك خطر في نشر «ميزتك التنافسية» كمعيار؟</p>
<p><strong>المدافع عن المعايير</strong>: الميزة ليست العقد. الميزة هي <strong>التكاملات واتفاقيات مستوى الخدمة وعمل الامتثال ولوحات التحكم وقابلية توصيل البريد وثقة التجار</strong>. لا شيء من ذلك يستطيع منافس نسخه بقراءة EIP. فتح واجهة العقود ينقل المنافسة إلى المواضع التي نحن أقوياء فيها.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="round-3--where-each-position-actually-wins">الجولة 3: أين يفوز كل موقف فعلًا<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#round-3--where-each-position-actually-wins" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الجولة 3: أين يفوز كل موقف فعلًا" title="إرتباط مُبـاشر بالعنوان الجولة 3: أين يفوز كل موقف فعلًا" translate="no">​</a></h2>
<p>بعد الاستجواب، يتفوق كل موقف في أبعاد <em>محددة</em>. بطاقة نتائج صريحة:</p>
<table><thead><tr><th>البُعد</th><th>البراغماتي</th><th>المتشدد</th><th>السيادي</th><th>الـ intents</th><th>المعايير</th></tr></thead><tbody><tr><td>زمن إطلاق المرحلة 1</td><td>سريع</td><td>بطيء</td><td>بطيء جدًا</td><td>بطيء</td><td>سريع</td></tr><tr><td>إزالة الحفظ</td><td>نعم</td><td>نعم</td><td>نعم</td><td>نعم</td><td>نعم</td></tr><tr><td>الاستمرارية دون OrcaRail</td><td>جزئية</td><td>قوية</td><td>متوسطة</td><td>قوية</td><td>قوية</td></tr><tr><td>مقاومة الرقابة</td><td>جزئية</td><td>قوية</td><td>متوسطة</td><td>قوية</td><td>قوية</td></tr><tr><td>تجربة العمليات عبر الشبكات</td><td>جيدة</td><td>جيدة</td><td>ضعيفة</td><td>الأفضل</td><td>جيدة</td></tr><tr><td>الوضوح التنظيمي</td><td>متوسط</td><td>متوسط</td><td>ضعيف</td><td>ضعيف</td><td>عالٍ</td></tr><tr><td>الاعتماد على بنية OrcaRail</td><td>عالٍ</td><td>منخفض</td><td>عالٍ جدًا (سلسلة)</td><td>منخفض</td><td>منخفض</td></tr><tr><td>تميّز OrcaRail</td><td>عالٍ</td><td>منخفض</td><td>عالٍ</td><td>متوسط</td><td>عالٍ</td></tr><tr><td>تسجيل التجار غير المتمرسين في الكريبتو</td><td>الأفضل</td><td>الأصعب</td><td>متوسط</td><td>متوسط</td><td>متوسط</td></tr><tr><td>التكلفة الهندسية</td><td>منخفضة</td><td>متوسطة</td><td>عالية جدًا</td><td>عالية</td><td>متوسطة</td></tr><tr><td>أعطال ظاهرة للمستخدمين الحاليين</td><td>لا شيء</td><td>كبيرة</td><td>جسيمة</td><td>متوسطة</td><td>صغيرة</td></tr></tbody></table>
<p>لا يوجد صف مهيمن. ولهذا السبب هذا نقاش وليس خطة إطلاق.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="round-4--moderators-synthesis">الجولة 4: خلاصة المحاور<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#round-4--moderators-synthesis" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الجولة 4: خلاصة المحاور" title="إرتباط مُبـاشر بالعنوان الجولة 4: خلاصة المحاور" translate="no">​</a></h2>
<p>هكذا سأقرأ النقاش فعلًا، بصفتي الشخص الذي عليه أن يختار.</p>
<p><strong>البراغماتي يفوز اليوم</strong> لأن المنتج يجب أن يستمر في الإطلاق، ولا نملك ترف التوقف 18 شهرًا لإعادة كتابة البنية. خارطة الطريق الحالية نسخة أفضل تمامًا من النسخة الاحتجازية التي نشغّلها اليوم، مع تحسينات تدريجية متوافقة.</p>
<p><strong>المتشدد يفوز من حيث المبدأ</strong> ويلتقط قيدًا حقيقيًا: اليوم الذي تكون فيه API الخاصة بنا سبب عدم حصول تاجر على أمواله هو اليوم الذي نتوقف فيه عن كوننا بروتوكولًا. هذا هو الضغط الذي يجب أن يوجّه كل قرار هندسي في المراحل 1 إلى 7: انشر المفهرس، وانشر الـ subgraph، وثبّت لوحة التحكم على IPFS تحت ENS، ووثّق كيفية الاستضافة الذاتية. خارطة طريق البراغماتي <strong>تجعل ذلك ممكنًا</strong>، لكنها <strong>لا تفرضه</strong>. يجب أن نفرضه.</p>
<p><strong>السيادي يفوز إذا برّر الحجم ذلك.</strong> تحت عتبة حجم معينة، يكون تشغيل سلسلة عبئًا. وفوقها، يصبح استئجار مساحة كتل Ethereum لتقسيم 3 دولارات على ستة أطراف في كل مرة أمرًا عبثيًا. سنعرف أننا تجاوزنا تلك العتبة عندما يكون الجزء الغالب من حجمنا مسارات من الدافع إلى التاجر على الشبكة نفسها، ويصبح تحسين الغاز وفرًا قابلًا للقياس في القوائم المالية. ليس بعد.</p>
<p><strong>المؤمن بالـ intents يفوز في العمليات عبر الشبكات.</strong> المدفوعات بطبيعتها متعددة الأصول ومتعددة الشبكات. تدفق دافع قائم على الـ intents («ادفع للتاجر X، لا يهمني كيف») هو أفضل تجربة ممكنة لدافع كريبتو. يجب أن نعتمد الـ intents <strong>في طبقة SDK الدافع</strong> قبل اعتمادها في طبقة التسوية. هذا يجعل الـ solvers الحاليين (Across وdeBridge وRelay) ملائمين بشكل طبيعي دون الحاجة إلى بناء سوق جديدة.</p>
<p><strong>المدافع عن المعايير يفوز حيثما يفوز المتشدد، بمخاطر أقل.</strong> كتابة EIP حول ما نطلقه في المرحلتين 1 و2 <strong>مجانية</strong>، ومفيدة للمنظومة، ولا تبطئنا. كما تمنحنا رواية موثوقة بأننا «نبني بنية، لا فخًا» للتجار الذين يقيّمون بنى الكريبتو لأول مرة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-blended-answer">الإجابة المدمجة<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#the-blended-answer" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الإجابة المدمجة" title="إرتباط مُبـاشر بالعنوان الإجابة المدمجة" translate="no">​</a></h2>
<p>الخلاصة المملة لكن الصحيحة: <strong>أطلِق مسار البراغماتي، وافرض ضغط المتشدد، واعتمد الـ intents لتجربة الدافع، واكتب EIP على الطريق، وأبقِ السيادي خيارًا للمرحلة 8 وما بعدها مشروطًا بالحجم.</strong></p>
<p>بشكل ملموس، هذه هي الالتزامات التدريجية فوق <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/roadmap/">خارطة الطريق</a> الحالية:</p>
<ul>
<li class=""><strong>M1: subgraph عام من المرحلة 1</strong>. كل أحداث <code>Paid</code> و<code>Charged</code> في subgraph مرجعي يمكن لأي شخص الاستعلام منه. دون تعطيل الـ API.</li>
<li class=""><strong>M2: تطبيق دفع مثبّت على IPFS من المرحلة 2</strong>. كل إصدار معنون بالمحتوى، و<code>pay.orcarail.eth</code> قابل للوصول عبر ENS.</li>
<li class=""><strong>M3: حزمة استضافة ذاتية من المرحلة 3</strong>. Docker Compose + توثيق يتيحان لأي شخص تشغيل لوحة تحكم متوافقة مع OrcaRail من العقود نفسها.</li>
<li class=""><strong>M4: SDK للـ intents من المرحلة 3</strong>. توجّه <code>orcarail.pay(intent)</code> على العميل المدفوعات عبر الشبكات من خلال شبكات الـ solvers القائمة (Across/Relay). مع solver احتياطي تشغّله OrcaRail للذيل الطويل.</li>
<li class=""><strong>M5: مسودة EIP من المرحلة 2</strong>. المشاركة في كتابة EIP روابط الدفع مع معالج آخر أو فريق محفظة، على أساس <code>SubscriptionHub</code> لدينا.</li>
<li class=""><strong>M6: تقييم ربع سنوي لخيار السيادي</strong> إلى جانب <a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">تقييم EigenLayer</a>. المحفزات: حجم المدفوعات حسب الشبكة، وتكلفة الغاز لكل دفعة كنسبة من قيمتها، وطلب التجار على تسوية بأقل من سنت.</li>
</ul>
<p>تنقل هذه الإضافات الخمس خارطة الطريق الحالية من «غير احتجازية» إلى «غير احتجازية، بشكل بروتوكولي، ومحايدة بشكل موثوق». ولا تبطئ المراحل 1 إلى 7. وتُتابَع كمسارات عمل حيّة ومستقلة.</p>
<p>وقد صيغت رسميًا كـ <strong>المسار P</strong> في <a class="" href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/">الورقة البيضاء للبروتوكول</a>، التي تحوّل M1-M5 إلى المراحل P1-P5 وتُبقي M6 (السلسلة الخاصة) كمرحلة P6 اختيارية.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-we-are-explicitly-not-doing-yet">ما لا نفعله صراحةً بعد<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#what-we-are-explicitly-not-doing-yet" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما لا نفعله صراحةً بعد" title="إرتباط مُبـاشر بالعنوان ما لا نفعله صراحةً بعد" translate="no">​</a></h2>
<ul>
<li class=""><strong>سلسلة خاصة</strong>. ليس خلال الـ 18 شهرًا القادمة. نعيد التقييم كل ربع سنة.</li>
<li class=""><strong>رمز OrcaRail عند الإطلاق</strong>. لا رمز الآن. رمز الحوكمة المستقبلي <strong>محجوز كخيار</strong> لما بعد اللامركزية (راجع <a class="" href="https://docs.orcarail.com/ar/blog/orcarail-protocol-whitepaper/">الورقة البيضاء للبروتوكول</a> للموقف الكامل). لا بيع مسبق، ولا تخصيصات، ولا نقاط.</li>
<li class=""><strong>مسار المتشدد على السلسلة بالكامل دون أي API</strong>. يحتاج المنتج إلى واجهات مقروءة للبشر، ويحتاج التجار إلى جهة يتصلون بها عند حدوث مشكلة. سن<em>تيح</em> الاستخدام دون API، لكننا لن <em>نفرضه</em>.</li>
<li class=""><strong>شبكة solvers خاصة بنا</strong>. نستخدم الشبكات القائمة. قد نشغّل <strong>solver احتياطيًا بسعر التكلفة</strong> للمسارات الطويلة التي يتجاهلها الـ solvers الحاليون، لكننا لن نطلق شبكة منافسة جديدة.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-this-lands">أين نقف<a href="https://docs.orcarail.com/ar/blog/protocol-debate-non-custodial-futures/#where-this-lands" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان أين نقف" title="إرتباط مُبـاشر بالعنوان أين نقف" translate="no">​</a></h2>
<p>هذا المقال <strong>مرافق</strong> لـ <a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة الطريق غير الاحتجازية</a>، لا بديل عنها. ما زالت خارطة الطريق تتابع المراحل 0-7. ويضيف هذا النقاش محورًا سادسًا، هو <em>الشكل البروتوكولي</em>، يجب تقييم كل مرحلة على أساسه.</p>
<p>إن كنت في هذا النقاش، فأرسل إلينا موقفك. سننشر الحجج المضادة القوية.</p>
<hr>
<p><strong>قراءات ذات صلة</strong></p>
<ul>
<li class=""><a class="" href="https://docs.orcarail.com/ar/blog/non-custodial-roadmap/">خارطة طريق OrcaRail نحو نموذج غير احتجازي</a> — خارطة الطريق المرجعية</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/">لماذا يتفوق سحب الـ allowance على الضمان ومفاتيح الجلسة</a> — نقاش نموذج الاشتراك، بالصيغة نفسها</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/eigenlayer-evaluation/">تقييم EigenLayer</a> — سجل قرارات مرافق للـ keepers اللامركزية</li>
<li class=""><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/architecture/">البنية</a> — ما يبنيه مسار البراغماتي فعلًا</li>
</ul>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Subscriptions" term="Subscriptions"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[لماذا يتفوق سحب الـ allowance على الضمان ومفاتيح الجلسة]]></title>
        <id>https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/</id>
        <link href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/"/>
        <updated>2026-04-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[النقاش التصميمي وراء نموذج الاشتراك غير الاحتجازي في OrcaRail. لماذا يتفوق approve + السحب في ERC-20 (وdelegate في SPL على سولانا) على إيداعات الضمان والمحافظ الذكية بمفاتيح الجلسة في اشتراكات الكريبتو.]]></summary>
        <content type="html"><![CDATA[<p><strong>20 أبريل 2026</strong> — على كل منتج اشتراكات بالكريبتو أن يحل المشكلة نفسها: كيف يأذن الدافع بمدفوعات مستقبلية دون التخلي عن الحفظ؟ هناك ثلاث إجابات واقعية. اخترنا <strong>سحب الـ allowance</strong>، ويشرح هذا المقال السبب.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-three-models">النماذج الثلاثة<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#the-three-models" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان النماذج الثلاثة" title="إرتباط مُبـاشر بالعنوان النماذج الثلاثة" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-allowance-pull-erc-20-approve--spl-delegate">1. سحب الـ allowance (approve في ERC-20 + delegate في SPL)<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#1-allowance-pull-erc-20-approve--spl-delegate" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 1. سحب الـ allowance (approve في ERC-20 + delegate في SPL)" title="إرتباط مُبـاشر بالعنوان 1. سحب الـ allowance (approve في ERC-20 + delegate في SPL)" translate="no">​</a></h3>
<p>يوقّع الدافع <code>approve(spender, cap)</code> مرة واحدة على عقد الرمز. لاحقًا، يستدعي الـ spender (أي <code>SubscriptionHub</code> لدينا أو برنامج سولانا) الدالة <code>transferFrom</code> (EVM) أو يحوّل بصلاحية التفويض (SOL) عند استحقاق فترة. يحتفظ الدافع بالحفظ؛ ويمكن للـ spender سحب ما يصل إلى <code>cap</code> طوال عمر الاشتراك.</p>
<p>الإلغاء: يوقّع الدافع <code>approve(spender, 0)</code> أو <code>Revoke</code>. ومن تلك اللحظة لا يمكن أن ينجح أي سحب.</p>
<p>هذا ما يستخدمه <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a> أصلًا اليوم. تنقل <a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">المرحلة 2</a> الـ spender من محفظة ساخنة تتحكم بها المنصة إلى عقد على السلسلة، لكن جهة الدافع لا تتغير.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-escrow-deposit">2. إيداع ضمان (escrow)<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#2-escrow-deposit" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 2. إيداع ضمان (escrow)" title="إرتباط مُبـاشر بالعنوان 2. إيداع ضمان (escrow)" translate="no">​</a></h3>
<p>يودع الدافع أموال N فترة في عقد ضمان خاص بكل اشتراك. يُفرج العقد عن الأموال للتاجر وفق الجدول. ويمكن للدافع سحب الرصيد غير المستخدم في أي وقت (ناقص الفترات المدفوعة).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-smart-wallet-with-session-keys">3. محفظة ذكية بمفاتيح جلسة<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#3-smart-wallet-with-session-keys" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 3. محفظة ذكية بمفاتيح جلسة" title="إرتباط مُبـاشر بالعنوان 3. محفظة ذكية بمفاتيح جلسة" translate="no">​</a></h3>
<p>يستخدم الدافع محفظة ذكية ERC-4337 ويمنح مفتاح جلسة محدود النطاق لعقد الاشتراك. لا يستطيع مفتاح الجلسة إلا فعل ما يسمح به نطاقه (مثل «تحويل ما يصل إلى X من USDC كل 30 يومًا إلى هذا العنوان»). ويلغي الدافع الإذن بحذف مفتاح الجلسة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-scoring">التقييم<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#the-scoring" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان التقييم" title="إرتباط مُبـاشر بالعنوان التقييم" translate="no">​</a></h2>
<p>قيّمنا النماذج الثلاثة على خمسة محاور:</p>
<table><thead><tr><th>المحور</th><th>سحب الـ allowance</th><th>الضمان</th><th>مفاتيح الجلسة</th></tr></thead><tbody><tr><td>الحفظ أثناء الاشتراك النشط</td><td>الدافع</td><td>عقد الضمان</td><td>الدافع (عبر المحفظة الذكية)</td></tr><tr><td>خطوات الإعداد للدافع</td><td>توقيع واحد</td><td>إيداع واحد (مع غاز)</td><td>تسجيل واحد في محفظة 4337</td></tr><tr><td>توافق محفظة الدافع</td><td>كل المحافظ</td><td>كل المحافظ</td><td>محافظ 4337 فقط</td></tr><tr><td>الأموال المقفلة / رأس المال العامل</td><td>لا شيء</td><td>N شهر مقفلة</td><td>لا شيء</td></tr><tr><td>تجربة الإلغاء</td><td>إلغاء الـ approve</td><td>سحب + إلغاء</td><td>حذف مفتاح الجلسة</td></tr><tr><td>مخاطر الـ keeper</td><td>أي مستدعٍ</td><td>أي مستدعٍ</td><td>أي مستدعٍ</td></tr><tr><td>التعقيد من جهة التاجر</td><td>أدنى حد</td><td>محاسبة الإفراج</td><td>إعداد bundler في 4337</td></tr><tr><td>يعمل مع MetaMask / Phantom</td><td>نعم</td><td>نعم</td><td>ليس بشكل أصيل</td></tr><tr><td>يعمل مع Ledger / محافظ الأجهزة</td><td>نعم</td><td>نعم</td><td>جزئيًا</td></tr><tr><td>الوضوح التنظيمي</td><td>عالٍ</td><td>أقل (له رائحة الضمان)</td><td>عالٍ</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-not-escrow">لماذا ليس الضمان<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#why-not-escrow" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا ليس الضمان" title="إرتباط مُبـاشر بالعنوان لماذا ليس الضمان" translate="no">​</a></h3>
<p>للضمان أجمل عرض تسويقي («أموال الدافع مقفلة في عقد، لا لدى شركة») لكنه يملك أسوأ تجربة فعلية:</p>
<ul>
<li class="">لا يحب الدافعون قفل أموال N شهر. اشتراك بقيمة 20 دولارًا شهريًا مع ضمان لمدة 12 شهرًا يعني 240 دولارًا مقفلة. وهذا سقف لمعدل التحويل.</li>
<li class="">تصبح السحوبات معقدة: يجب على العقد تتبّع الفترات المدفوعة وغير المدفوعة، ومعالجة الاستردادات الجزئية، ومنع التاجر من الوصول إلى الأموال المستقبلية.</li>
<li class="">«ضمان يحتفظ بأموال العملاء» له رائحة تنظيمية في عدة ولايات قضائية لا يملكها «allowance لعقد ذكي».</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-not-session-keys">لماذا ليست مفاتيح الجلسة<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#why-not-session-keys" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا ليست مفاتيح الجلسة" title="إرتباط مُبـاشر بالعنوان لماذا ليست مفاتيح الجلسة" translate="no">​</a></h3>
<p>مفاتيح الجلسة على محافظ 4337 الذكية أنيقة. لكنها تتطلب أن تكون محفظة الدافع محفظة ذكية. ما زال معظم الدافعين في 2026 يستخدمون حسابات EOA (MetaMask وRabby ومحافظ الأجهزة وموقّعي Safe)، ويستخدم دافعو سولانا محافظ keypair على نمط Phantom. فرض التسجيل في 4337 من أجل اشتراك يقتل معدل التحويل.</p>
<p>هناك مسار تصبح فيه 4337 المحفظة الافتراضية للدافع وتصبح مفاتيح الجلسة أمرًا بسيطًا. لم نصل إلى هناك بعد.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-allowance-pull-wins-today">لماذا يفوز سحب الـ allowance اليوم<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#why-allowance-pull-wins-today" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا يفوز سحب الـ allowance اليوم" title="إرتباط مُبـاشر بالعنوان لماذا يفوز سحب الـ allowance اليوم" translate="no">​</a></h3>
<ul>
<li class=""><strong>لا تغيير في محفظة الدافع</strong>. تعمل أي محفظة تستطيع توقيع <code>approve</code> في ERC-20، أي كلها.</li>
<li class=""><strong>لا أموال مقفلة</strong>. يحتفظ الدافع بالحفظ؛ ويحدث السحب في الوقت المناسب تمامًا.</li>
<li class=""><strong>الإلغاء عالمي</strong>. <code>approve(0)</code> أو <code>Revoke</code> مكوّن تعرضه واجهة كل محفظة أصلًا.</li>
<li class=""><strong>الـ keeper سلعة متاحة</strong>. <code>SubscriptionHub.charge(id)</code> عامة ودون إذن. يمكن لـ NestJS أو Chainlink أو Gelato أو AVS في EigenLayer (راجع <a class="" href="https://docs.orcarail.com/ar/blog/phase-6-eigenlayer-keeper-avs/">المرحلة 6</a>) استدعاؤها جميعًا.</li>
<li class=""><strong>الرواية التنظيمية أبسط</strong>. لا تحتفظ المنصة أبدًا بالأموال أثناء انتقالها.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="known-limitations-and-how-we-mitigate-them">القيود المعروفة وكيف نحد منها<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#known-limitations-and-how-we-mitigate-them" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان القيود المعروفة وكيف نحد منها" title="إرتباط مُبـاشر بالعنوان القيود المعروفة وكيف نحد منها" translate="no">​</a></h2>
<p>سحب الـ allowance ليس مثاليًا. العيوب بصراحة:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-infinite-approvals">1. الموافقات غير المحدودة<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#1-infinite-approvals" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 1. الموافقات غير المحدودة" title="إرتباط مُبـاشر بالعنوان 1. الموافقات غير المحدودة" translate="no">​</a></h3>
<p>كثيرًا ما تقترح المحافظ قيم <code>approve</code> غير محدودة افتراضيًا. والعقود الخبيثة ذات الـ allowances غير المحدودة تفرغ المحافظ. حلّنا: تطلب الواجهة صراحةً موافقة <em>محدودة</em> (مثل <code>12 × monthly_amount</code> لاشتراك سنوي)، وتعرض المبلغ بالدولار، وتقدّم نص «ألغِ في أي وقت». ويفرض العقد <code>cap</code> بشكل منفصل عن allowance في ERC-20.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-revoke-between-cycles">2. الإلغاء بين الدورات<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#2-revoke-between-cycles" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 2. الإلغاء بين الدورات" title="إرتباط مُبـاشر بالعنوان 2. الإلغاء بين الدورات" translate="no">​</a></h3>
<p>يمكن للدافع الإلغاء في منتصف الاشتراك فيفشل الخصم التالي. هو نمط الفشل نفسه لبطاقة محفوظة أُلغيت. يُعالج عبر الـ webhook + البريد الحاليين: <code>subscription-insufficient-allowance.hbs</code> و<code>subscription-past-due.hbs</code>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-stale-allowance-after-price-change">3. allowance قديم بعد تغيير السعر<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#3-stale-allowance-after-price-change" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 3. allowance قديم بعد تغيير السعر" title="إرتباط مُبـاشر بالعنوان 3. allowance قديم بعد تغيير السعر" translate="no">​</a></h3>
<p>إذا رفع التاجر السعر في منتصف الاشتراك، فقد يصبح <code>cap</code> القديم أصغر من اللازم. يُعالج ذلك بثابت <code>cap</code> الذي يُفشل <code>charge()</code> (revert)، وبواجهة التاجر التي تطلب موافقة جديدة.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-reorg-induced-double-charge">4. خصم مزدوج بسبب إعادة التنظيم<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#4-reorg-induced-double-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان 4. خصم مزدوج بسبب إعادة التنظيم" title="إرتباط مُبـاشر بالعنوان 4. خصم مزدوج بسبب إعادة التنظيم" translate="no">​</a></h3>
<p>يمكن لبوت يستغل إعادة تنظيم الكتل أن يكرر <code>charge()</code>. يُعالج ذلك عبر <code>lastChargedAt</code> الرتيب في <code>SubscriptionHub</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-changes-for-payers-today">ما الذي يتغير للدافعين اليوم<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#what-changes-for-payers-today" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يتغير للدافعين اليوم" title="إرتباط مُبـاشر بالعنوان ما الذي يتغير للدافعين اليوم" translate="no">​</a></h2>
<p>لا شيء. يطلب تدفق <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a> الحالي أصلًا <code>approve(spender, amount)</code> و<code>SPL Approve</code>؛ الخطوات نفسها. تنقل <a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">المرحلة 2</a> الـ spender إلى عنوان عقد غير احتجازي. وتعرض محفظتك شاشة الأذونات نفسها.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-changes-for-merchants">ما الذي يتغير للتجار<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#what-changes-for-merchants" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما الذي يتغير للتجار" title="إرتباط مُبـاشر بالعنوان ما الذي يتغير للتجار" translate="no">​</a></h2>
<p>لا شيء في شكل استجابة API. يشير الحقل <code>approval_spender_address</code> في كائن <code>auto_charge</code> الخاص بالاشتراك ببساطة إلى عقد <code>SubscriptionHub</code> بدلًا من محفظة OrcaRail الساخنة. وتُرسل الـ webhooks في اللحظات نفسها.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الملخص<a href="https://docs.orcarail.com/ar/blog/why-allowance-pull-subscriptions/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<table><thead><tr><th>الاعتبار</th><th>الفائز</th></tr></thead><tbody><tr><td>تجربة تسجيل الدافع</td><td>سحب الـ allowance</td></tr><tr><td>رأس المال العامل</td><td>سحب الـ allowance / مفاتيح الجلسة</td></tr><tr><td>توافق المحافظ</td><td>سحب الـ allowance</td></tr><tr><td>الوضوح التنظيمي</td><td>سحب الـ allowance / مفاتيح الجلسة</td></tr><tr><td>مرونة الـ keeper</td><td>الثلاثة</td></tr><tr><td>بساطة العقد</td><td>سحب الـ allowance</td></tr></tbody></table>
<p>يفوز سحب الـ allowance بوضوح في توافق المحافظ ورأس المال العامل، ويتعادل أو يفوز في كل المحاور الأخرى. ولهذا بُنيت اشتراكات OrcaRail عليه.</p>
<hr>
<p>ذو صلة: <strong><a class="" href="https://docs.orcarail.com/ar/blog/phase-2-allowance-pull-subscriptions/">المرحلة 2: اشتراكات بسحب الـ allowance</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">توثيق الخصم التلقائي</a></strong> · <strong><a class="" href="https://docs.orcarail.com/ar/docs/non-custodial/security-model/">نموذج الأمان</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Subscriptions" term="Subscriptions"/>
        <category label="Payments" term="Payments"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[الاشتراكات في OrcaRail: الخصم التلقائي وتعدد الشبكات]]></title>
        <id>https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/</id>
        <link href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/"/>
        <updated>2026-03-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[كيف تتعامل OrcaRail مع اشتراكات الكريبتو المتكررة؛ روابط الدفع مقابل الخصم التلقائي، والموافقات والفوترة على السلسلة، وكيف يتكامل تعدد الشبكات مع شبكات التاجر وسياق الدافع والسحوبات.]]></summary>
        <content type="html"><![CDATA[<p><strong>25 مارس 2026</strong> — تدعم OrcaRail <strong>الاشتراكات المتكررة</strong> بنموذج API أولًا نفسه المستخدم في المدفوعات الفردية: تنشئ اشتراكًا، ونتتبع نحن فترات الفوترة، ويكمل الدافعون كل دورة إما <strong>بفتح رابط دفع</strong> أو عبر <strong>الخصم التلقائي</strong>، حيث يأذنون لنا بسحب العملات المستقرة في كل فترة بعد موافقة واحدة على السلسلة.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-subscriptions-on-orcarail">لماذا الاشتراكات في OrcaRail<a href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/#why-subscriptions-on-orcarail" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان لماذا الاشتراكات في OrcaRail" title="إرتباط مُبـاشر بالعنوان لماذا الاشتراكات في OrcaRail" translate="no">​</a></h2>
<p>الاشتراكات مخصصة لمنصات SaaS والعضويات وعقود الأتعاب الدورية وأي منتج يُفوتر على <strong>فترة ثابتة</strong> (يوم، أسبوع، شهر، سنة)، مع فترات تجريبية وحدود للدورات وقواعد إلغاء اختيارية. تستخدم <a class="" href="https://docs.orcarail.com/ar/docs/authentication/overview/">مصادقة المدفوعات</a> نفسها المستخدمة في بقية المنصة، ويمكنك التفاعل مع أحداث دورة الحياة عبر <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/webhooks/">webhooks الاشتراكات</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="two-ways-to-collect-payment-links-vs-auto-charge">طريقتان للتحصيل: روابط الدفع أو الخصم التلقائي<a href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/#two-ways-to-collect-payment-links-vs-auto-charge" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان طريقتان للتحصيل: روابط الدفع أو الخصم التلقائي" title="إرتباط مُبـاشر بالعنوان طريقتان للتحصيل: روابط الدفع أو الخصم التلقائي" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>send_payment_link</code></strong> (افتراضي): في كل دورة فوترة يحصل الدافع على <strong>رابط دفع</strong> (بالبريد الإلكتروني و/أو عبر التدفق المستضاف). يدفع عند فتح الرابط، وهي طريقة مألوفة في الدفع بالكريبتو ويسهل دمجها مع مسارات Relay واختيار المحفظة.</li>
<li class=""><strong><code>auto_charge</code></strong>: <strong>يأذن الدافع مسبقًا</strong> لـ <strong>المحفظة الساخنة (hot wallet)</strong> الخاصة بـ OrcaRail بسحب مبلغ الفترة عند كل تجديد. بعد الإعداد، لا تتطلب التجديدات أن ينقر الدافع على رابط جديد كل مرة، طالما بقي الرصيد والتفويض صالحين.</li>
</ul>
<p>أنشئ طريقة التحصيل واضبطها عبر <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/create-subscription/"><code>POST /api/v1/subscriptions</code></a>؛ واسرد الاشتراكات وحدّثها وأوقفها مؤقتًا وألغِها عبر <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/manage-subscriptions/">إدارة الاشتراكات</a>. الحقول الكاملة للطلب والأمثلة موجودة في تلك الأدلة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="auto-charge-how-we-handle-it">الخصم التلقائي: كيف نتعامل معه<a href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/#auto-charge-how-we-handle-it" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الخصم التلقائي: كيف نتعامل معه" title="إرتباط مُبـاشر بالعنوان الخصم التلقائي: كيف نتعامل معه" translate="no">​</a></h2>
<ol>
<li class="">ينشئ <strong>التاجر</strong> اشتراكًا مع <code>collection_method: "auto_charge"</code> والحقول المعتادة <code>amount</code> و<code>interval</code> و<code>token_id</code> و<code>network_id</code> وبيانات الاتصال بالدافع.</li>
<li class="">يفتح <strong>الدافع</strong> صفحة الاشتراك أو تجربة دفع الدورة الأولى. يرى <strong>النطاق الإجمالي للموافقة</strong> (مثل مجموع الرسوم القادمة التي تطلب منه تغطيتها) ويوقّع تفويضًا على السلسلة:<!-- -->
<ul>
<li class="">على شبكات <strong>EVM</strong> يكون ذلك <strong><code>approve(spender, amount)</code></strong> قياسيًا من ERC-20 مع محفظتنا الساخنة بصفتها spender.</li>
<li class="">على <strong>سولانا</strong> تكون الخطوة المقابلة <strong>تفويض رمز SPL (delegation)</strong> بمبلغ فترة واحدة على الأقل لمحفظتنا الساخنة على سولانا.</li>
</ul>
</li>
<li class="">يستدعي <strong>الدافع</strong> نقطة النهاية العامة <strong><code>POST /api/v1/subscriptions/:id/approve-auto-charge</code></strong> مع <strong>تجزئة (hash) معاملة</strong> الـ allowance (أو التفويض) و**<code>payer_wallet_address</code>** و**<code>payer_network_id</code>** و**<code>payer_token_id</code>**. لا يلزم مفتاح API الخاص بالتاجر، فالدافع يثبت نيته بتوقيعه معاملة السلسلة.</li>
<li class=""><strong>تتحقق OrcaRail على السلسلة</strong> من أن الـ allowance أو التفويض يغطي <strong>دورة فوترة واحدة على الأقل</strong> للمحفظة الساخنة المتوقعة قبل وسم الخصم التلقائي بأنه <strong>معتمد</strong>. قبل كل سحب يمكننا إعادة التحقق من التفويض حتى لا تُخلط مشكلات RPC العابرة بإلغاء الـ allowance.</li>
<li class=""><strong>في كل دورة فوترة</strong>، تحاول عملية الفوترة تنفيذ <strong>السحب</strong> (في EVM تدفق من نوع <code>transferFrom</code> من الدافع إلى التسوية؛ وفي سولانا يُستخدم الرصيد المفوَّض). عند النجاح تتقدم الفترة؛ وعند الفشل المتكرر (مثل عدم كفاية الرصيد أو إلغاء الموافقة) قد ينتقل الاشتراك إلى <strong><code>past_due</code></strong> ويُبلَّغ الدافع. يمكنك الاستماع إلى webhooks مثل <code>subscription.payment_link.payment_failed</code> أو <code>subscription.past_due</code> كما هو موضح في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a> و<a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/webhooks/">webhooks</a>.</li>
</ol>
<p><strong>الإلغاء والبديل:</strong> إذا ألغى الدافع التفويض على السلسلة، تفشل عمليات السحب اللاحقة. ويمكنه أيضًا استدعاء <strong><code>POST .../revoke-auto-charge</code></strong> بعد الإلغاء لنسجّل الحالة ونحوّل التحصيل إلى <strong><code>send_payment_link</code></strong>، مع إرشادات بالبريد الإلكتروني لإدارة الاشتراك والدفع عبر الروابط مجددًا. التفاصيل في <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a> و<a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/manage-subscriptions/">إدارة الاشتراكات</a>.</p>
<p><strong>الأمان والوضوح:</strong> تُستخدم في السحب المحفظة التي أكملت الموافقة فقط؛ ونعرض مجاميع وأعداد دورات واضحة ليعرف الدافعون ما الذي أذنوا به. في الخطط الطويلة جدًا أو المفتوحة، فكّر في وضع سقف للمبالغ المعتمدة وتجديد الموافقة دوريًا، أو البقاء على روابط الدفع؛ راجع <a class="" href="https://docs.orcarail.com/ar/docs/subscriptions/auto-charge/">الخصم التلقائي</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="multichain-how-it-fits-subscriptions">تعدد الشبكات: كيف يتكامل مع الاشتراكات<a href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/#multichain-how-it-fits-subscriptions" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تعدد الشبكات: كيف يتكامل مع الاشتراكات" title="إرتباط مُبـاشر بالعنوان تعدد الشبكات: كيف يتكامل مع الاشتراكات" translate="no">​</a></h2>
<ul>
<li class=""><strong>مرجع التاجر:</strong> يُنشأ كل اشتراك مع <strong><code>network_id</code></strong> و**<code>token_id</code>** يحددان كيفية تسعير الاشتراك وتسويته في API، أي الشبكة والأصل «الأساسيين» لتلك الخطة.</li>
<li class=""><strong>سياق الدافع في الخصم التلقائي:</strong> يخزّن الخصم التلقائي <strong><code>payer_network_id</code></strong> و**<code>payer_token_id</code>**، وهما الشبكة والرمز اللذان ضبط عليهما الدافع الـ allowance أو التفويض فعليًا. قد يختلفان عن الحقول الأساسية للاشتراك عندما يموّل الدافع من شبكة أو أصل مدعوم آخر، بما يتسق مع طريقة تحديد عروض الأسعار وصفحة الدفع لمسارات جهة الدافع.</li>
<li class=""><strong>تغطية متوافقة مع Relay:</strong> تبقى الشبكات والعملات المدعومة متوافقة مع <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay</a></strong>؛ وعندما يوسّع Relay الشبكات والرموز، تتبعه قائمتنا. لخّصنا هذا النموذج في <a class="" href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/">الشبكات والعملات المدعومة: بتقنية Relay</a>.</li>
<li class=""><strong>وجهة العائدات:</strong> يضبط التجار <strong>عناوين السحب لكل نوع شبكة</strong> (ويمكنهم التجاوز لكل دفعة حيث يكون ذلك مدعومًا). للصورة الكاملة عن السحوبات متعددة الشبكات وتعدد العناوين لكل شبكة، راجع <a class="" href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/">OrcaRail متعددة الشبكات: السحوبات والتوافق مع Relay</a>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الملخص<a href="https://docs.orcarail.com/ar/blog/subscriptions-autocharge-multichain/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<table><thead><tr><th>الموضوع</th><th>سلوك OrcaRail</th></tr></thead><tbody><tr><td><strong>التحصيل</strong></td><td><code>send_payment_link</code> لكل دورة، أو <code>auto_charge</code> مع موافقة على السلسلة</td></tr><tr><td><strong>الخصم التلقائي</strong></td><td>approve من ERC-20 على EVM أو delegate من SPL على سولانا ← API موافقة عامة ← تحقق على السلسلة ← سحب لكل دورة، مع <code>past_due</code> وwebhooks عند الفشل</td></tr><tr><td><strong>الإلغاء</strong></td><td>إلغاء على السلسلة + <code>revoke-auto-charge</code> اختياري؛ إمكانية الرجوع إلى روابط الدفع</td></tr><tr><td><strong>تعدد الشبكات</strong></td><td><code>network_id</code> / <code>token_id</code> للاشتراك؛ موافقة الدافع تخزّن <code>payer_network_id</code> / <code>payer_token_id</code>؛ شبكات متوافقة مع Relay؛ سحوبات لكل نوع شبكة</td></tr></tbody></table>
<p>تجمع الاشتراكات في OrcaRail بين <strong>موارد REST للاشتراكات</strong> و<strong>تفويض غير احتجازي من الدافع</strong> للخصم التلقائي ومدفوعات <strong>متعددة الشبكات</strong>، دون التخلي عن تجربة الدفع المستضافة وواجهات API التي تستخدمها أصلًا للمدفوعات الفردية.</p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">التوثيق</a></strong> · <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Payments" term="Payments"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Web3" term="Web3"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Subscriptions" term="Subscriptions"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[الشبكات والعملات المدعومة: بتقنية Relay وتُحدَّث تلقائيًا]]></title>
        <id>https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/</id>
        <link href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/"/>
        <updated>2026-03-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[تأتي الشبكات والعملات المدعومة في OrcaRail من Relay Link وتبقى متزامنة تلقائيًا؛ عندما يضيف Relay شبكات أو رموزًا، نحصل عليها نحن أيضًا.]]></summary>
        <content type="html"><![CDATA[<p><strong>15 مارس 2026</strong> — تستخدم OrcaRail <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay Link</a></strong> للمدفوعات والجسور بين الشبكات. لذلك ندعم <strong>الشبكات والعملات</strong> نفسها التي يدعمها Relay، وهي <strong>تُدمج تلقائيًا</strong>. لا توجد قائمة ثابتة تحتاج إلى صيانة؛ عندما يضيف Relay شبكات ورموزًا أو يحدّثها، يلتقطها نظامنا.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="where-the-list-comes-from">من أين تأتي القائمة<a href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/#where-the-list-comes-from" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان من أين تأتي القائمة" title="إرتباط مُبـاشر بالعنوان من أين تأتي القائمة" translate="no">​</a></h2>
<p>لا نحتفظ بقائمة منفصلة منسّقة يدويًا للشبكات والرموز المدعومة. بدلًا من ذلك:</p>
<ul>
<li class="">تُزامَن <strong>الشبكات</strong> من <strong>Chains API</strong> الخاصة بـ Relay (<a href="https://api.relay.link/chains" target="_blank" rel="noopener noreferrer" class="">api.relay.link/chains</a> للشبكة الرئيسية، إضافةً إلى الشبكات التجريبية). تبني عملية الـ seed لدينا سجلات الشبكات من بيانات Relay، بما في ذلك أنواع الشبكات EVM وبيتكوين وسولانا حيث يدعمها Relay.</li>
<li class="">تُزامَن <strong>العملات والرموز</strong> من <strong>Currencies v2 API</strong> الخاصة بـ Relay (<a href="https://docs.relay.link/references/api/get-currencies-v2" target="_blank" rel="noopener noreferrer" class="">get-currencies-v2</a>). تُدرج الرموز أو تُحدَّث لكل شبكة، فتحصل كل شبكة على المجموعة الصحيحة من الأصول القابلة للدفع والقابلة للنقل عبر الجسور.</li>
</ul>
<p>عندما يضيف Relay شبكة أو عملة جديدة، تجلبها عملية الـ seed/التحديث لدينا. تحصل على <strong>توافق تلقائي</strong> مع تغطية Relay دون أي عمل تكامل إضافي من جانبك.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-support-means">ماذا يعني «مدعوم»<a href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/#what-support-means" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ماذا يعني «مدعوم»" title="إرتباط مُبـاشر بالعنوان ماذا يعني «مدعوم»" translate="no">​</a></h2>
<p>تتبع المدفوعات و(عند الحاجة) الجسور <strong>المسارات التي يدعمها Relay</strong>. يدعم Relay حاليًا <strong>أكثر من 69 شبكة بلوكتشين</strong> ضمن:</p>
<ul>
<li class="">شبكات <strong>EVM</strong> (Ethereum وBase وPolygon وArbitrum وOptimism وغيرها الكثير)</li>
<li class=""><strong>بيتكوين</strong></li>
<li class=""><strong>سولانا</strong> (SVM)</li>
<li class=""><strong>ترون</strong></li>
</ul>
<p>يمكن أن يكون دعم الرموز على كل شبكة <strong>"All"</strong> (الرموز التي تتوفر لها سيولة Solver أو DEX) أو <strong>"Limited"</strong> (فقط الرموز المدرجة مع <code>supportsBridging: true</code>). للاطلاع على المرجع الرسمي للمسارات ودعم الرموز، راجع توثيق Relay:</p>
<ul>
<li class=""><a href="https://docs.relay.link/references/api/api_resources/supported-routes" target="_blank" rel="noopener noreferrer" class="">Supported Tokens &amp; Routes</a> — كيفية التحقق من دعم مسار ما</li>
<li class=""><a href="https://docs.relay.link/references/api/api_resources/contract-addresses" target="_blank" rel="noopener noreferrer" class="">Contract Addresses</a> — عناوين الـ solvers والعقود لكل شبكة</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-to-see-what-orcarail-supports">كيف ترى ما تدعمه OrcaRail<a href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/#how-to-see-what-orcarail-supports" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان كيف ترى ما تدعمه OrcaRail" title="إرتباط مُبـاشر بالعنوان كيف ترى ما تدعمه OrcaRail" translate="no">​</a></h2>
<p>استخدم واجهة API لدينا للحصول على المجموعة الحالية من الشبكات والرموز المتاحة في OrcaRail:</p>
<ul>
<li class=""><strong>الشبكات:</strong> <code>GET /payments/networks</code> — يسرد جميع الشبكات المدعومة (يمكنك التصفية بـ <code>?active=true</code>).</li>
<li class=""><strong>الرموز لكل شبكة:</strong> <code>GET /payments/networks/:id/tokens</code> — يسرد رموز شبكة معينة (استخدم <code>id</code> الشبكة من القائمة أعلاه).</li>
<li class=""><strong>العملات الورقية/عملات العرض:</strong> <code>GET /price/currencies</code> — يسرد العملات الورقية المدعومة للتسعير وعروض الأسعار.</li>
</ul>
<p>التفاصيل الكاملة في توثيق <a class="" href="https://docs.orcarail.com/ar/docs/api-reference/payments/#list-networks">Payments API – سرد الشبكات / سرد الرموز</a> و<a class="" href="https://docs.orcarail.com/ar/docs/api-reference/price/#list-currencies">Price API – سرد العملات</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الملخص<a href="https://docs.orcarail.com/ar/blog/supported-networks-currencies-relay/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<table><thead><tr><th>المصدر</th><th>ما نزامنه</th><th>كيف يُحدَّث</th></tr></thead><tbody><tr><td><strong>الشبكات</strong></td><td>من Chains API الخاصة بـ Relay</td><td>عبر seed الشبكات؛ تظهر الشبكات الجديدة</td></tr><tr><td><strong>العملات/الرموز</strong></td><td>من Currencies v2 الخاصة بـ Relay، لكل شبكة</td><td>عبر seed الرموز؛ تظهر الرموز الجديدة</td></tr><tr><td><strong>تغطية Relay</strong></td><td>أكثر من 69 شبكة: EVM + بيتكوين + سولانا + ترون</td><td>Relay هو مصدر الحقيقة؛ ونحن نتبعه</td></tr></tbody></table>
<p>الشبكات والعملات المدعومة في OrcaRail <strong>تعمل بتقنية Relay وتُحدَّث تلقائيًا</strong>: تكامل واحد، وشبكات كثيرة.</p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">التوثيق</a></strong> · <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Payments" term="Payments"/>
        <category label="Crypto" term="Crypto"/>
        <category label="Web3" term="Web3"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[OrcaRail متعددة الشبكات: عدة عناوين سحب لكل شبكة وتوافق مع Relay]]></title>
        <id>https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/</id>
        <link href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/"/>
        <updated>2026-03-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[تعمل OrcaRail على شبكات متعددة وتدعم عدة عناوين سحب لكل شبكة. لا ندعم بيتكوين أو سولانا بعد؛ يدعمهما Relay، ونحن كذلك من خلال التوافق وخارطة الطريق.]]></summary>
        <content type="html"><![CDATA[<p><strong>5 مارس 2026</strong> — صُممت OrcaRail لتكون <strong>متعددة الشبكات من الأساس</strong>. إليك صورة واضحة لما ندعمه اليوم، وكيف تعمل السحوبات على كل شبكة، وكيف نتوافق مع Relay بشأن بيتكوين وسولانا.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="multichain-not-every-chain-yet">متعددة الشبكات، لكن ليس كل الشبكات (بعد)<a href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/#multichain-not-every-chain-yet" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان متعددة الشبكات، لكن ليس كل الشبكات (بعد)" title="إرتباط مُبـاشر بالعنوان متعددة الشبكات، لكن ليس كل الشبكات (بعد)" translate="no">​</a></h2>
<p>بُنيت OrcaRail اليوم <strong>للشبكات المتوافقة مع EVM</strong>. نحن <strong>لا</strong> ندعم <strong>بيتكوين</strong> أو <strong>سولانا</strong> (أو الرموز الأصلية على سولانا) كشبكات أساسية في تدفقات الدفع والسحب. هذا يُبقي نطاق التكامل مركّزًا وواجهات API متسقة بينما نتوسع.</p>
<p>إذا كانت بنيتك تعتمد على Ethereum أو Base أو Polygon أو Arbitrum أو Optimism أو غيرها من شبكات EVM من الطبقة الأولى أو الثانية، فلديك تكامل واحد ومجموعة توثيق واحدة. لا توجد تدفقات منفصلة لبيتكوين أو سولانا، حاليًا.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="multiple-withdrawal-addresses-per-chain-type">عدة عناوين سحب لكل نوع شبكة<a href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/#multiple-withdrawal-addresses-per-chain-type" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان عدة عناوين سحب لكل نوع شبكة" title="إرتباط مُبـاشر بالعنوان عدة عناوين سحب لكل نوع شبكة" translate="no">​</a></h2>
<p>في السحوبات تظهر القيمة الحقيقية لتعدد الشبكات. يمكنك في OrcaRail ضبط <strong>عدة عناوين سحب لكل نوع شبكة</strong>.</p>
<ul>
<li class=""><strong>تحكم لكل شبكة:</strong> عيّن وجهة افتراضية مختلفة (أو مجموعة عناوين) لـ Ethereum وBase وPolygon وغيرها، لتصل الأموال إلى حيث تريد على كل شبكة.</li>
<li class=""><strong>تجاوز لكل دفعة:</strong> عند إنشاء payment intent يمكنك تمرير <code>withdrawal_address</code> لتوجيه تلك الدفعة تحديدًا إلى بائع أو خزينة على الشبكة الصحيحة.</li>
<li class=""><strong>دون عنق زجاجة واحد:</strong> أدِر الأسواق الإلكترونية أو منصات SaaS أو الهياكل متعددة الكيانات دون إجبار كل شيء على المرور عبر شبكة واحدة أو عنوان واحد.</li>
</ul>
<p>إذن: تعدد الشبكات يعني شبكات متعددة و<strong>عدة وجهات سحب لكل شبكة</strong>، وكلها قابلة للضبط من لوحة التحكم وعبر API.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="relay-supports-bitcoin-and-solanaand-so-do-we-on-the-roadmap">Relay يدعم بيتكوين وسولانا، ونحن كذلك (ضمن خارطة الطريق)<a href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/#relay-supports-bitcoin-and-solanaand-so-do-we-on-the-roadmap" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان Relay يدعم بيتكوين وسولانا، ونحن كذلك (ضمن خارطة الطريق)" title="إرتباط مُبـاشر بالعنوان Relay يدعم بيتكوين وسولانا، ونحن كذلك (ضمن خارطة الطريق)" translate="no">​</a></h2>
<p>يدعم <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay</a></strong> <strong>بيتكوين</strong> و<strong>سولانا</strong> (ورموزهما) ضمن تغطيته متعددة الشبكات. بُنيت OrcaRail لتتوافق مع نموذج Relay: رابط واحد، وشبكات كثيرة.</p>
<p>لا ندعم بيتكوين أو سولانا <em>اليوم</em>، لكن بنيتنا وخارطة طريقنا مصممتان بحيث <strong>عندما نضيفهما يبقى المنتج نفسه</strong>: واجهات API نفسها، ونموذج السحب نفسه (عدة عناوين لكل شبكة)، ولوحة التحكم نفسها. ونعني بـ«ونحن كذلك» أننا ملتزمون بالرؤية متعددة الشبكات نفسها التي يجسدها Relay، بما في ذلك بيتكوين وسولانا، وأننا نتوسع في هذا الاتجاه.</p>
<p>وحتى ذلك الحين، تحصل على تجربة مستقرة متعددة الشبكات تعتمد EVM أولًا، مع تحكم كامل في وجهة الأموال على كل شبكة مدعومة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="summary">الملخص<a href="https://docs.orcarail.com/ar/blog/orcarail-multichain-withdrawals-relay/#summary" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الملخص" title="إرتباط مُبـاشر بالعنوان الملخص" translate="no">​</a></h2>
<table><thead><tr><th>المجال</th><th>OrcaRail اليوم</th></tr></thead><tbody><tr><td><strong>الشبكات</strong></td><td>متوافقة مع EVM (Ethereum وBase وPolygon وArbitrum وOptimism وغيرها)</td></tr><tr><td><strong>بيتكوين / سولانا</strong></td><td>غير مدعومة بعد؛ متوافقة مع دعم Relay ضمن خارطة الطريق</td></tr><tr><td><strong>السحوبات</strong></td><td>عدة عناوين سحب لكل نوع شبكة؛ التجاوز لكل دفعة مدعوم</td></tr><tr><td><strong>Relay</strong></td><td>فلسفة تعدد الشبكات نفسها؛ نوسّع دعم الشبكات بما يتماشى مع Relay (بيتكوين وسولانا وما بعدهما)</td></tr></tbody></table>
<p>تعدد الشبكات في OrcaRail يعني: <strong>شبكات EVM كثيرة الآن، وعدة عناوين سحب لكل شبكة، ومسارًا نحو بيتكوين وسولانا بالتوازي مع Relay.</strong></p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">التوثيق</a></strong> · <strong><a href="https://relay.link/" target="_blank" rel="noopener noreferrer" class="">Relay</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Payments" term="Payments"/>
        <category label="Crypto" term="Crypto"/>
        <category label="Web3" term="Web3"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[انطلاق OrcaRail: بنية دفع كريبتو مفتوحة ومتعددة الشبكات]]></title>
        <id>https://docs.orcarail.com/ar/blog/orcarail-born/</id>
        <link href="https://docs.orcarail.com/ar/blog/orcarail-born/"/>
        <updated>2026-01-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[تضع OrcaRail العملات المستقرة أولًا وتعمل على شبكات متعددة، بأسعار شفافة للنسخة المستضافة (0.5% بعد أول 1,000 معاملة مجانية) وخيار استضافة ذاتية مجاني. اقبل الدفع بالعملات الرقمية عبر واجهات API وwebhooks متوقعة للمطورين.]]></summary>
        <content type="html"><![CDATA[<p><strong>1 يناير 2026</strong> — يسعدنا اليوم أن نعلن إطلاق <strong>OrcaRail</strong>.</p>
<p>بُنيت OrcaRail بمساعدة الذكاء الاصطناعي وانطلاقًا من قناعة واحدة: <strong>يجب أن تكون مدفوعات الكريبتو مفتوحة وشفافة ومتاحة على جميع الشبكات.</strong> لفترة طويلة اضطر التجار والمطورون إلى الاختيار بين أدوات مفتوحة المصدر معقدة وغير مُصانة، أو بوابات دفع مغلقة ومكلفة تحبسك داخل منظومتها وتفرض رسومًا مرتفعة.</p>
<p>بنينا OrcaRail لكسر هذا النمط. OrcaRail <strong>منصة دفع متعددة الشبكات</strong> تربط منطق الأعمال في Web2 بالتسوية في Web3، إما <strong>مستضافة</strong> بتسعير بسيط قائم على النسبة المئوية وباقة مجانية سخية، أو <strong>باستضافة ذاتية</strong> لسيادة كاملة.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-philosophy-a-transparent-public-good">الفلسفة: منفعة عامة شفافة<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#the-philosophy-a-transparent-public-good" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان الفلسفة: منفعة عامة شفافة" title="إرتباط مُبـاشر بالعنوان الفلسفة: منفعة عامة شفافة" translate="no">​</a></h2>
<p>نؤمن بأن البنية المالية للإنترنت يجب أن تكون <strong>منفعة عامة</strong>. تكلّف <strong>OrcaRail المستضافة</strong> <strong>0.5% من كل معاملة مكتملة</strong>، مع <strong>أول 1,000 معاملة مجانًا</strong>، حتى نتمكن من تشغيل بنية تحتية موثوقة مع البقاء في متناول المطورين. أما <strong>OrcaRail بالاستضافة الذاتية</strong> فهي <strong>مجانية</strong> من رسوم برمجيات OrcaRail: انشرها على أجهزتك وادفع فقط تكلفة بنيتك التحتية. حِزم SDK الرسمية وMCP والإضافات مرخّصة بموجب MIT.</p>
<p>يمكن أن تتضمن عروض الأسعار لكل دفعة <strong>بنودًا اختيارية</strong> تتحكم بها، مثل <strong>رسوم دعم</strong> قابلة للضبط (نسبة مئوية) و<strong>عمولة</strong> على مفاتيح API، إضافةً إلى <strong>رسوم الجسر</strong> عند التوجيه بين الرموز أو الشبكات. هذه البنود موثقة في أدلة <a class="" href="https://docs.orcarail.com/ar/docs/fees-and-limits/overview/">الرسوم والحدود</a>، وهي منفصلة عن سعر المنصة المستضافة.</p>
<p>بالبقاء <strong>مفتوحي المصدر</strong> وإتاحة تحسين المنتج للمجتمع، نهدف إلى بنية دفع <strong>غير احتجازية</strong> وعالية الأداء بمخاطر طرف مقابل أقل من البوابات المغلقة، <strong>شفافة من الأساس</strong>.</p>
<p>سواء استخدم المطورون OrcaRail المستضافة أو استضافوها ذاتيًا أو جمعوا بين الاثنين، يمكننا معًا مواجهة منظومات الدفع المغلقة المبهمة ذات الرسوم المرتفعة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-developer-experience-familiar-payment-primitives">تجربة المطور: مفاهيم دفع مألوفة<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#the-developer-experience-familiar-payment-primitives" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان تجربة المطور: مفاهيم دفع مألوفة" title="إرتباط مُبـاشر بالعنوان تجربة المطور: مفاهيم دفع مألوفة" translate="no">​</a></h2>
<p>إذا كنت تعرف كيف تربط معالجات الدفع التقليدية في Web2، فأنت تعرف كيف تستخدم OrcaRail. صممنا البنية لتمنحك حالات متوقعة وتدفقات قابلة للتدقيق وwebhooks آمنة عند إعادة المحاولة.</p>
<ul>
<li class=""><strong>العملات المستقرة أولًا:</strong> سعّر منتجاتك بالعملات الورقية (USD/EUR) وسوِّ فورًا بـ USDC أو USDT. تخلّص من مخاطر التقلب لعملك وقدّم لعملائك تجربة دفع سلسة.</li>
<li class=""><strong>صفحة دفع جاهزة:</strong> استخدم روابط الدفع المستضافة والأدوات القابلة للتضمين والواجهات المتوافقة مع WalletConnect لتقديم تجربة استخدام نظيفة.</li>
<li class=""><strong>Webhooks وعدم التكرار (Idempotency):</strong> أبقِ قاعدة بياناتك متزامنة تمامًا مع ما يحدث على السلسلة. يرسل نظامنا أحداثًا موثوقة للحالات <code>succeeded</code> و<code>processing</code> و<code>canceled</code> مع إعادة محاولة تلقائية.</li>
<li class=""><strong>Node.js SDK وREST API:</strong> ابنِ مرة واحدة واتصل في كل مكان.<!-- -->
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">npm install @orcarail/node</span><br></div></code></pre></div></div>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="multi-chain-and-multi-token-native">دعم أصيل لشبكات ورموز متعددة<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#multi-chain-and-multi-token-native" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان دعم أصيل لشبكات ورموز متعددة" title="إرتباط مُبـاشر بالعنوان دعم أصيل لشبكات ورموز متعددة" translate="no">​</a></h2>
<p>عالم Web3 مجزأ، لكن بوابة الدفع الخاصة بك لا ينبغي أن تكون كذلك. تحصل على تكامل واحد يعمل بسلاسة عبر الشبكات.</p>
<p>تدعم OrcaRail حاليًا <strong>الشبكات المتوافقة مع EVM</strong> مباشرةً. لكننا لن نتوقف هنا: <strong>جميع الشبكات التي يدعمها Relay في الطريق.</strong> تساعد تقنية التوجيه الذكي لدينا على اختيار الشبكة الأسرع أو الأقل رسومًا لكل دفعة تلقائيًا، حتى لا يترك عملاؤك سلة التسوق بسبب رسوم غاز باهظة.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="dynamic-withdrawals-built-for-saas--marketplaces">سحوبات ديناميكية: مصممة لمنصات SaaS والأسواق الإلكترونية<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#dynamic-withdrawals-built-for-saas--marketplaces" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان سحوبات ديناميكية: مصممة لمنصات SaaS والأسواق الإلكترونية" title="إرتباط مُبـاشر بالعنوان سحوبات ديناميكية: مصممة لمنصات SaaS والأسواق الإلكترونية" translate="no">​</a></h2>
<p>الأعمال الرقمية الحديثة معقدة. سواء كنت تدير منصة SaaS أو سوقًا متعدد البائعين أو تطبيقًا لاقتصاد صنّاع المحتوى، فإن توجيه الأموال يدويًا كابوس. تحل OrcaRail ذلك بشكل أصيل:</p>
<ul>
<li class=""><strong>توجيه لكل دفعة:</strong> مرّر <code>withdrawal_address</code> عند إنشاء payment intent. عندما يدفع العميل، تُوجَّه الأموال تلقائيًا مباشرةً إلى محفظة ذلك البائع.</li>
<li class=""><strong>وجهة افتراضية:</strong> في الإعدادات الأبسط، احذف العنوان ودَع الأموال تُسوّى في العنوان الافتراضي لحسابك.</li>
<li class=""><strong>تقسيم العمولات:</strong> تدير منصة؟ حدّد نسبة عمولة على مفاتيح API. تحصل على حصة منصتك من كل معاملة، تُحسب بوضوح في صفحة الدفع وتُرسل تلقائيًا إلى عنوان السحب الخاص بك.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next-on-the-roadmap">ما التالي في خارطة الطريق؟<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#whats-next-on-the-roadmap" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان ما التالي في خارطة الطريق؟" title="إرتباط مُبـاشر بالعنوان ما التالي في خارطة الطريق؟" translate="no">​</a></h2>
<p>هذا مجرد اليوم الأول. ومع نمونا، يزداد التزامنا بمنظومة مفتوحة عمقًا:</p>
<ol>
<li class=""><strong>توسيع دعم الشبكات:</strong> إطلاق سريع لدعم الشبكات غير المتوافقة مع EVM عبر التكامل مع Relay.</li>
<li class=""><strong>الاستضافة الذاتية:</strong> انشر على بنيتك التحتية لتحقيق السيادة والخصوصية، دون أي رسوم برمجيات لكل معاملة منّا.</li>
<li class=""><strong>أدوات امتثال متقدمة:</strong> حقول بيانات وصفية اختيارية وتكاملات لسير عمل KYT/KYC بسلاسة.</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="try-it-feel-the-difference">جرّبها: اشعر بالفرق<a href="https://docs.orcarail.com/ar/blog/orcarail-born/#try-it-feel-the-difference" class="hash-link" aria-label="إرتباط مُبـاشر بالعنوان جرّبها: اشعر بالفرق" title="إرتباط مُبـاشر بالعنوان جرّبها: اشعر بالفرق" translate="no">​</a></h2>
<p>ندعوك لتكتشف كم يمكن أن تكون مدفوعات الكريبتو سهلة.</p>
<ul>
<li class="">🚀 <strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">ابدأ البناء</a></strong> — أنشئ حسابًا، وولّد مفتاح API، وأنشئ أول رابط دفع في أقل من دقيقتين.</li>
<li class="">🎮 <strong><a href="https://demo.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">جرّب العرض التوضيحي المباشر</a></strong> — اختبر التدفق الكامل من إنشاء الـ intent حتى التأكيد عبر webhook.</li>
<li class="">📖 <strong><a href="https://docs.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">اقرأ التوثيق</a></strong> — استكشف مرجع API وأدلة SDK ونظرة عامة على البنية.</li>
</ul>
<p><em>يجب أن يكون المستقبل مفتوحًا وشفافًا. لنبنِه معًا.</em></p>
<hr>
<p><strong><a href="https://app.orcarail.com/" target="_blank" rel="noopener noreferrer" class="">تطبيق OrcaRail</a></strong> · <strong><a href="https://github.com/orcarail/orcarail" target="_blank" rel="noopener noreferrer" class="">GitHub</a></strong> · <strong><a href="https://docs.orcarail.com/ar/blog/orcarail-born/#" class="">X/Twitter</a></strong></p>]]></content>
        <author>
            <name>OrcaRail</name>
            <uri>https://orcarail.com</uri>
        </author>
        <category label="Announcement" term="Announcement"/>
        <category label="Crypto" term="Crypto"/>
        <category label="Payments" term="Payments"/>
        <category label="Open Source" term="Open Source"/>
        <category label="Multi-Chain" term="Multi-Chain"/>
        <category label="Stablecoins" term="Stablecoins"/>
        <category label="Web3" term="Web3"/>
    </entry>
</feed>