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 от Raydium, которая вместо формулы кривой использует предзаполненную таблицу поиска. Вместо уравнения x·y=k пул хранит разреженный массив точек (x, y, price) и применяет двоичный поиск + линейную интерполяцию для расчета цен. Такой подход идеален для пар стейблкойнов и других активов с известными соотношениями цен: обмены между токенами с привязкой 1:1 имеют практически нулевое скольжение. Как и AMM v4, Stable AMM привязана к рынку OpenBook и выставляет там лимитные ордера. Ликвидность в данный момент ограничена; большинство интеграторов получают доступ к пулам Stable через программу AMM Routing.Почему таблица поиска вместо xy=k
Постоянные AMM с произведением активов несут высокое скольжение для пар с узким диапазоном цен. Обмен USDC на USDT практически не должен стоить ничего; однако в обычном AMM уравнение k=x·y вынуждает цену двигаться даже при микроскопическом объеме. Таблица поиска позволяет администратору пула явно задать фактическое соотношение цен:- Для стейблкойнов: разместить точки таблицы вокруг соотношения 1:1, чтобы микросвопы имели ~0 скольжения.
- Для обеспеченных пар: закодировать целевой коэффициент и позволить сетке определить поверхность комиссий/стимулов.
UpdateModelData (которые администратор отправляет, когда соотношение меняется), поэтому затраты на цепи — это просто интерполированный поиск, что намного дешевле, чем пересчет формулы.
Как это работает: аккаунт model-data
Пул содержит аккаунтModelDataInfo — массив из 50 000 элементов структур DataElement. Каждый элемент содержит:
valid_data_count элементов; остальные обнулены. При свопе программа:
- Вычисляет соотношение из текущих резервов пула и использует двоичный поиск, чтобы найти два элемента таблицы, которые заключают это соотношение.
- Интерполирует линейно между двумя граничными точками, чтобы получить цену котировки.
- Применяет комиссии (те же 0,25%, что и в AMM v4) и возвращает результат пользователю.
multiplier в таблице учитывает возможность того, что x и y хранятся в уменьшенном масштабе (например, с 6 десятичными знаками вместо 18). Обнаружение цены масштабируется соответственно.
Сравнение: Stable AMM vs. AMM v4 vs. CPMM
| Аспект | Stable AMM | AMM v4 | CPMM |
|---|---|---|---|
| Кривая | Таблица поиска + интерполяция | Постоянное произведение (xy=k) | Постоянное произведение |
| Основной случай использования | Стейблкойны, привязанные пары | Общие пары, глубокая историческая ликвидность | Общие пары, новые развертывания |
| Зависимость от OpenBook | Да | Да | Нет |
| Token-2022 | Нет | Нет | Да |
| Профиль скольжения | Минимальное при 1:1 | Высокое при узких соотношениях | Умеренное в диапазоне |
| Настраиваемая администратором кривая | Да (UpdateModelData) | Нет (только SetParams) | Нет |
| Размер таблицы | ~50k элементов × 24 байта | N/A | N/A |
| Вычисления на свопе | ~5k–15k CU (двоичный поиск + интерполяция) | ~150k–200k CU | ~60k–100k CU |
| Количество аккаунтов на свопе | ~17 (AMM + OpenBook) | ~18 (AMM + OpenBook) | ~11 |
Концептуальная модель
Пул Stable AMM — это интерполированный AMM с таблицей поиска, чьи хранилища также экранируют лимитные ордера OpenBook, так же как в AMM v4. Ключевое отличие в том, что кривая обнаружения цены не жестко закодирована — это разреженный массив, который администратор может заполнять и обновлять. Операции аналогичны AMM v4: прямой своп (пользователь ↔ пул), депозит / вывод (операции LP), cranking (MonitorStep) и админское обслуживание (UpdateModelData, SetParams).
Когда Stable AMM — правильный выбор
- Вы управляете стейблкойном или другой парой коррелированных активов и хотите плотное, предсказуемое ценообразование.
- Вы хорошо знаете соотношение цен вашей пары и хотите закодировать его непосредственно в кривую.
- У вас уже есть интеграции для AMM v4 и вам просто нужна другая разновидность кривой.
Что дальше
- Аккаунты — справочник полей
AmmInfo,ModelDataInfo,DataElement. - Математика — двоичный поиск, интерполяция и применение комиссий.
- Инструкции —
InitModelData,UpdateModelData, инструкции для свопов и операций LP. - Комиссии — разделение 0,25% (идентично AMM v4).
- Примеры кода — routing и прямая интеграция.
reference/program-addressesдля канонического ID программыproducts/amm-v4/overviewдля деталей интеграции с OpenBook


