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

Краткое резюме

Stable AMM — это отдельная программа Raydium — собственное развертывание, а не режим AMM v4 — которая заменяет формулу кривой на предварительно заполненную таблицу поиска. Вместо использования x·y=k пул хранит разреженный массив точек (x, y, price) и применяет двоичный поиск + линейную интерполяцию для определения цен. Такой дизайн отлично подходит для пар стейблкойнов и других активов с известными ценовыми соотношениями: своп между токенами с привязкой 1:1 имеет практически нулевое проскальзывание. Это чистый AMM: вся ликвидность находится в собственных хранилищах пула. (Ранее он включал путь маркет-мейкинга OpenBook, но этот путь был неактивен годами; обновление от 2026-06-22 наконец удалило мертвый код маркета.) Ликвидность в настоящее время тонкая; большинство интеграторов получают доступ к пулам Stable через программу AMM Routing.

Почему таблица поиска вместо xy=k

Постоянные AMM с произведением несут высокое проскальзывание на парах с узкими ценовыми диапазонами. Своп USDC-USDT должен стоить почти ничего; в пуле с постоянным произведением k=x·y вынуждает движение цены даже при малом объеме. Таблица поиска позволяет администратору пула выразить фактическое ценовое соотношение:
  • Для стейблкойнов: сгустить таблицу вокруг 1:1, чтобы микросвопы стоили ~0 проскальзывания.
  • Для обеспеченных пар: закодировать целевое соотношение и позволить сетке формировать поверхность комиссии/стимула.
Таблица теперь фиксирована — она была заполнена исторически через инструкцию UpdateModelData, которая с тех пор была удалена, поэтому существующие пулы сохраняют свои таблицы как есть. Стоимость в цепи — это просто интерполяционный поиск, намного дешевле, чем пересчет формулы.

Как это работает: аккаунт model-data

Пул содержит аккаунт ModelDataInfoмассив из 50 000 элементов структур DataElement. Каждый элемент содержит:
DataElement {
  x: u64,           // координата X таблицы
  y: u64,           // координата Y таблицы
  price: u64,       // цена в точке (x, y)
}
Заполнены только первые valid_data_count элементов; остальные обнулены. При своппе программа:
  1. Вычисляет соотношение из текущих резервов пула и использует двоичный поиск для поиска двух элементов таблицы, которые охватывают это соотношение.
  2. Интерполирует линейно между двумя охватывающими точками, чтобы получить цену котировки.
  3. Применяет комиссии (те же 0,25% как в AMM v4) и возвращает результат пользователю.
Поле multiplier на таблице учитывает возможность того, что x и y хранятся в уменьшенном масштабе (например, с 6 десятичными знаками вместо 18). Обнаружение цены соответственно перемасштабируется.

Сравнение: Stable AMM vs. AMM v4 vs. CPMM

АспектStable AMMAMM v4CPMM
КриваяТаблица поиска + интерполяцияПостоянное произведение (xy=k)Постоянное произведение
Основной случай использованияСтейблкойны, привязанные парыОбщие пары, глубокая ликвидностьОбщие пары, новые развертывания
Зависимость от OpenBookНет (путь маркета давно неактивен; мертвый код удален 2026-06)ДаНет
Token-2022НетНетДа
Профиль проскальзыванияМинимальное при 1:1Высокое при узких соотношенияхУмеренное по диапазону
Настраиваемая администратором криваяБольше нет (UpdateModelData удалена; таблицы теперь фиксированы)Нет (SetParams только)Нет
Размер таблицы~50k элементов × 24 байтаN/AN/A
Вычисления на своп~5k–15k CU (двоичный поиск + интерполяция)~150k–200k CU~60k–100k CU
Количество аккаунтов на своп9 (новый макет; 18 старой совместимости)~18 (AMM + OpenBook)~11

Концептуальная модель

Пул Stable AMM — это интерполированный AMM с таблицей поиска, который хранит всю свою ликвидность в собственных хранилищах. Ключевое отличие от пула с постоянным произведением заключается в том, что кривая обнаружения цены не жестко закодирована — это разреженный массив, встроенный в аккаунт ModelDataInfo пула. Текущие доступные операции — это прямой своп (пользователь ↔ пул), депозит / вывод (операции LP) и WithdrawPnl (сбор комиссии администратора). Кранк OpenBook (MonitorStep) — давно неактивен с тех пор, как пул перестал размещать ордера — и инструкции настройки пула/администратора были удалены.

Когда Stable AMM — правильный выбор

  • Вы управляете парой стейблкойнов или другим коррелированным активом и хотите плотное, предсказуемое ценообразование.
  • У вас есть глубокое понимание ценового соотношения вашей пары и вы хотите закодировать его непосредственно как кривую.
  • У вас уже есть интеграции для AMM v4 и вам просто нужен другой вариант кривой.
Для нового пула общего назначения без требования плотной корреляции CPMM — это более простой и ликвидный выбор по умолчанию.

Что дальше

  • Аккаунты — справочник полей AmmInfo, ModelDataInfo, DataElement.
  • Математика — двоичный поиск, интерполяция и применение комиссий.
  • Инструкции — доступный набор (своп, депозит, вывод, WithdrawPnl) и удаленные инструкции.
  • Комиссии — разделение 0,25% (идентично AMM v4).
  • Примеры кода — маршрутизация и прямая интеграция.
Источники: