> ## 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.

# 交换

> 通过 Raydium UI 执行代币交换：选择代币、审查路由、设置滑点和优先费用、签名并排查常见故障。

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

  [查看英文版 →](/user-flows/swap)
</Info>

交换是最常见的用户操作。本页面将介绍 Raydium UI 的流程，解释你可以控制的设置，并列举你可能遇到的故障模式。

## 输入参数

每次交换需要：

* **输入代币**（Mint 地址 + 数量）
* **输出代币**（Mint 地址）
* **滑点容限**（UI 默认 0.5%；波动性强的交易对为 1%）
* **优先费用**（默认自动计算）

数量可以指定为"精确输入"（你设定支付金额，输出被计算）或"精确输出"（你设定获得金额，输入被计算）。UI 默认为精确输入。

## UI 操作流程

在 [raydium.io/swap](https://raydium.io/swap)：

1. **输入数量。** 选择输入和输出代币；在任一框中输入数量。另一个框会使用当前报价自动填充。

2. **查看路由。** 路由面板显示 Raydium 选择的池：

   * 单池（最常见）："SOL → USDC via CLMM 0.05%"
   * 多跳路由："SOL → USDC via CPMM，然后 USDC → RAY via CLMM"
   * 分割："SOL → USDC via 60% CLMM 0.05%，40% CPMM 0.25%"

   对于每一跳：显示 TVL、费用和预期价格影响。较大的交易在影响超过 1% 时会显示醒目警告。

3. **检查滑点。** 默认为 0.5%。稳定交易对为 0.1%；Meme 代币为 2–5%。如果你在查看报价时价格波动（价格频繁变化），UI 每 10 秒会重新报价并闪烁提示。

4. **设置优先费用。** 默认自动；三个等级：
   * **普通**（50 百分位）— 默认
   * **快速**（75 百分位）
   * **涡轮**（95 百分位）
     高级用户可以输入具体的微兰波/计算单元数字。

5. **确认并签名。** 交易发出；UI 跟踪确认。在正常拥堵下预期时间为 5–15 秒。

6. **交换后。** UI 显示实际收到的金额（可能与报价相差至多滑点）；点击以在交易浏览器中查看完整细节。

## 路由如何选择池

当同一交易对存在多个池时，Raydium 的路由器按以下方式选择：

1. **费用后的最高 `amountOut`。** 计算每个合格池的报价；选择输出最多的池。
2. **按 TVL 打破平局。** 更高的 TVL 意味着对下一笔交易的影响更小——对报价和提交之间的价格波动更具抵抗力。
3. **优先选择单池而非多跳。** 多跳会叠加费用和滑点；路由器只在多跳比单池好超 5 个基点时才选择多跳。
4. **大额交易时分割。** 对于相对于池 TVL 较大的交易，路由可能会在多个池之间分割以降低价格影响。

典型交易对上的产品对比：

* **CPMM 池**在低 TVL（`<$1M`）时主导，因为创建成本低，交换费用份额直接资助 LP。
* **CLMM 池**在中等/高 TVL 的波动性交易对上主导——集中流动性在常见价格范围内提供更好的报价。
* **AMM v4** 池在与 OpenBook 深度集成的老牌交易对上主导（SOL-USDC、RAY-USDC）。大多数新交易对从不使用 AMM v4。

## Token-2022 转账费用

如果输入或输出 Mint 是带有转账费用的 Token-2022：

* 报价的 `amountOut` 是用户在费用后的净收到金额。
* UI 中显示的"费用"分为"池费用"（LP 费用）和"转账费用"（支付给 Mint 发行者）。

详见 [`algorithms/token-2022-transfer-fees`](/zh/algorithms/token-2022-transfer-fees)。

## 滑点

滑点保护你免受报价和执行之间的价格逆向波动。Raydium 将你的滑点百分比转换为你必须收到的最少金额：

```
minimumAmountOut = expectedAmountOut × (1 - slippage)
```

如果实际输出会更少，交易会以 `ExceededSlippage` 回滚。常见的默认值：

| 交易对类型             | 滑点        |
| ----------------- | --------- |
| 稳定对稳定             | 0.01–0.1% |
| 主流对主流（SOL/USDC）   | 0.1–0.5%  |
| 中等市值波动对           | 0.5–1%    |
| Meme 代币           | 2–5%      |
| 带转账费用的 Token-2022 | 加上转账费用到滑点 |

太紧的滑点会在正常价格波动下频繁导致回滚。太松的滑点会招致三明治攻击（详见 [`integration-guides/routing-and-mev`](/zh/integration-guides/routing-and-mev)）。

## 优先费用

优先费用在拥堵期间向验证者支付更多以处理你的交易。UI 默认自动设置。当网络繁忙、你交换波动性强的交易对或前一笔交易在确认前过期时，使用**快速**或**涡轮**。

更高的优先费用不会改善报价价格。它们只能提高你的交易在报价过期前落地的几率。

## 常见故障模式

### 交易回滚，显示 `ExceededSlippage`

报价和执行之间价格移动超过你的容限。修复方法：

1. 仅在必要时增加滑点。
2. 减少交易规模（减少影响）。
3. 重新报价并重试；价格可能是暂时性的。
4. 避免在主流交易对上设置非常高的滑点，因为可能导致执行更差。

### 交易超时

当前拥堵下优先费用太低。修复方法：提高优先费用；详见 `integration-guides/priority-fee-tuning`。

### CLMM 交换时 `InvalidAccountData`

路由可能依赖于一个加载失败或在报价开启时变化的 CLMM 账户。刷新页面、重新报价并重试。如果持续存在，如果 UI 提供其他路由选项，请选择另一条路由。

### "找不到池" / 池数据过期

池最近创建且尚未索引。通过 ID 直接重新获取：
等待几分钟，刷新应用，然后按池或代币 Mint 再次搜索。新创建的池可能需要一些时间才能出现在索引 UI 搜索中。

### 输出为零 / 非常小

交换大小超过池流动性。池太浅；减少交易规模、尝试其他路由或等待更多流动性。

### 交易已确认但余额没有变化

刷新你的钱包和 Raydium 余额。如果交易在浏览器上成功，检查输出代币账户是否在你的钱包 UI 中被隐藏。

## 验证

使用 Raydium 确认后显示的交易链接。在 Solscan 或 SolanaFM 上，检查：

* **状态：** 成功。
* **签署者：** 你的钱包地址。
* **代币余额变化：** 输入代币减少，输出代币增加。
* **调用的程序：** Raydium 交换程序加上代币/系统程序。

## 参考链接

* [`products/cpmm/instructions`](/zh/products/cpmm/instructions) / [`products/clmm/instructions`](/zh/products/clmm/instructions) — 按产品的交换指令详情。
* [`algorithms/slippage-and-price-impact`](/zh/algorithms/slippage-and-price-impact) — 正式定义。
* [`integration-guides/aggregator`](/zh/integration-guides/aggregator) — 为开发者深入讲解的路由逻辑。

来源：

* [raydium.io/swap](https://raydium.io/swap) — 生产环境交换 UI。
