> ## 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ルーティング

> 単一トランザクション内で複数のプール（AMM v4、CPMM、CLMM、Stable）をまたいでスワップをチェーンする、ユーザーが制御する中間ATAを備えたプログラム。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/products/routing/index)
</Info>

## 概要

AMMルーティングプログラムは、Raydium の AMM プール間で複数ホップのスワップを 1 つのオンチェーントランザクション内で実行する CPI ルーターです。N 個の子プログラム CPI をクライアントコードにバンドルするのではなく、ルーターを 1 度呼び出し、ルートをアカウントのリストとして渡すだけです。ルーターは各ホップを正しいプールプログラム（AMM v4、CPMM、CLMM、または Stable）にディスパッチし、1 つのホップの出力を次のホップの入力としてチェーンします。

**プログラム ID：** [`reference/program-addresses`](/ja/reference/program-addresses) を参照してください。

**Devnet：** `DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd`。

**アカウントモデル：** すべての中間トークンはユーザーが所有する **ATA** を通じて流れます。ユーザーは入力 ATA で署名し、各中間 ATA をアカウントリストに提供します。推奨されるスワップエントリポイントはタグ 8（`SwapBaseIn`）とタグ 9（`SwapBaseOut`）で、CLMM ホップが関係ない場合は空の `limit_prices` デックを受け入れます。

## チャプター内容

<CardGroup cols={2}>
  <Card title="概要" icon="circle-info" href="/ja/products/routing/overview">
    ルーターが何をするのか、なぜ存在するのか、クライアント側のスティッチングとの使い分けについて。
  </Card>

  <Card title="アカウント" icon="database" href="/ja/products/routing/accounts">
    ユーザー ATA のレイアウト、ホップごとのアカウントブロック、プログラム ID スロットを読むことでルーターがディスパッチする仕組み。
  </Card>

  <Card title="計算" icon="function" href="/ja/products/routing/math">
    ルーターは計算を行いません。各ホップは独自のカーブから価格を決定します。スリッページはホップを通じて複合します。CLMM の場合は `limit_prices`。
  </Card>

  <Card title="命令" icon="terminal" href="/ja/products/routing/instructions">
    有効な 6 つの命令バリエーションのリファレンス：正確入力 / 正確出力の現在（8 / 9）およびレガシー（0 / 1）スワップ、および wSOL ユーティリティ（5 / 6）。
  </Card>

  <Card title="手数料" icon="percent" href="/ja/products/routing/fees">
    ルーター手数料なし。各ホップは基盤となるプログラムの手数料を支払います。CU コストはホップ数に応じて直線的に増加します。
  </Card>

  <Card title="コードデモ" icon="code" href="/ja/products/routing/code-demos">
    SDK と生命令構築を使用した TypeScript の例。
  </Card>
</CardGroup>

## このセクションを読むべき場合

* 1 つのトランザクションで 2 個以上のホップを持つルートを実行する必要があります。
* ルーターに CPI を行うプログラムを実装しています。
* クライアント側のスティッチングとオンチェーンルーティングの間で決定しているアグリゲーターです。

## 次へ進むべき場所

* [`products/routing/overview`](/ja/products/routing/overview) — 設計と動機。
* [`products/routing/instructions`](/ja/products/routing/instructions) — 完全な命令リファレンス。
* [`integration-guides/routing-and-mev`](/ja/integration-guides/routing-and-mev) — より広いルーティング戦略。
* [`integration-guides/aggregator`](/ja/integration-guides/aggregator) — アグリゲーターのコンテキストでルーターを使用する場合。

ソース：

* [`reference/program-addresses`](/ja/reference/program-addresses) — 正規のプログラム ID
* `raydium-io/raydium-programs/raydium-route` — ソースコード
