> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# AMM v4 概览

> Raydium 最初的恒定乘积 AMM。原本是一个混合设计，将曲线作为限价单镜像到 OpenBook；OpenBook 依赖已从程序中移除，池现在作为纯 AMM 运行。

<Info>
  **本页内容由 AI 自动翻译，所有内容以英文版本为准。**

  [查看英文版 →](/products/amm-v4/overview)
</Info>

<Warning>
  **AMM v4 的 OpenBook / Serum 依赖已被移除（2026-07 程序升级）。** 实时交换仅针对 AMM 曲线执行。`MonitorStep` crank、订单簿 CPI 和做市指令已从程序中**移除**，现在调用时会回滚；`serum_dex` 依赖已消除。v1 `SwapBaseIn` / `SwapBaseOut`、`Deposit` 和 `Withdraw` 指令保持其旧账户布局（市场账户仍按位置接受，但不再验证或使用）。将 AMM v4 视为纯恒定乘积 AMM；下面保留的混合材料仅供历史参考。参见 [2026-07-22 更新日志条目](/zh/reference/changelog/2026-07-22-amm-v4-openbook-removal)。
</Warning>

## 一句话总结

AMM v4 是 Raydium 推出时的程序。它维持恒定乘积不变量（`x · y = k`）。它最初被设计为**混合 AMM**：每个池都建立在 OpenBook（原 Serum）限价订单簿市场之上，并将其曲线的部分作为限价单镜像到该簿上，因此用户和聚合器可以直接针对池交换（AMM 路径）或针对池在 OpenBook 上拥有的限价单交换（CLOB 路径）。**OpenBook 依赖已从程序中移除** — 池不再在 OpenBook 上发布或维护订单，所有当前交换流量都通过仅 AMM 的 V2 交换入口点流动。不支持 Token-2022。AMM v4 **仍然作为恒定乘积 AMM 完全可运行** — 每个池继续交易，费用继续累积，LP 继续赚取收益 — 但 UI 和 SDK 默认将新池创建为 [CPMM](/zh/products/cpmm)，因为 CPMM 更便宜且支持更多铸币类型。

## 混合历史（背景）

在推出时，在 Serum 订单簿旁建立池存在分散流动性的风险。混合设计将 AMM 的曲线作为限价单发布到簿上，因此订单簿路由器可以免费看到池的深度。在 2022 年末 OpenBook 从 Serum 分叉后，该程序继续针对 OpenBook 工作，改动最少。随着 CPMM 和链上聚合器的成熟，订单簿端的优势消退，AMM v4 的 OpenBook 集成最终被关闭 — 曲线现在是池的唯一执行表面。

## AMM v4 提供的功能（CPMM 没有）

* **主要交易对的深度流动性。** 具有大量 AMM v4 TVL 的主要交易对（SOL-USDC、mSOL-USDC 等）仍然是这些交易最深的场所。

（历史上，AMM v4 还通过 OpenBook 混合机制提供订单簿端的可见性，但该路径不再活跃。任何以前通过 AMM 的 OpenBook 订单路由的集成商现在应该直接通过 AMM 交换入口点路由。）

## AMM v4 不提供的功能

* **Token-2022。** 不支持。AMM v4 在 Token-2022 存在之前编写；其账户布局假设经典 SPL Token。
* **v1 交换上的低账户数。** 旧版 `SwapBaseIn` / `SwapBaseOut` 布局仍然将 OpenBook 市场账户作为位置占位符（它们被接受但不再验证或使用）。使用 `SwapBaseInV2` / `SwapBaseOutV2` 来删除它们并缩小交易。
* **低计算使用量。** 即使是 V2 交换的成本也比 CPMM 交换高。
* **默认新池流程。** 新池使用 `Initialize2` 创建（旧版 `Initialize` / `PreInitialize` 入口点已被移除，现在调用时会回滚）。Raydium UI、SDK 和 `api-v3.raydium.io` 不再显示"创建 AMM v4 池"按钮 — 新池的默认路径是 CPMM。

