> ## 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.

# Комиссии Stable AMM

> Идентичны AMM v4: 0,25% комиссия за торговлю, 0,22% LP / 0,03% протокол. Без комиссии фонда, без комиссии создателя.

<Info>
  **Эта страница переведена с помощью ИИ. За эталон принимается английская версия.**

  [Открыть английскую версию →](/products/stable/fees)
</Info>

## Модель комиссий

Stable AMM использует **ту же структуру комиссий, что и AMM v4**. На пул приходится только один уровень комиссии (устанавливается при инициализации); пулы не могут быть переконфигурированы на более высокие уровни.

| Поле                                                | По умолчанию  | Значение                                                                                                                       |
| --------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `swap_fee_numerator / swap_fee_denominator`         | `25 / 10_000` | **Валовая комиссия за торговлю: 0,25%** от объёма входящего токена.                                                            |
| `trade_fee_numerator / trade_fee_denominator`       | `25 / 10_000` | Та же 0,25%; устаревшее поле, ранее использовавшееся для ценообразования ордеров OpenBook, сохранено для совместимости макета. |
| `pnl_numerator / pnl_denominator`                   | `12 / 100`    | **Доля протокола в комиссии: 12%** — то есть `0,25% × 12% = 0,03%` от объёма.                                                  |
| `min_separate_numerator / min_separate_denominator` | `4 / 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` и приносит пользу LP при выводе.
* **`pnl_portion`** увеличивает `AmmInfo.out_put.need_take_pnl_coin` или `need_take_pnl_pc` (в зависимости от входящего токена) и выводится через `WithdrawPnl`.

Тот же **трюк сохранения инварианта**, что и в CPMM: сумма PnL физически находится в хранилище, но вычитается из «эффективных резервов», используемых в математике кривой, поэтому её удаление не смещает цену.

## PnL OpenBook (снято с обслуживания)

На ранних этапах пул также размещал лимитные ордера на OpenBook; когда они исполнялись, он получал или терял спред маркет-мейкера/тейкера, рассчитываемый во время `MonitorStep`, и отслеживал результат в счётчиках `out_put.total_pnl_{coin,pc}`. **Этот путь неактивен уже много лет** — пул не держит открытых ордеров, поэтому единственное начисление комиссии — это 0,03% доля протокола, описанная выше. Счётчики `total_pnl_*` остаются в макете, но больше не увеличиваются. [Обновление от 2026-06-22](/ru/reference/changelog) удалило оставшийся код OpenBook (включая `MonitorStep`). CPMM стал стандартом для новых пулов отчасти из-за этой прежней связи с OpenBook; Stable AMM независим от книги ордеров.

## Сбор

Мультиподпись Raydium (или тот, кто контролирует `amm_admin`) вызывает `WithdrawPnl` для вывода:

1. Переводит `need_take_pnl_coin` и `need_take_pnl_pc` из хранилищ на счета, назначенные администратором.
2. Обнуляет счётчики.

Операция не перемещает кривую. LP не видят изменения цены.

<Warning>
  `WithdrawPnl` был изменён в обновлении от 2026-06-22: теперь он использует **фиксированный макет из 10 счётов, только для администратора, без пути совместимости** (старые макеты завершаются с ошибками типа `InvalidTokenCoin`), и когда доступных средств пула недостаточно для покрытия PnL, он возвращает `TakePnlError` напрямую вместо отключения пула. См. [`products/stable/instructions`](/ru/products/stable/instructions#withdrawpnl).
</Warning>

## Реализация комиссии LP

Нет отдельной инструкции «собрать комиссии». Комиссии LP накапливаются в хранилищах, увеличивая резервы. LP реализуют их, сжигая LP через `Withdraw`. Стоимость токена LP растёт по мере роста резервов.

## Визуализация: куда идёт \$1 000 объёма

При своппе, ориентированном на USDC, объёмом \$1 000 против пула 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 даёт LP \$2,10, протоколу \$0,30, фонду \$0,10.

## Таблица сравнения

|                      | Stable AMM | AMM v4 | CPMM `index=0` |
| -------------------- | ---------- | ------ | -------------- |
| Комиссия за торговлю | 0,25%      | 0,25%  | 0,25%          |
| LP                   | 0,22%      | 0,22%  | 0,21%          |
| Протокол             | 0,03%      | 0,03%  | 0,03%          |
| Фонд                 | Нет        | Нет    | 0,01%          |
| Создатель            | Нет        | Нет    | 0 по умолчанию |

Полная матрица: [`reference/fee-comparison`](/ru/reference/fee-comparison).

## Примечания для интеграторов

* **Котировки:** Всегда читайте `AmmInfo` из цепи; не жёстко кодируйте комиссии. Поскольку `SetParams` теперь удалён, параметры комиссии на существующих пулах фактически зафиксированы.
* **Кривая и комиссии:** Комиссия 0,25% независима от того, является ли кривая формулой (x·y=k в AMM v4) или таблицей поиска (Stable). Обе применяют одинаковые 0,25% к входящей сумме.
* **Без вознаграждений:** Пулы Stable не поддерживают выпуск вознаграждений в пуле. Экосистемные фермы (Farm v3/v5/v6) обрабатывают стейкинг в другом месте.

## Что дальше

* [`products/stable/math`](/ru/products/stable/math) — применение комиссии в математике своппа.
* [`products/stable/instructions`](/ru/products/stable/instructions) — список счётов `WithdrawPnl`.
* [`products/amm-v4/fees`](/ru/products/amm-v4/fees) — более глубокий вывод комиссии для пути OpenBook.
* [`reference/fee-comparison`](/ru/reference/fee-comparison) — все продукты рядом.

Источники:

* `raydium-stable/program/src/state.rs` (структура `Fees`)
* Поля `AmmInfo.fees` в цепи на активных пулах mainnet
