Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Краткое резюме
CPMM — Constant Product Market Maker, официально именуемый “Standard AMM” в интерфейсе Raydium — это нативная реализация на Solana классического AMM с формулойx · y = k. Без OpenBook order book, без наследия Serum, без внешних зависимостей кроме SPL Token и Token-2022. Каждый пул представляет собой тройку (два хранилища токенов, один LP mint), управляемую программой через PDA с правами владельца, с ценообразованием на основе произведения балансов хранилищ. Это AMM, который Raydium рекомендует для всех новых пулов с постоянным произведением, и именно на него нацелены endpoint /pools/create и стандартный поток “Create pool” в веб-интерфейсе.
Что дает вам CPMM
Обновление сбора комиссии создателя. Любой плательщик может вызвать
CollectCreatorFeePermissionless. Средства по-прежнему поступают только на канонические счета токенов создателя пула, и существующий подписанный создателем CollectCreatorFee остается доступным. См. Instructions.- Token-2022 с проверенным списком разрешенных расширений. CPMM не принимает произвольные Token-2022 mints. Программа применяет whitelist безопасных расширений при создании пула:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfigиScaledUiAmount. Любое другое расширение на mint приводит к отклонениюInitializeс ошибкойNotSupportMint— если только mint не был зарегистрирован через егоSupportMintAssociatedPDA, что является единственным обходным путем после обновления 2026-09, которое удалило жестко закодированный whitelist mint. Комиссии за передачу, в частности, влияют на математику свопа и применяются на правильной стороне сделки — см.algorithms/token-2022-transfer-fees. - Предсказуемые комиссии. Каждый пул ссылается на
AmmConfig, выбранный при создании. Конфиг содержит ставку торговой комиссии (разделяемую между LP, протоколом и фондом) и отдельную, независимую ставку комиссии создателя. Комиссия создателя — это отдельный бакет, никогда не часть торговой комиссии. Пулы выбирают взимание комиссии при создании. Значения по умолчанию и полная математика разделения находятся вproducts/cpmm/fees. - On-chain TWAP через кольцевой буфер наблюдений. Каждый своп обновляет счет
observation. Внешние контракты могут прочитать кумулятивное наблюдение цены для вычисления TWAP без пользовательского оракула. - Плоская структура счетов. Пул полностью описывается шестью PDA (authority, pool state, LP mint, два хранилища, observation). Нет per-market счета OpenBook, нет event queue, нет request queue. Транзакции дешевле как по compute, так и по количеству счетов, чем AMM v4.
- Совместимость с burn-and-earn. LP токены могут быть заблокированы под программой LP Lock, чтобы создатель пула мог продолжать получать комиссии без сохранения права на вывод ликвидности. Используется для запусков “постоянной” ликвидности.
Чем CPMM не является
- Не концентрированный. Ликвидность распределена равномерно по всему диапазону цен, как в Uniswap v2. Если вам нужен капиталоэффективный маркет-мейкинг — то есть концентрация ликвидности рядом с текущей ценой — используйте CLMM.
- Не гибридный. В отличие от AMM v4, пулы CPMM не размещают ордера на OpenBook маркете. Маршрутизация между пулами CPMM происходит через программу AMM Routing, а не через CLOB.
- Не запускаемый для произвольных кривых. Кривая жестко закодирована как постоянное произведение. Если вам нужна bonding curve для запуска токена, используйте LaunchLab, который переходит в пул CPMM при заполнении.
Как CPMM отличается от AMM v4
Более глубокое рассмотрение истории миграции находится в
protocol-overview/versions-and-migration.
Концептуальная модель
Пул CPMM — это объект, принадлежащий программе, содержащий три баланса:vault0 (token0), vault1 (token1) и предложение LP mint. Предложение LP mint отслеживает требование депозиторов на пул; хранилища токенов содержат фактические активы. Все остальное — PDA authority, счет observation, указатель на конфиг комиссии — это бухгалтерия, чтобы сделать это трехпеременное отношение торгуемым, собирающим комиссии и наблюдаемым.
Каждая операция, видимая пользователю, сводится к четко определенному переходу состояния:
- Deposit: передать token0 и token1, выпустить LP пользователю, цена не меняется.
- Withdraw: сжечь LP пользователя, передать token0 и token1 в текущем соотношении пула, цена не меняется.
- Swap: передать один токен, передать другой; соотношение движется вдоль кривой
x · y = k(минус комиссии); счет observation фиксирует новую цену.
products/cpmm/math, а набор инструкций в products/cpmm/instructions.
Когда выбирать CPMM
Выбирайте CPMM когда:- Вы запускаете новый токен или новую пару и не имеете четких мнений о том, какой диапазон будет видеть торговлю.
- Один или оба токена используют расширения Token-2022.
- Вы хотите простую модель комиссии за торговлю вместо динамической, основанной на тиках.
- Вы интегрируетесь и хотите маршрутизировать через Raydium без принятия сложности позиций CLMM.
- Пара стабильна или высоко коррелирована (stablecoin-stablecoin, LST-SOL) и вы хотите концентрировать ликвидность около паритета.
- Вы команда маркет-мейкеров, готовая активно управлять диапазонами для более высокого APR комиссии на доллар TVL.
- Вы мигрируете существующий инструментарий AMM v4 и не создаете новый пул.
Что дальше
- Accounts — шесть PDA пула CPMM и как их получить.
- Math —
SwapBaseInputvsSwapBaseOutput, обработка комиссий за передачу Token-2022, обновления наблюдений. - Instructions — полная поверхность инструкций со списками счетов.
- Fees — четырехсторонний раздел комиссии и как собирать.
- Code demos — запускаемые TypeScript фрагменты для create / swap / deposit / withdraw.
- Raydium CP-Swap source —
raydium-io/raydium-cp-swap reference/program-addressesдля канонических ID программ