## AMM v4 与 CPMM 的区别

| 维度           | AMM v4            | CPMM                |
| ------------ | ----------------- | ------------------- |
| 曲线           | 恒定乘积              | 恒定乘积                |
| OpenBook 依赖  | 已移除（原本有；现已从程序中删除） | 否                   |
| Token-2022   | 否                 | 是                   |
| 每次 V2 交换的账户数 | \~9               | \~11                |
| 每次交换的计算单位    | \~80k–120k（V2 路径） | \~60k–100k          |
| LP 费用        | 交易量的 0.22%        | 因 `AmmConfig` 而异    |
| 协议费用         | 交易量的 0.03%（固定）    | 因 `AmmConfig` 而异    |
| 基金费用         | 无                 | 是                   |
| TWAP 预言机     | 无原生观察账户           | `observation` 环形缓冲区 |
| 新池的默认值       | 否（仍被接受）           | 是                   |

更多费用详情：[`products/amm-v4/fees`](/zh/products/amm-v4/fees) 和 [`reference/fee-comparison`](/zh/reference/fee-comparison)。

## 心智模型

今天的 AMM v4 池是一个恒定乘积 `x · y = k` AMM。两个金库都完全可用于曲线 — 没有部分被提交给 OpenBook 订单，因为 OpenBook 集成已被移除。操作是**交换**（用户 ↔ 池，通过 `SwapBaseInV2` / `SwapBaseOutV2`）和**存入** / **提取**（LP 操作）。旧的 **crank**（`MonitorStep`）已被移除，现在调用时会回滚。

*历史心智模型（停用前）：* 每个金库的一部分被托管为开放簿订单；已填充订单的结算发生在交换和 LP 操作期间；路由交换可以针对池自己的 OpenBook 订单填充。这些都不再运行。

## 为什么 CPMM 是推荐的默认选择

CPMM 消除了 OpenBook 依赖。权衡如下：

* CPMM 交易的计算成本便宜 2×–3×。
* CPMM 支持 Token-2022 铸币。
* 聚合器现在通过 Raydium SDK 直接集成 CPMM，因此订单簿可见性的优势在很大程度上已过时。
* 运营风险：历史上 OpenBook 中断或暂停可能会降低 AMM v4 池的性能（陈旧订单）。由于 OpenBook 依赖现已从程序中移除，该耦合已消除 — 但 CPMM 仍然是推荐的、成本更低的默认选择。

参见 [`protocol-overview/versions-and-migration`](/zh/protocol-overview/versions-and-migration) 了解迁移指导。

## 何时选择 AMM v4

* 你正在路由交换，候选池之一是具有最佳价格的 AMM v4 池。
* 你正在现有 AMM v4 池中提供或管理流动性 — 迁移是一个选择，不是必需的；池继续作为纯 AMM 运行。
* 你维护针对 AMM v4 构建的集成，没有理由迁移。

（OpenBook 上的订单簿可见性不再是选择 AMM v4 的理由 — 该集成已关闭。）

对于新的恒定乘积池，[CPMM](/zh/products/cpmm) 是更简单的默认选择。

## 后续步骤

* [账户](/zh/products/amm-v4/accounts) — AMM 的账户，加上现在已过时的 OpenBook 参考字段。
* [数学](/zh/products/amm-v4/math) — 具有 AMM v4 费用约定的恒定乘积交换数学。
* [指令](/zh/products/amm-v4/instructions) — 指令表面：`Initialize2`、`Swap`（v1 / V2）、`Deposit`、`Withdraw`、`WithdrawPnl`、`SetParams`。
* [费用](/zh/products/amm-v4/fees) — 0.25% 的分割及其收集方式。
* [代码演示](/zh/products/amm-v4/code-demos) — 交换和 LP 流程的 TypeScript 示例。

来源：

* [`reference/program-addresses`](/zh/reference/program-addresses) 获取规范程序 ID
* OpenBook 程序存储库获取本页引用的对方账户
