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.
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Единственный опубликованный уровень
В отличие от CPMM и CLMM, AMM v4 не имеет учётной записиAmmConfig. Комиссии хранятся непосредственно в структуре AmmInfo.fees каждого пула и фиксируются при создании пула. Значения по умолчанию, применяемые практически ко всем работающим пулам AMM v4:
| Поле в цепи | По умолчанию | Значение |
|---|---|---|
swap_fee_numerator / swap_fee_denominator | 25 / 10_000 | Валовая торговая комиссия для свопов по AMM: 0,25% от объёма входных токенов. |
trade_fee_numerator / trade_fee_denominator | 25 / 10_000 | Используется интеграцией с OpenBook для расчёта цены лимитного ордера с учётом комиссии. По умолчанию совпадает с swap_fee (0,25%). |
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 — это доля от торговой комиссии, а не от объёма торговли (распространённое неправильное прочтение). Доля LP — это дополнение (88% комиссии = 0,22% от объёма) и задаётся неявно; отдельного числителя для «доли LP» нет.
Небольшое количество ранних пулов создано с другими числителями; всегда проверяйте AmmInfo.fees перед цитированием.
Нет комиссии фонда и нет комиссии создателя — это изобретения CPMM/CLMM, которых не было в исходной модели комиссий AMM v4.
Как вычисляется распределение
При каждом своппе пул снимает валовую торговую комиссию с входной суммы, затем распределяет её:lp_portionостаётся в хранилище и способствует следующему значениюk. LP получают её, сжигая LP-токены позже.pnl_portionувеличиваетAmmInfo.state_data.need_take_pnl_coinилиneed_take_pnl_pcв зависимости от того, какая сторона является входом свопа.
TakePnl выводит токены без смещения цены.
PnL из OpenBook (историческое)
Больше не накапливается. Интеграция с OpenBook отключена, поэтому второй поток PnL, описанный в этом разделе, больше не генерируется. Счётчики
total_pnl_{coin,pc} на существующих пулах могут содержать исторические значения, но новые суммы не добавляются. Путь комиссии протокола 0,03% (выше) остаётся неизменным и всё ещё активен.MonitorStep, и программа зачисляла их в state_data.total_pnl_{coin,pc} как информационные счётчики.
- Когда размещённая сетка пула была правильно откалибрована вокруг цены кривой, заполнения на OpenBook, как правило, были позитивны для пула — AMM эффективно создавал рынок на OpenBook и получал скидки для создателей.
- Когда OpenBook приостанавливался или очередь событий переполнялась, пул мог остаться с устаревшими ордерами, заполненными по неудачным ценам, создавая отрицательный PnL. Эта операционная связь была одной из мотиваций отхода от гибридной конструкции.
Сбор
Администратор (мультиподпись Raydium) вызываетWithdrawPnl / TakePnl для сбора need_take_pnl_* на счета владельца PnL уровня пула, настроенные в AmmConfig программы (другая конфигурация уровня программы — не специфичная для каждого пула конфигурация в стиле CPMM). Сбор:
- Сначала рассчитывает все ожидающие заполнения OpenBook. (Нет-оп, теперь что OpenBook неактивна.)
- Переводит
need_take_pnl_coin/need_take_pnl_pcиз хранилищ пула в пункт назначения PnL. - Обнуляет счётчики.
TakePnl.
Получение комиссий LP
Нет выделенной инструкции «собрать комиссии LP». Комиссии LP накапливаются в хранилищах и увеличиваютk со временем; LP реализуют их, сжигая LP-токены через Withdraw. Значение LP-токена растёт монотонно по мере роста (coin_reserve_effective, pc_reserve_effective).
Визуализация: куда идёт объём в 1000 USDC
На своппе, тяжёлом на USDC, в размере $1000 против пула с параметрами по умолчанию:AmmConfig[0] (уровень 0,25%, без комиссии создателя): LP получает $2.10, протокол $0.30, фонд $0.10. CPMM вводит строку фонда, вырезая её из того, что была бы доля LP в эквивалентном уровне AMM v4.
Таблица сравнения
| AMM v4 | CPMM index=0 | CLMM index=2 | |
|---|---|---|---|
| Торговая комиссия | 0,25% | 0,25% | 0,25% |
| LP | 0,22% | 0,21% | Зависит от выпусков |
| Протокол | 0,03% | 0,03% | Зависит от уровня |
| Фонд | N/A | 0,01% | Зависит от уровня |
| Создатель (опционально) | N/A | 0 по умолчанию | N/A |
| Где находятся комиссии | Хранилище пула + need_take_pnl_* | Хранилище пула + protocol_fees_* + fund_fees_* | Глобально + per-tick + per-position |
reference/fee-comparison.
Примечания для интеграторов
- Цитирование. Получайте
AmmInfoчерез SDK илиapi-v3.raydium.io/pools/info/ids. Не вычисляйте собственное предложение против сырых балансов хранилища — суммы в условном доверительном управлении OpenBook и исключение PnL оба отводят эффективные резервы от того, что показываетgetTokenAccountBalance. - Устаревшие параметры комиссии. В принципе
SetParamsможет изменитьswap_fee_numerator, но на практике мультиподпись Raydium не изменила значения по умолчанию ни для одного работающего пула. Тем не менее всегда читайте из состояния в цепи, а не из жёстко закодированных значений. - Нет вознаграждений. AMM v4 не поддерживает выпуск вознаграждений на уровне пула. Экосистемные фермы наследия (Farm v3 / v5 / v6) — эквивалент уровня стейкинга — см.
products/farm-staking.
Куда дальше
products/amm-v4/math— вывод торговой комиссии внутри кривой.products/amm-v4/instructions— списки учётных записей дляWithdrawPnl/SetParams.reference/fee-comparison— матрица бок о бок.
- Программа Raydium AMM —
raydium-io/raydium-amm - Поля числителя/знаменателя комиссий AMM v4 в цепи (проверено против учётных записей mainnet
AmmInfo).


