الانتقال إلى المحتوى الرئيسي
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →

نموذج الرسوم

يستخدم Stable AMM نفس هيكل الرسوم الخاص بـ AMM v4. يوجد فئة رسوم واحدة فقط لكل مجموعة (يتم تعيينها عند الإنشاء)؛ لا يمكن إعادة تكوين المجموعات إلى فئات أعلى.
الحقلالقيمة الافتراضيةالمعنى
swap_fee_numerator / swap_fee_denominator25 / 10_000إجمالي رسم التداول: 0.25% من حجم الإدخال.
trade_fee_numerator / trade_fee_denominator25 / 10_000نفس 0.25%؛ حقل قديم كان يُستخدم سابقًا لتسعير أوامر OpenBook، محفوظ لتوافق التخطيط.
pnl_numerator / pnl_denominator12 / 100حصة البروتوكول من الرسم: 12% — أي 0.25% × 12% = 0.03% من الحجم.
min_separate_numerator / min_separate_denominator4 / 10_000حد التقريب الداخلي.
لا توجد رسم صندوق ولا رسم منشئ — هذه اختراعات لاحقة لـ AMM v4 (CPMM/CLMM). يسبق Stable AMM هذه الاتفاقية.

كيفية حساب التقسيم

في كل عملية مبادلة:
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // مثلاً، 0.25% من amount_in
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // 12% من gross_fee
lp_portion = gross_fee − pnl_portion                                          // 88% من gross_fee
  • lp_portion تبقى في الخزينة، تزيد k، وتفيد LPs عند الاسترجاع.
  • pnl_portion تزيد AmmInfo.out_put.need_take_pnl_coin أو need_take_pnl_pc (حسب رمز الإدخال) ويتم مسحها بواسطة WithdrawPnl.
نفس خدعة الحفاظ على الثابت مثل CPMM: مبلغ PnL يجلس في الخزينة فعليًا لكن يتم طرحه من “الاحتياطيات الفعلية” المستخدمة في رياضيات المنحنى، لذا إزالته لا تغير السعر.

OpenBook PnL (متقاعد)

في بداية حياتها، كانت المجموعة تنشر أيضًا أوامر محدودة على OpenBook؛ عند ملء تلك الأوامر، كانت تكسب أو تخسر فارق صانع السوق/المتلقي، يتم تسويته أثناء MonitorStep، ويتم تتبع النتيجة في عدادات out_put.total_pnl_{coin,pc}. هذا المسار كان خامدًا لسنوات — المجموعة لا تحتفظ بأوامر مفتوحة، لذا فإن الرسم الوحيد المتراكم هو حصة البروتوكول 0.03% الموصوفة أعلاه. تبقى عدادات total_pnl_* في التخطيط لكن لم تعد تزداد. أزال ترقية 2026-06-22 الكود المتبقي من OpenBook (بما في ذلك MonitorStep). أصبح CPMM الافتراضي للمجموعات الجديدة جزئيًا بسبب هذا الاقتران السابق مع OpenBook؛ Stable AMM مستقل عن دفتر الأوامر.

التجميع

يستدعي Raydium multisig (أو من يتحكم في amm_admin) WithdrawPnl لمسح:
  1. نقل need_take_pnl_coin و need_take_pnl_pc من الخزائن إلى الحسابات المعينة من قبل المسؤول.
  2. مسح العدادات.
العملية لا تحرك المنحنى. لا يرى LPs أي تغيير في السعر.
تم تغيير WithdrawPnl في ترقية 2026-06-22: يستخدم الآن تخطيط ثابت بـ 10 حسابات، حصري للمسؤول بدون مسار توافق (التخطيطات القديمة تفشل مع أخطاء مثل InvalidTokenCoin)، وعندما تكون الأموال المتاحة في المجموعة غير كافية لتغطية PnL فإنها ترجع TakePnlError مباشرة بدلاً من تعطيل المجموعة. انظر products/stable/instructions.

استرجاع رسوم LP

لا توجد تعليمات مخصصة “لجمع الرسوم”. تتراكم رسوم LP في الخزائن، مما يزيد الاحتياطيات. يحقق LPs قيمتها بحرق LP عبر Withdraw. تنمو قيمة رمز LP مع نمو الاحتياطيات.

التصور: حيث تذهب $1,000 من الحجم

على مبادلة Swap بقيمة $1,000 موجهة نحو USDC مقابل مجموعة Stable بمعاملات افتراضية:
إجمالي رسم التداول (0.25%):     $2.50
  حصة LP   (0.22%):         $2.20  → تبقى في المجموعة، ترفع k
  حصة PnL  (0.03%):         $0.30  → need_take_pnl_pc، يتم مسحها بواسطة WithdrawPnl
يتلقى المستخدم (ناقص المنحنى):  $997.50
قارن مع AMM v4 (متطابق) و CPMM (فئة 0.25%، بدون رسم منشئ): يعطي CPMM LPs $2.10، البروتوكول $0.30، الصندوق $0.10.

جدول المقارنة

Stable AMMAMM v4CPMM index=0
رسم التداول0.25%0.25%0.25%
LP0.22%0.22%0.21%
البروتوكول0.03%0.03%0.03%
الصندوقبدونبدون0.01%
المنشئبدونبدون0 افتراضيًا
المصفوفة الكاملة: reference/fee-comparison.

ملاحظات المدمج

  • الاقتباس: اقرأ دائمًا AmmInfo من السلسلة؛ لا تقم بترميز الرسوم. مع إزالة SetParams الآن، معاملات الرسوم على المجموعات الموجودة فعليًا ثابتة.
  • المنحنى مقابل الرسوم: رسم 0.25% مستقل عما إذا كان المنحنى صيغة (x·y=k في AMM v4) أو جدول بحث (Stable). كلاهما يطبق نفس 0.25% على مبلغ الإدخال.
  • بدون مكافآت: لا تدعم مجموعات Stable انبعاثات المكافآت على المجموعة. تتعامل مزارع النظام البيئي (Farm v3/v5/v6) مع الرهن في مكان آخر.

الخطوات التالية

المصادر:
  • raydium-stable/program/src/state.rs (هيكل Fees)
  • حقول AmmInfo.fees على السلسلة على مجموعات mainnet المباشرة