> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# رسوم AMM v4

> رسم التداول بنسبة 0.25%، وتقسيمه بين مزودي السيولة والبروتوكول، وتوليد الأرباح والخسائر من عمليات OpenBook، وكيفية قيام المسؤول بسحب رسوم البروتوكول المتراكمة.

<Info>
  **هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.**

  [عرض النسخة الإنجليزية →](/products/amm-v4/fees)
</Info>

## الفئة المنشورة الوحيدة

بخلاف CPMM و CLMM، لا يملك AMM v4 **حساب `AmmConfig`**. يتم تخزين الرسوم مباشرة على هيكل `AmmInfo.fees` لكل مجموعة سيولة وتكون ثابتة عند إنشاء المجموعة. القيم الافتراضية التي تغطي جميع مجموعات AMM v4 النشطة فعليًا:

| حقل On-chain                                        | القيمة الافتراضية | المعنى                                                                                                               |
| --------------------------------------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------- |
| `swap_fee_numerator / swap_fee_denominator`         | `25 / 10_000`     | **إجمالي رسم التداول على عمليات المبادلة عبر مسار AMM: 0.25% من حجم الإدخال.**                                       |
| `trade_fee_numerator / trade_fee_denominator`       | `25 / 10_000`     | حقل قديم بعد إزالة OpenBook (كان يُستخدم تاريخيًا لتسعير الأوامر المحدودة). نفس `0.25%` مثل `swap_fee` بشكل افتراضي. |
| `pnl_numerator / pnl_denominator`                   | `12 / 100`        | **حصة البروتوكول من رسم المبادلة: 12%** — أي `0.25% × 12% = 0.03%` من الحجم. تتراكم في عدادات `need_take_pnl_*`.     |
| `min_separate_numerator / min_separate_denominator` | `5 / 10_000`      | حد دقة داخلي يستخدمه منطق تقريب تقسيم الرسوم.                                                                        |

لاحظ أن `pnl_numerator / pnl_denominator` هو كسر **من رسم المبادلة**، وليس من حجم التداول — وهذا مفهوم خاطئ شائع. حصة مزودي السيولة هي المتمم (`88%` من الرسم = `0.22%` من الحجم) وهي ضمنية؛ لا يوجد بسط منفصل "لحصة مزودي السيولة".

تم إنشاء عدد قليل من المجموعات المبكرة برقميات مختلفة؛ اقرأ دائمًا `AmmInfo.fees` قبل الاستشهاد.

لا توجد **رسم صندوق** و**لا رسم منشئ**: هذه اختراعات CPMM/CLMM لم تكن موجودة في نموذج الرسوم الأصلي لـ AMM v4.

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

في كل عملية مبادلة، تفرض المجموعة إجمالي رسم التداول من مبلغ الإدخال، ثم توزع:

```
gross_fee   = ceil(amount_in * swap_fee_numerator / swap_fee_denominator)        // 0.25% of amount_in
pnl_portion = gross_fee * pnl_numerator / pnl_denominator                        // 12% of gross_fee
lp_portion  = gross_fee − pnl_portion                                            // 88% of gross_fee
```

* يتم ترك `lp_portion` في الخزينة ويساهم في `k` التالي. يحصل مزودو السيولة عليه بواسطة استرجاع رموز LP لاحقًا.
* `pnl_portion` يزيد `AmmInfo.state_data.need_take_pnl_coin` أو `need_take_pnl_pc` حسب جانب إدخال المبادلة.

نفس الحيلة الحافظة للثابت مثل CPMM: مبلغ الأرباح والخسائر يجلس فعليًا في الخزينة لكن يتم طرحه من الاحتياطيات المستخدمة في المنحنى، لذا `TakePnl` ينقل الرموز دون تغيير السعر.

## الأرباح والخسائر من OpenBook (تاريخي)

<Note>
  **تم الحذف.** تم إزالة تكامل OpenBook من البرنامج، لذا فإن **تدفق الأرباح والخسائر الثاني** الموصوف في هذا القسم لم يعد يتم إنشاؤه. عدادات `total_pnl_{coin,pc}` الآن حقول مهملة — تحمل قيمًا تاريخية مجمدة ولا يتم تحديثها أبدًا. مسار رسم البروتوكول بنسبة 0.03% (أعلاه) لم يتأثر وما زال نشطًا.
</Note>

تاريخيًا، كان لـ AMM v4 **تدفق إيرادات ثانٍ يشبه الرسوم**: عندما تم ملء أوامره المحدودة على OpenBook، يمكن أن تكون المجموعة على جانب المتلقي من الملء وتكسب أو تدفع فارق صانع السوق/متلقي السوق. تم تسوية أحداث الأرباح والخسائر هذه في خزائن المجموعة أثناء `MonitorStep` وقام البرنامج بإضافتها إلى `state_data.total_pnl_{coin,pc}` كعدادات معلوماتية.

* عندما تم معايرة الشبكة المنشورة للمجموعة بشكل صحيح حول سعر المنحنى، كانت عمليات OpenBook تميل إلى أن تكون **موجبة الرسوم** للمجموعة — كان AMM يعمل بفعالية كصانع سوق على OpenBook ويكسب خصومات صانع السوق.
* عندما توقفت OpenBook أو امتلأت قائمة الأحداث، يمكن أن تجلس المجموعة على أوامر قديمة تم ملؤها بأسعار غير مواتية، مما ينتج عنه أرباح وخسائر سلبية. كان هذا الاقتران التشغيلي أحد الدوافع للابتعاد عن التصميم الهجين.

