本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
唯一发布的费率层级
与 CPMM 和 CLMM 不同,AMM v4 没有AmmConfig 账户。费用直接存储在每个池的 AmmInfo.fees 结构中,在池创建时固定。以下是覆盖几乎所有活跃 AMM v4 池的默认值:
注意
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 将 need_take_pnl_* 清扫到程序的 AmmConfig 上配置的池级”PnL 所有者”账户(一个不同的、程序范围的配置 — 不是每池的 CPMM 风格 AmmConfig)。清扫:
- 从池金库将
need_take_pnl_coin/need_take_pnl_pc转移到 PnL 目标。 - 将计数器清零。
TakePnlError。该操作不移动曲线 — LP 在 WithdrawPnl 调用中不应看到任何价格变化。注意 WithdrawPnl 账户布局在 2026-07 升级中改变(见指令)。
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 的部分中切割出来引入基金行。
比较表
完整矩阵在
reference/fee-comparison。
集成商注意事项
- 报价。 通过 SDK 或
api-v3.raydium.io/pools/info/ids获取AmmInfo。储备现在仅限金库,因此你可以直接针对金库余额报价 — 只需记住减去need_take_pnl_*(累积的 PnL 保存在金库中但从曲线中排除)。 - 陈旧的费用参数。 原则上
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账户验证)。

