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 和 CLMM 不同,AMM v4 沒有AmmConfig 帳戶。費用直接存儲在每個池的 AmmInfo.fees 結構上,並在池創建時固定。以下預設值適用於基本所有現行的 AMM v4 池:
| 鏈上欄位 | 預設值 | 含義 |
|---|---|---|
swap_fee_numerator / swap_fee_denominator | 25 / 10_000 | AMM 路徑交換的總交易費用:輸入量的 0.25%。 |
trade_fee_numerator / trade_fee_denominator | 25 / 10_000 | 由 OpenBook 整合使用,計算包含費用的限價單定價。預設與 swap_fee 相同,為 0.25%。 |
pnl_numerator / pnl_denominator | 12 / 100 | 協議分享交易費用的比例:12% —— 即交易量的 0.25% × 12% = 0.03%。累積到 need_take_pnl_* 計數器。 |
min_separate_numerator / min_separate_denominator | 5 / 10_000 | 費用分配四捨五入邏輯使用的內部精度下限。 |
pnl_numerator / pnl_denominator 是交易費用的一部分,而非 交易量的一部分 —— 這是常見的誤解。LP 份額為補數(費用的 88% = 交易量的 0.22%),是隱含的;沒有單獨的「LP 份額」分子。
少數早期池在創建時使用了不同的分子;在引用前請務必讀取 AmmInfo.fees。
沒有基金費用和創作者費用這一項:這些是 CPMM/CLMM 的創新,在 AMM v4 的原始費用模型中不存在。
分配如何計算
在每次交換時,池從輸入金額中收取總交易費用,然後分配:lp_portion留在金庫中,有助於下一個k。LP 透過稍後贖回 LP 代幣來獲取它。pnl_portion遞增AmmInfo.state_data.need_take_pnl_coin或need_take_pnl_pc,取決於交換輸入是哪一側。
TakePnl 移動代幣而不改變價格。
OpenBook 的 PnL(歷史)
不再累積。 OpenBook 整合已停用,所以本部分描述的第二個 PnL 流不再生成。現有池上的
total_pnl_{coin,pc} 計數器可能帶有歷史值,但不再新增金額。0.03% 協議費用路徑(上述)不受影響,仍然有效。MonitorStep 期間結算到池金庫,程式將其記入 state_data.total_pnl_{coin,pc} 作為資訊計數器。
- 當池發佈的網格在曲線價格周圍正確校準時,OpenBook 成交往往對池而言是費用正面的 —— AMM 實際上在 OpenBook 上進行做市,並賺取做市商回扣。
- 當 OpenBook 暫停或事件隊列填滿時,池可能持有以不利價格成交的過期訂單,產生負 PnL。這種操作耦合是遠離混合設計的動機之一。
收集
管理員(Raydium 多簽)調用WithdrawPnl / TakePnl 以將 need_take_pnl_* 清除到在程式 AmmConfig 上配置的池級「PnL 所有者」帳戶(這是一個不同的、程式範圍的配置 —— 不是按池的 CPMM 風格 AmmConfig)。清除操作:
- 首先結算任何待處理的 OpenBook 成交。(現在是無操作,因為 OpenBook 已不活躍。)
- 從池金庫轉移
need_take_pnl_coin/need_take_pnl_pc到 PnL 目標。 - 將計數器歸零。
TakePnl 呼叫中看到任何價格變化。
LP 費用贖回
沒有專門的「收集 LP 費用」指令。LP 費用累積在金庫中,並隨時間膨脹k;LP 透過 Withdraw 燒毀 LP 代幣來實現它們。LP 代幣的價值隨著 (coin_reserve_effective, pc_reserve_effective) 增長而單調增長。
視覺化:1,000 USDC 交易量去向
在針對預設參數池的 1,000 USDC 交換上:AmmConfig[0](0.25% 層級,無創作者費用)比較:LP 獲得 $2.10,協議 $0.30,基金 $0.10。CPMM 透過從 AMM v4 的等效層級中 LP 本應獲得的份額中切割基金線來引入基金線。
比較表
| AMM v4 | CPMM index=0 | CLMM index=2 | |
|---|---|---|---|
| 交易費用 | 0.25% | 0.25% | 0.25% |
| LP | 0.22% | 0.21% | 根據排放量變化 |
| 協議 | 0.03% | 0.03% | 按層級 |
| 基金 | N/A | 0.01% | 按層級 |
| 創作者(可選) | N/A | 預設為 0 | N/A |
| 費用位置 | 池金庫 + need_take_pnl_* | 池金庫 + protocol_fees_* + fund_fees_* | 全域 + 按刻度 + 按位置 |
reference/fee-comparison。
整合者注意事項
- 報價。 透過 SDK 或
api-v3.raydium.io/pools/info/ids取得AmmInfo。不要針對原始金庫餘額計算自己的報價 —— OpenBook 託管金額和 PnL 排除都會將有效儲備從getTokenAccountBalance顯示的內容拉開。 - 過時的費用參數。 原則上
SetParams可以改變swap_fee_numerator,但實際上 Raydium 多簽尚未更改任何活躍池的預設值。儘管如此,始終從鏈上狀態讀取,而不是硬編碼。 - 無獎勵。 AMM v4 不支持池上獎勵排放。傳統生態系統農場(Farm v3 / v5 / v6)是質押層等效物 —— 見
products/farm-staking。
後續步驟
products/amm-v4/math—— 曲線內的交易費用推導。products/amm-v4/instructions——WithdrawPnl/SetParams帳戶清單。reference/fee-comparison—— 並排矩陣。
- Raydium AMM 程式 —
raydium-io/raydium-amm - 鏈上 AMM v4 費用分子/分母欄位(已對照主網
AmmInfo帳戶驗證)。


