本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
一句话总结
Stable AMM 是一个独立的 Raydium 程序——拥有自己的部署,不是 AMM v4 的一种模式——它用预填充的查找表替代了曲线公式。与其使用 x·y=k,该池存储一个稀疏的 (x, y, price) 点数组,并使用二分查找 + 线性插值来报价。这种设计特别适合稳定币对和其他具有已知价格关系的资产:1:1 挂钩代币之间的交换几乎没有滑点。它是一个纯 AMM:所有流动性都存放在池自己的金库中。(早期它曾有一条 OpenBook 做市路径,但该路径已多年处于休眠状态;2026-06-22 升级最终移除了这些死代码。)目前流动性较少;大多数集成者通过 AMM 路由程序访问 Stable 池。为什么用查找表而不是 xy=k
恒定乘积 AMM 在价格波动范围紧密的交易对上会产生高滑点。USDC-USDT 交换应该几乎没有成本;但在恒定乘积池上,k=x·y 即使对于微小交易量也会强制产生价格变动。查找表让池管理员能够表达实际的价格关系:- 对于稳定币:在 1:1 附近密集分布表,使微交换的滑点约为 0。
- 对于抵押品对:编码目标比率,让网格塑造费用/激励曲面。
UpdateModelData 指令填充,该指令已被移除,所以现有池保持其表不变。链上成本仅为插值搜索——远比重新计算公式便宜。
工作原理:模型数据账户
池持有一个ModelDataInfo 账户——一个50,000 元素的数组,包含 DataElement 结构体。每个元素包含:
valid_data_count 个元素被填充;其余为零。交换时,程序:
- 计算比率:从当前池储备计算比率,使用二分查找找到括住该比率的两个表元素。
- 线性插值:在两个括号点之间线性插值以获得报价。
- 应用费用(与 AMM v4 相同的 0.25%)并将结果返回给用户。
multiplier 字段考虑了 x 和 y 可能以缩减的比例存储的可能性(例如,6 位小数而不是 18 位)。价格发现会相应地重新缩放。
对比:Stable AMM vs. AMM v4 vs. CPMM
心智模型
Stable AMM 池是一个插值查找表 AMM,将所有流动性保存在自己的金库中。与恒定乘积池的关键区别在于价格发现曲线不是硬编码的——它是一个稀疏数组,烘焙在池的ModelDataInfo 账户中。当前可调用的操作是直接交换(用户 ↔ 池)、存入/提取(LP 操作)和 WithdrawPnl(管理员费用扫描)。OpenBook 机制(MonitorStep)——自池停止发布订单以来长期休眠——以及池设置/管理指令已被移除。
何时选择 Stable AMM
- 你运营稳定币或其他相关资产对,希望获得紧密、可预测的定价。
- 你对交易对的价格关系有深入了解,希望直接将其编码为曲线。
- 你已有 AMM v4 的集成,只需要不同的曲线风格。
后续阅读
- 账户 —
AmmInfo、ModelDataInfo、DataElement字段参考。 - 数学 — 二分查找、插值和费用应用。
- 指令 — 可调用集合(交换、存入、提取、
WithdrawPnl)和已移除的指令。 - 费用 — 0.25% 分配(与 AMM v4 相同)。
- 代码示例 — 路由和直接集成。
reference/program-addresses获取规范程序 IDreference/changelog获取 2026-06-22 市场代码移除升级

