跳转到主要内容
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →

费用模型

Stable AMM 使用与 AMM v4 相同的费用结构。每个池只有一个费用等级(在初始化时设置);池无法重新配置为更高的等级。
字段默认值含义
swap_fee_numerator / swap_fee_denominator25 / 10_000总交易费:0.25% 的输入量。
trade_fee_numerator / trade_fee_denominator25 / 10_000相同的 0.25%;旧版字段,曾用于 OpenBook 订单定价,为保持布局兼容性而保留。
pnl_numerator / pnl_denominator12 / 100协议的费用分成:12% — 即 0.25% × 12% = 0.03% 的交易量。
min_separate_numerator / min_separate_denominator4 / 10_000内部舍入下限。
没有基金费没有创建者费 — 这些是 AMM v4 之后的发明(CPMM/CLMM)。Stable AMM 早于这一惯例。

分成如何计算

每次交换时:
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // 例如,amount_in 的 0.25%
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // gross_fee 的 12%
lp_portion = gross_fee − pnl_portion                                          // gross_fee 的 88%
  • lp_portion 留在金库中,增加 k,并在赎回时使 LP 受益。
  • pnl_portion 增加 AmmInfo.out_put.need_take_pnl_coinneed_take_pnl_pc(取决于输入代币),并由 WithdrawPnl 清扫。
与 CPMM 相同的不变量保留技巧:PnL 金额物理上位于金库中,但从曲线数学中使用的”有效储备”中减去,因此移除它不会改变价格。

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 来清扫:
  1. need_take_pnl_coinneed_take_pnl_pc 从金库转移到管理员指定的账户。
  2. 将计数器清零。
该操作不会移动曲线。LP 看不到价格变化。
WithdrawPnl 在 2026-06-22 升级中进行了更改:它现在使用固定的 10 账户、仅限管理员的布局,没有兼容性路径(旧布局失败并出现 InvalidTokenCoin 等错误),当池的可用资金不足以覆盖 PnL 时,它直接返回 TakePnlError 而不是禁用池。请参阅 products/stable/instructions

LP 费用赎回

没有专门的”收集费用”指令。LP 费用在金库中累积,增加储备。LP 通过 Withdraw 销毁 LP 来实现这些费用。LP 代币的价值随着储备增长而增长。

可视化:$1,000 交易量的去向

在针对默认参数 Stable 池的 USDC 为主的 Swap($1,000)上:
总交易费 (0.25%):     $2.50
  LP 分成   (0.22%):         $2.20  → 留在池中,提高 k
  PnL 分成  (0.03%):         $0.30  → need_take_pnl_pc,由 WithdrawPnl 清扫
用户收到 (减去曲线):  $997.50
与 AMM v4(相同)和 CPMM(0.25% 等级,无创建者费)比较:CPMM 给 LP $2.10,协议 $0.30,基金 $0.10。

对比表

Stable AMMAMM v4CPMM index=0
交易费0.25%0.25%0.25%
LP0.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)在其他地方处理质押。

后续步骤

来源:
  • raydium-stable/program/src/state.rsFees 结构体)
  • 实时主网池上的链上 AmmInfo.fees 字段