本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
一句话总结
CPMM — Constant Product Market Maker,在 Raydium UI 中正式称为”标准 AMM” — 是经典x · y = k AMM 的原生 Solana 实现。没有 OpenBook 订单簿,没有 Serum 遗留代码,除了 SPL Token 和 Token-2022 外没有外部依赖。每个池由三个部分组成(两个代币金库、一个 LP 铸币),由程序所有的权限 PDA 管理,价格由金库余额的乘积决定。这是 Raydium 为所有新的常数乘积池推荐的 AMM,也是 /pools/create 端点和 Web UI 的”创建池”流程默认使用的。
CPMM 提供的功能
创建者费用收集更新。 任何支付者都可以触发
CollectCreatorFeePermissionless。资金仍然只流向池创建者的规范代币账户,现有的创建者签名 CollectCreatorFee 仍然可用。详见 Instructions。- Token-2022 与经过审核的扩展允许列表。 CPMM 不接受任意的 Token-2022 铸币。程序在池创建时强制执行安全扩展的白名单:
TransferFeeConfig、MetadataPointer、TokenMetadata、InterestBearingConfig和ScaledUiAmount。铸币上的任何其他扩展都会导致Initialize以NotSupportMint拒绝 — 除非铸币本身在程序维护的小型硬编码铸币允许列表中(用于逐个引入特定铸币)。转账费特别影响交换数学,并应用在交易的正确一侧 — 详见algorithms/token-2022-transfer-fees。 - 可预测的费用。 每个池在创建时引用一个选定的
AmmConfig。配置包含交易费率(在 LP、协议和基金之间分割)和独立的创建者费率。创建者费用是独立的桶 — 永远不是交易费的一部分。池在创建时选择是否收取它。默认值和完整的分割数学在products/cpmm/fees。 - 通过观察环形缓冲区的链上 TWAP。 每次交换都会更新一个
observation账户。外部合约可以读取累积价格观察来计算 TWAP,无需自定义预言机。 - 扁平账户布局。 一个池完全由六个 PDA 描述(权限、池状态、LP 铸币、两个金库、观察)。没有每个市场的 OpenBook 账户,没有事件队列,没有请求队列。交易在计算和账户数量上都比 AMM v4 便宜。
- 燃烧并赚取兼容。 LP 代币可以在 LP Lock 程序下锁定,以便池创建者可以继续收取费用而无需保留提取流动性的权利。用于”永久”流动性启动。
CPMM 不是什么
- 不是集中的。 流动性均匀分布在整个价格范围内,就像 Uniswap v2。如果你需要资本高效的做市 — 即在当前价格附近集中流动性 — 使用 CLMM。
- 不是混合的。 与 AMM v4 不同,CPMM 池不在 OpenBook 市场上放置挂单。跨 CPMM 池的路由通过 AMM Routing 程序进行,而不是通过 CLOB。
- 不能为任意曲线启动。 曲线硬编码为常数乘积。如果你想要代币启动的绑定曲线,使用 LaunchLab,它在填满时升级为 CPMM 池。
CPMM 与 AMM v4 的区别
关于迁移故事的更深入讨论在
protocol-overview/versions-and-migration。
心智模型
CPMM 池是一个程序所有的对象,持有三个余额:vault0(token0)、vault1(token1)和 LP 铸币的供应量。LP 铸币的供应量跟踪存款人对池的权利;代币金库持有实际资产。其他一切 — 权限 PDA、观察账户、费用配置指针 — 都是簿记,使得这个三变量关系可交易、可收费和可观察。
每个面向用户的操作都会折叠为一个明确定义的状态转换:
- 存款: 转入 token0 和 token1,向用户铸造 LP,价格不变。
- 提取: 从用户烧毁 LP,按池的当前比率转出 token0 和 token1,价格不变。
- 交换: 转入一个代币,转出另一个;比率沿着
x · y = k曲线移动(减去费用);观察账户采样新价格。
products/cpmm/math 中详细说明,指令集在 products/cpmm/instructions。
何时选择 CPMM
在以下情况下选择 CPMM:- 你正在启动一个新代币或新交易对,对哪个范围会看到交易没有强烈的看法。
- 一个或两个代币都使用 Token-2022 扩展。
- 你想要一个简单的每笔交易费用模型,而不是动态的、基于 tick 的模型。
- 你正在集成,想通过 Raydium 路由,而不承担 CLMM 头寸的复杂性。
- 交易对是稳定的或高度相关的(稳定币对稳定币、LST-SOL),你想在平价附近集中流动性。
- 你是一个愿意主动管理范围以获得更高费用 APR(每美元 TVL)的做市团队。
- 你正在迁移现有的 AMM v4 工具,并且不是在创建新池。
接下来去哪里
- Accounts — CPMM 池的六个 PDA 及其推导方式。
- Math —
SwapBaseInputvsSwapBaseOutput、Token-2022 转账费处理、观察更新。 - Instructions — 完整的指令表面及账户列表。
- Fees — 四向费用分割及如何收集。
- Code demos — 创建/交换/存款/提取的可运行 TypeScript 代码片段。

