本頁內容由 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 指令填充,但該指令已被移除,所以現有池保持其表不變。鏈上成本只是插值搜尋 — 遠便宜於重新計算公式。
工作原理:model-data 帳戶
池持有一個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 v4 | CPMM |
|---|---|---|---|
| 曲線 | 查詢表 + 插值 | 常數乘積 (xy=k) | 常數乘積 |
| 主要用例 | 穩定幣、掛鉤對 | 通用對、舊版深流動性 | 通用對、新部署 |
| OpenBook 依賴 | 否(市場路徑長期閒置;死代碼已於 2026-06 移除) | 是 | 否 |
| Token-2022 | 否 | 否 | 是 |
| 滑點特性 | 1:1 時最小 | 緊密比率時高 | 整個範圍內中等 |
| 管理員可調曲線 | 不再(UpdateModelData 已移除;表現固定) | 否(僅 SetParams) | 否 |
| 表大小 | ~50k 元素 × 24 位元組 | N/A | N/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 的整合,只需要不同的曲線風格。
後續步驟
- 帳戶 —
AmmInfo、ModelDataInfo、DataElement欄位參考。 - 數學 — 二分搜尋、插值和費用應用。
- 指令 — 可調用集合(交換、存入、提取、
WithdrawPnl)和已移除的指令。 - 費用 — 0.25% 分配(與 AMM v4 相同)。
- 代碼示例 — 路由和直接整合。
reference/program-addresses用於規範程式 IDreference/changelog用於 2026-06-22 市場代碼移除升級

