如何设置 CPMM 费用

本指南解释 CPMM 费用配置的工作方式,以及如何从链上获取现有配置。

每个 CPMM 流动性池在创建时都会被分配一个手续费配置。手续费配置以链上 AmmConfig 账户的形式存储——每个账户定义一个任何流动性池都可使用的手续费档位。

手续费配置

每个流动性池都引用一个单独的 AmmConfig ,它决定了每次 Swap 时手续费如何收取和分配。要查看所有可用配置,请使用下面的脚本查询链上账户。你也可以在此端点查看公开的配置 ID(https://api-v3.raydium.io/main/cpmm-configarrow-up-right)——请注意,此端点不包含某些自定义配置 ID。

circle-info

如需申请自定义手续费配置,请联系 Raydium 团队。

示例输出

--- 配置索引:0 ---
  地址:           D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2
  交易手续费率:    2500(0.25%)
  协议手续费率:120000(交易手续费的 12%)
  基金手续费率:     40000(交易手续费的 4%)
  创建者手续费率:  500(0.05%)
  创建流动性池费用:   150000000 lamports(0.15 SOL)

手续费如何分配

以配置 0 为例,以下是在一次 1,000,000 代币 Swap 中手续费的流向。

1. 手续费从输入金额中扣除

其中 trade_fee_ratecreator_fee_rate 分别应用于 Swap 输入金额:

剩余的 997,000 代币 进入恒定乘积 Swap,以确定输出金额。

2. 交易手续费在协议、金库和 LP 之间分配

protocol_fee_ratefund_fee_rate交易手续费的百分比,而不是 Swap 金额:

LP 手续费保留在流动性池金库中,从而提高 LP 仓位的价值。

3. 汇总

接收方
金额
计算方式

LP

2,100 代币

trade_fee - protocol - fund

Raydium 协议

300 代币

交易手续费的 12%

Raydium 金库

100 代币

交易手续费的 4%

流动性池创建者

500 代币

Swap 输入金额的 0.05%

总手续费

3,000 代币

Swap 输入金额的 0.30%

协议和金库手续费会累积在流动性池金库中,并分别由 protocol_ownerfund_owner 地址收取。

AmmConfig 字段

字段
说明

trade_fee_rate

从 Swap 输入中收取的手续费,以 1e-6 为单位。 2500 = 0.25%.

protocol_fee_rate

发送给 Raydium 协议的交易手续费份额,以 1e-6 为单位。 120000 = 12%.

fund_fee_rate

发送给 Raydium 金库的交易手续费份额,以 1e-6 为单位。 40000 = 4%.

creator_fee_rate

从 Swap 输入中额外收取并发送给流动性池创建者的手续费。 500 = 0.05%.

create_pool_fee

使用此配置创建流动性池时收取的一次性 lamports 费用。 150000000 = 0.15 SOL。

disable_create_pool

true时,将禁用此配置的新流动性池创建。现有流动性池不受影响。

protocol_owner

收取累计协议手续费的地址。

fund_owner

收取累计金库手续费的地址。

所有费率字段都使用分母 1,000,000。例如,值 2500 表示 2500/1000000 = 0.25%。

获取所有配置

以下脚本会查询所有 AmmConfig 来自 mainnet 的账户:

最后更新于

这有帮助吗?