Skip to main content
本頁內容由 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 提供的功能

創建者費用收集更新。 任何支付者都可以觸發 CollectCreatorFeePermissionless。資金仍然只流向池創建者的規範代幣帳戶,現有的創建者簽名 CollectCreatorFee 仍然可用。詳見 Instructions
  • Token-2022 與經過審核的擴展允許清單。 CPMM 接受任意的 Token-2022 代幣。程式在池創建時強制執行安全擴展的白名單:TransferFeeConfigMetadataPointerTokenMetadataInterestBearingConfigScaledUiAmount。代幣上的任何其他擴展都會導致 InitializeNotSupportMint 拒絕 — 除非代幣已通過其 SupportMintAssociated PDA 註冊,這是自 2026-09 升級移除硬編碼代幣白名單以來唯一的繞過方式。轉帳費用特別會影響交換數學,並應用在交易的正確一側 — 詳見 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 的區別

關於遷移故事的更深入討論在 protocol-overview/versions-and-migration

心智模型

CPMM 池是一個程式擁有的物件,持有三個餘額:vault0(token0)、vault1(token1)和 LP 代幣的供應量。LP 代幣的供應量追蹤存款人對池的索賠;代幣金庫持有實際資產。其他一切 — 授權 PDA、觀察帳戶、費用配置指針 — 都是簿記,用於使該三變數關係可交易、可收費和可觀察。 每個面向用戶的操作都會歸結為一個明確定義的狀態轉換:
  • 存款: 轉入 token0 和 token1,向用戶鑄造 LP,價格不變。
  • 提取: 從用戶燒毀 LP,按池的當前比率轉出 token0 和 token1,價格不變。
  • 交換: 轉入一個代幣,轉出另一個;比率沿著 x · y = k 曲線移動(扣除費用);觀察帳戶對新價格進行採樣。
費用收集是一個單獨的交易;它不會在每次交換時發生。協議和基金收集需要各自的授權。創建者費用可以通過創建者簽名路徑或通過目標受限路徑的無許可調用者收集。數學在 products/cpmm/math 中詳細說明,指令集在 products/cpmm/instructions

何時選擇 CPMM

在以下情況下選擇 CPMM:
  • 你正在啟動新代幣或新交易對,對哪個範圍會看到交易沒有強烈意見。
  • 一個或兩個代幣都使用 Token-2022 擴展。
  • 你想要簡單的每筆交易費用模型,而不是動態的、基於 tick 的模型。
  • 你正在集成並想通過 Raydium 路由,而不承擔 CLMM 頭寸的複雜性。
在以下情況下優先選擇 CLMM
  • 交易對是穩定的或高度相關的(穩定幣對穩定幣、LST-SOL),你想在平價附近集中流動性。
  • 你是願意主動管理範圍以獲得更高費用 APR(每美元 TVL)的做市團隊。
在以下情況下優先選擇 AMM v4
  • 你正在遷移現有的 AMM v4 工具,並且不是在創建新池。
(注意:AMM v4 的 OpenBook 混合模式不再活躍 — 這不再是選擇 AMM v4 的理由。)

接下來去哪裡

  • Accounts — CPMM 池的六個 PDA 及其推導方式。
  • MathSwapBaseInputSwapBaseOutput、Token-2022 轉帳費用處理、觀察更新。
  • Instructions — 完整的指令表面及帳戶列表。
  • Fees — 四向費用分配及其收集方式。
  • Code demos — 用於創建/交換/存款/提取的可運行 TypeScript 代碼片段。
來源: