Skip to main content
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →

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

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

Как вычисляется распределение

При каждом своппе:
  • 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 удалило оставшийся код OpenBook (включая MonitorStep). CPMM стал стандартом для новых пулов отчасти из-за этой прежней связи с OpenBook; Stable AMM независим от книги ордеров.

Сбор

Мультиподпись Raydium (или тот, кто контролирует amm_admin) вызывает WithdrawPnl для вывода:
  1. Переводит need_take_pnl_coin и need_take_pnl_pc из хранилищ на счета, назначенные администратором.
  2. Обнуляет счётчики.
Операция не перемещает кривую. LP не видят изменения цены.
WithdrawPnl был изменён в обновлении от 2026-06-22: теперь он использует фиксированный макет из 10 счётов, только для администратора, без пути совместимости (старые макеты завершаются с ошибками типа InvalidTokenCoin), и когда доступных средств пула недостаточно для покрытия PnL, он возвращает TakePnlError напрямую вместо отключения пула. См. products/stable/instructions.

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

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

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

При своппе, ориентированном на USDC, объёмом $1 000 против пула Stable с параметрами по умолчанию:
Сравните с AMM v4 (идентично) и CPMM (уровень 0,25%, без комиссии создателя): CPMM даёт LP $2,10, протоколу $0,30, фонду $0,10.

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

Полная матрица: 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