كانت أرباح وخسائر OpenBook هذه **ليست** نفس رسم البروتوكول بنسبة 0.03%. كانت أرباح وخسائر OpenBook تضخم احتياطيات المجموعة مباشرة (تفيد مزودي السيولة + البروتوكول بما يتناسب مع تقسيم الرسوم)، بينما كان رسم البروتوكول بنسبة 0.03% موسوم بشكل خاص لسحب المسؤول. مع إيقاف جانب OpenBook، فإن الاستحقاق الوحيد اليوم هو 0.25% على عمليات مبادلة AMM وتقسيمه 22/3.

## التجميع

يستدعي المسؤول (متعدد التوقيع Raydium) `WithdrawPnl` لسحب `need_take_pnl_*` إلى حسابات "مالك الأرباح والخسائر" على مستوى المجموعة المكونة على `AmmConfig` للبرنامج (تكوين مختلف بنطاق البرنامج — وليس `AmmConfig` على نمط CPMM لكل مجموعة). السحب:

1. ينقل `need_take_pnl_coin` / `need_take_pnl_pc` من خزائن المجموعة إلى وجهة الأرباح والخسائر.
2. يصفر العدادات.

لا توجد خطوة تسوية OpenBook أخرى. إذا كان رصيد الخزينة غير كافٍ لتغطية الأرباح والخسائر المتراكمة، فإن التعليمات الآن ترجع `TakePnlError` مباشرة. العملية لا تحرك المنحنى — يجب ألا يرى مزودو السيولة أي تغيير في السعر عبر استدعاء `WithdrawPnl`. لاحظ أن تخطيط حساب `WithdrawPnl` تغير في ترقية 2026-07 (انظر [التعليمات](/ar/products/amm-v4/instructions#withdrawpnl-takepnl)).

## استرجاع رسوم مزودي السيولة

لا توجد تعليمات مخصصة "لجمع رسوم مزودي السيولة". تتراكم رسوم مزودي السيولة في الخزائن وتضخم `k` بمرور الوقت؛ يحقق مزودو السيولة عليها بحرق رموز LP عبر `Withdraw`. تنمو قيمة رمز LP بشكل رتيب مع نمو `(coin_reserve_effective, pc_reserve_effective)`.

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

على مبادلة ثقيلة USDC بقيمة \$1,000 مقابل مجموعة بمعاملات افتراضية:

```
Gross trade fee (0.25%):   $2.50
  LP share   (0.22%):       $2.20   → stays in pool, raises k
  PnL share  (0.03%):       $0.30   → need_take_pnl_pc, swept by TakePnl
Remainder sent to user:   $997.50   (minus curve-driven price impact)
```

قارن مع CPMM `AmmConfig[0]` (فئة 0.25%، بدون رسم منشئ): يحصل مزودو السيولة على \$2.10، البروتوكول \$0.30، الصندوق \$0.10. يقدم CPMM خط الصندوق بنحته من ما كان سيكون حصة مزودي السيولة في الفئة المكافئة لـ AMM v4.

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

|                  | AMM v4                               | CPMM `index=0`                                       | CLMM `index=2`             |
| ---------------- | ------------------------------------ | ---------------------------------------------------- | -------------------------- |
| رسم التداول      | 0.25%                                | 0.25%                                                | 0.25%                      |
| مزودو السيولة    | 0.22%                                | 0.21%                                                | يختلف حسب الانبعاثات       |
| البروتوكول       | 0.03%                                | 0.03%                                                | حسب الفئة                  |
| الصندوق          | N/A                                  | 0.01%                                                | حسب الفئة                  |
| المنشئ (اختياري) | N/A                                  | 0 بشكل افتراضي                                       | N/A                        |
| حيث تجلس الرسوم  | خزينة المجموعة + need\_take\_pnl\_\* | خزينة المجموعة + protocol\_fees\_\* + fund\_fees\_\* | عام + لكل علامة + لكل موضع |

المصفوفة الكاملة في [`reference/fee-comparison`](/ar/reference/fee-comparison).

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

* **الاقتباس.** احصل على `AmmInfo` عبر SDK أو `api-v3.raydium.io/pools/info/ids`. الاحتياطيات الآن خزينة فقط، لذا يمكنك الاقتباس مباشرة مقابل أرصدة الخزينة — فقط تذكر طرح `need_take_pnl_*` (الأرباح والخسائر المتراكمة محتفظ بها في الخزينة لكن مستبعدة من المنحنى).
* **معاملات الرسوم القديمة.** من حيث المبدأ يمكن لـ `SetParams` تغيير `swap_fee_numerator`، لكن في الممارسة العملية لم يغير متعدد التوقيع Raydium القيم الافتراضية لأي مجموعة نشطة. ومع ذلك، اقرأ دائمًا من حالة السلسلة بدلاً من ترميز القيم.
* **لا توجد مكافآت.** لا يدعم AMM v4 انبعاثات المكافآت على المجموعة. المزارع البيئية القديمة (Farm v3 / v5 / v6) هي المكافئ على طبقة الرهن — انظر [`products/farm-staking`](/ar/products/farm-staking).

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

* [`products/amm-v4/math`](/ar/products/amm-v4/math) — اشتقاق رسم التداول داخل المنحنى.
* [`products/amm-v4/instructions`](/ar/products/amm-v4/instructions) — قوائم حسابات `WithdrawPnl` / `SetParams`.
* [`reference/fee-comparison`](/ar/reference/fee-comparison) — مصفوفة جنبًا إلى جنب.

المصادر:

* [برنامج Raydium AMM — `raydium-io/raydium-amm`](https://github.com/raydium-io/raydium-amm)
* حقول بسط/مقام رسم AMM v4 على السلسلة (تم التحقق منها مقابل حسابات `AmmInfo` على الشبكة الرئيسية).
