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.
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
バージョン情報
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - ネットワーク: mainnet-beta
- ルータープログラム ID:
routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS - 検証済み: 2026 年 4 月
例 1: SDK ベースのルーティング
ソース:src/trade/routeSwap.ts
Raydium SDK はルート構築を抽象化します。SDK のトレード関数を使用してマルチホップ ルートを構成し、ルーターを通じて自動的に実行します。
セットアップ
マルチホップ スワップの構築
@raydium-io/raydium-sdk-v2 のルーティングは raydium.tradeV2 に公開されています。プール データの取得、ルート計算、出力によるランク付け、スワップ トランザクションの構築の全体的なフロー は以下の通りです。これは raydium-sdk-V2-demo/src/trade/routeSwap.ts の標準例と一致します。
期待される動作
SDK は以下を処理します:- AMM v4、CPMM、CLMM、Stable AMM 全体のルート検出。
- アカウント導出(プール状態、ボルト、オブザベーション アカウント、ATA 事前作成)。
- ルートがマルチホップの場合はルータープログラム(
Router)の命令パッキング、または単一プールで既に最高の価格が得られる場合は直接プール スワップ。 getAllRouteComputeAmountOutのslippageパラメータを使用したスリッページ強制。
raydium.tradeV2.swap は複数の transaction を返す場合があります。最初のトランザクションは一般的に中間 ATA を初期化し、2 番目のトランザクションはスワップ自体を実行します。常に execute() に sequentially: true を渡して、順序通りに確認されるようにしてください。
例 2: 生命令の構築(Rust のような疑似コード)
より細かな制御が必要な場合、またはルーターに CPI を実行するプログラムを構築している場合は、命令を手動で構築します。以下の例では タグ 8(SwapBaseIn)(推奨される現在のバリアント)を使用し、ユーザー所有の ATA を通じてエンドツーエンドでルーティングします。
シナリオ: USDC → SOL(CPMM)→ mSOL(CPMM)
ステップ 1: ユーザーの ATA を導出
ステップ 2: 各ホップのアカウントを収集
ホップ 1 は CPMM 上の USDC/SOL です。ホップ 2 は CPMM 上の SOL/mSOL です。ステップ 3: 命令を構築
ステップ 4: トランザクションを送信
例 3: エラー処理
一般的なエラーと復旧方法:ExceededSlippage
出力がminimum_amount_out より少なくなりました。スリッページ許容度を上げるか、ルートを再クォートしてください。
SqrtPriceX64(CLMM)
CLMM ホップの価格がlimit_prices の境界外に移動しました。境界を更新して再試行してください。
InvalidOwner
中間または出力 ATA がコールの所有者によって所有されていません。ルーターはすべてのスロットで所有権を検証します。渡された各 ATA がユーザーのウォレットから導出されていることを確認してください(他の権限からではなく)。ヒントとベストプラクティス
中間 ATA を事前に作成
初めて新しい中間トークンを通じてルーティングする前に、ルート検証が失敗しないようにユーザーの ATA を作成します:CreateSyncNative(タグ 5)を使用してください。これは ATA を作成し、SOL を転送し、1 つの命令で同期します。
実行前にクォートする
命令を構築する前に必ずプールをクエリし、予想される出力を計算します:より新しい命令バリアント(8 ~ 9)を使用
タグ 8 と 9(SwapBaseIn と SwapBaseOut)は limit_prices で より寛容です。CLMM 価格検証が不要な場合は、レガシー バリアントより優先してください。
次のステップ
/ja/products/routing/instructions— 完全な命令リファレンス。/ja/products/routing/accounts— アカウント導出の詳細。/ja/products/cpmm/code-demos— 比較用の CPMM スワップの例。/ja/reference/program-addresses— 標準的なプログラム ID と devnet アドレス。
@raydium-io/raydium-sdk-v2on npmraydium-io/raydium-sdk-V2(オープンソース)raydium-io/raydium-sdk-V2-demo—routeSwap.tsを含む公式のエンドツーエンド デモ- AMM ルーティング プログラムのソースは公開されていません。プログラム ID をライブ API およびオンチェーン バイトコードに対して検証してください


