本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
费用模型
Stable AMM 使用与 AMM v4 相同的费用结构。每个池只有一个费用等级(在初始化时设置);池无法重新配置为更高的等级。| 字段 | 默认值 | 含义 |
|---|---|---|
swap_fee_numerator / swap_fee_denominator | 25 / 10_000 | 总交易费:0.25% 的输入量。 |
trade_fee_numerator / trade_fee_denominator | 25 / 10_000 | 相同的 0.25%;旧版字段,曾用于 OpenBook 订单定价,为保持布局兼容性而保留。 |
pnl_numerator / pnl_denominator | 12 / 100 | 协议的费用分成:12% — 即 0.25% × 12% = 0.03% 的交易量。 |
min_separate_numerator / min_separate_denominator | 4 / 10_000 | 内部舍入下限。 |
分成如何计算
每次交换时:lp_portion留在金库中,增加k,并在赎回时使 LP 受益。pnl_portion增加AmmInfo.out_put.need_take_pnl_coin或need_take_pnl_pc(取决于输入代币),并由WithdrawPnl清扫。
OpenBook PnL(已停用)
在其早期,该池还在 OpenBook 上发布限价订单;当这些订单成交时,它赚取或损失做市商/接单者价差,在MonitorStep 期间结算,并在 out_put.total_pnl_{coin,pc} 计数器中跟踪结果。该路径已休眠多年 — 该池没有未平仓订单,因此唯一的费用累积是上述 0.03% 的协议分成。total_pnl_* 计数器仍在布局中,但不再增加。2026-06-22 升级移除了剩余的 OpenBook 代码(包括 MonitorStep)。CPMM 成为新池的默认选择,部分原因是这种与 OpenBook 的耦合;Stable AMM 与订单簿无关。
收集
Raydium 多签(或控制amm_admin 的任何人)调用 WithdrawPnl 来清扫:
- 将
need_take_pnl_coin和need_take_pnl_pc从金库转移到管理员指定的账户。 - 将计数器清零。
LP 费用赎回
没有专门的”收集费用”指令。LP 费用在金库中累积,增加储备。LP 通过Withdraw 销毁 LP 来实现这些费用。LP 代币的价值随着储备增长而增长。
可视化:$1,000 交易量的去向
在针对默认参数 Stable 池的 USDC 为主的Swap($1,000)上:
对比表
| Stable AMM | AMM v4 | CPMM index=0 | |
|---|---|---|---|
| 交易费 | 0.25% | 0.25% | 0.25% |
| LP | 0.22% | 0.22% | 0.21% |
| 协议 | 0.03% | 0.03% | 0.03% |
| 基金 | 无 | 无 | 0.01% |
| 创建者 | 无 | 无 | 默认为 0 |
reference/fee-comparison。
集成商注意事项
- 报价: 始终从链上读取
AmmInfo;不要硬编码费用。由于SetParams现已移除,现有池上的费用参数实际上是固定的。 - 曲线与费用: 0.25% 的费用与曲线是公式(AMM v4 中的 x·y=k)还是查找表(Stable)无关。两者都对输入金额应用相同的 0.25%。
- 无奖励: Stable 池不支持池上奖励发放。生态系统农场(Farm v3/v5/v6)在其他地方处理质押。
后续步骤
products/stable/math— 交换数学中的费用应用。products/stable/instructions—WithdrawPnl账户列表。products/amm-v4/fees— OpenBook 路径的更深入费用推导。reference/fee-comparison— 所有产品的并排比较。
raydium-stable/program/src/state.rs(Fees结构体)- 实时主网池上的链上
AmmInfo.fees字段

