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.
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
一段摘要
CPMM — Constant Product Market Maker,在 Raydium UI 中正式稱為「標準 AMM」—— 是傳統x · y = k AMM 在 Solana 上的原生實現。沒有 OpenBook 訂單簿、沒有 Serum 遺產、沒有超出 SPL Token 和 Token-2022 的外部依賴。每個流動性池都是一個三元組(兩個代幣金庫、一個 LP 鑄幣)由程式擁有的授權 PDA 管理,以金庫餘額的乘積定價。這是 Raydium 為所有新的恆定乘積池推薦的 AMM,也是 /pools/create 端點和網頁 UI 的「建立池」流程預設的目標。
CPMM 提供的功能
- Token-2022 與經過驗證的擴充白名單。 CPMM 不接受任意的 Token-2022 鑄幣。程式在池建立時強制執行安全擴充的白名單:
TransferFeeConfig、MetadataPointer、TokenMetadata、InterestBearingConfig和ScaledUiAmount。鑄幣上的任何其他擴充都會導致Initialize以NotSupportMint拒絕 —— 除非鑄幣本身在程式中維護的小型硬編碼鑄幣白名單中(用於逐個上線特定鑄幣)。轉帳費用特別影響交換數學,並在交易的正確一側應用 —— 見algorithms/token-2022-transfer-fees。 - 可預測的費用。 每個池參考在建立時選擇的
AmmConfig。配置包含交易費率(在 LP、協議和基金之間分割)和獨立的創建者費率。創建者費用是其自己的桶 —— 永遠不是交易費的一部分。池在建立時可選擇是否收取此費用。預設值和完整的拆分數學在products/cpmm/fees中。 - 透過觀察環形緩衝的鏈上 TWAP。 每次交換都會更新一個
observation帳戶。外部合約可以讀取累積價格觀察來計算 TWAP,無需自訂預言機。 - 平坦帳戶配置。 一個池由六個 PDA 完全描述(授權、池狀態、LP 鑄幣、兩個金庫、觀察)。沒有每市場 OpenBook 帳戶、沒有事件隊列、沒有請求隊列。交易在計算和帳戶數量上都比 AMM v4 更便宜。
- 燒毀並賺取相容。 LP 代幣可以在 LP Lock 程式下鎖定,使池創建者可以繼續收取費用,而不保有提取流動性的權利。用於「永久」流動性啟動。
CPMM 不提供的功能
- 不是集中式的。 流動性均勻分佈在整個價格範圍內,像 Uniswap v2。如果你需要資本效率的做市 —— 即,在當前價格附近集中流動性 —— 使用 CLMM。
- 不是混合的。 與 AMM v4 不同,CPMM 池不在 OpenBook 市場上放置掛單。跨 CPMM 池的路由通過 AMM Routing 程式進行,不是通過 CLOB。
- 不適用於任意曲線啟動。 曲線硬編碼為恆定乘積。如果你想要一個代幣啟動的綁定曲線,使用 LaunchLab,它在填滿時升級為 CPMM 池。
CPMM 與 AMM v4 的差異
| 維度 | AMM v4 | CPMM |
|---|---|---|
| 曲線 | 恆定乘積 | 恆定乘積 |
| OpenBook 依賴 | 無效(原本在 OpenBook 市場上放置訂單;整合已停用) | 無 |
| Token-2022 支持 | 無(僅 SPL Token) | 是(包括轉帳費用) |
| V2 交換的帳戶數 | ~9 | ~11 |
| 每次交換的計算單位 | ~80k–120k(V2 路徑) | ~60k–100k |
| TWAP 預言機 | 無原生預言機帳戶 | observation 環形緩衝 |
| 今日新池建立 | 非預設(程式仍接受) | 預設 |
| 狀態 | 完全可操作 | 活躍、推薦 |
protocol-overview/versions-and-migration 中。
思維模型
CPMM 池是持有三個餘額的程式擁有對象:vault0(token0)、vault1(token1)和 LP 鑄幣的供應量。LP 鑄幣的供應量追蹤存款者對池的權益;代幣金庫持有實際資產。其他一切 —— 授權 PDA、觀察帳戶、費用配置指標 —— 都是簿記,使那個三變數關係可交易、可收費和可觀察。
每個使用者面向的操作都折疊為明確定義的狀態轉換:
- 存款: 轉帳 token0 和 token1,鑄造 LP 給使用者,價格無變化。
- 提款: 燒毀使用者的 LP,以池的當前比率轉帳 token0 和 token1,價格無變化。
- 交換: 轉帳一種代幣,轉帳另一種代幣出去;比率沿著
x · y = k曲線移動(扣除費用);觀察帳戶採樣新價格。
CollectProtocolFee、CollectFundFee)是由相應授權簽署的單獨交易;它不會在每次交換時發生。數學在 products/cpmm/math 中詳細說明,指令集在 products/cpmm/instructions 中。
何時選擇 CPMM
在以下情況下選擇 CPMM:- 你正在啟動新代幣或新交易對,並且對哪個範圍會看到交易沒有強烈意見。
- 一個或兩個代幣使用 Token-2022 擴充。
- 你想要一個簡單的每交易費用模型,而非動態的、基於 tick 的模型。
- 你在整合並希望通過 Raydium 路由,而不承擔 CLMM 頭寸的複雜性。
- 交易對是穩定的或高度相關的(穩定幣對穩定幣、LST-SOL),並且你想在平價附近集中流動性。
- 你是願意積極管理範圍以獲得更高每美元 TVL 費用 APR 的做市團隊。
- 你在遷移現有的 AMM v4 工具,並且沒有建立新池。
接下來去哪裡
- 帳戶 — CPMM 池的六個 PDA 以及如何推導它們。
- 數學 —
SwapBaseInput與SwapBaseOutput、Token-2022 轉帳費用處理、觀察更新。 - 指令 — 完整的指令表面與帳戶列表。
- 費用 — 四向費用拆分以及如何收集。
- 程式碼示例 — 創建/交換/存款/提款的可運行 TypeScript 片段。


