このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →バージョン バナー。 すべての例は Solana メインネット ベータに対する
@raydium-io/raydium-sdk-v2@0.2.64-alpha を対象としており、2026-09-09 に検証済みです — 以下のビルダー名、パラメータ名、パラメータ型はすべて、そのリリースのソースおよび raydium-sdk-V2-demo/src/amm に対して確認されています。プログラム ID:675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8(reference/program-addressesを参照)。最初の統合でほとんどの人がはまる 2 つの罠:computeAmountOut の slippage は Percent ではなく素の数値(0.005 = 0.5%)であること。そして liquidity.swap は inputMint を base58 文字列として 必須 とすることです。バージョン情報。 すべてのデモは
@raydium-io/raydium-sdk-v2@0.2.64-alpha を対象とし、Solana mainnet-beta に対して検証済み(2026-04)。プログラム ID:675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8(reference/program-addresses を参照)。新規プール作成はここでは説明していません。 Raydium UI は AMM v4 プール作成を提供しなくなり、新しいペアはデフォルトで CPMM になります。AMM v4 プログラム自体は引き続きオンチェーンで
Initialize2 を受け入れていますが、推奨されるパスではありません。以下のデモは、すべてのインテグレーターが必要とするライブプール操作をカバーしています:スワップ、デポジット、ウィズドロー。セットアップ
ID でプールを取得
poolKeys はインストラクションビルダーが使用する構造体です。プログラムが期待する順序ですべての AMM v4 アカウントを保持し、さらに現在のプログラムが位置的に受け取るもののもう読み取らないレガシーなマーケット フィールドも含みます。
スワップ(ベースイン)
スワップ(ベースアウト)
リクイディティを追加
fixedSide: "a" は、正確な amountInA を指定し、amountInB は最大で maxAnotherAmount であることを SDK に伝えます。比例計算はボルト残高から蓄積された PnL を差し引いた値に基づいて行われます — 先に決済すべきオンブックのコンポーネントはもう存在しません。
リクイディティを削除
コンピュートユニット / プライオリティフィーの調整
OpenBook の削除以降、AMM v4 のスワップはマーケット状態を一切検証しなくなったため、V1 のSwapBaseIn は以前よりも明らかに安価です — そして SwapBaseInV2(8 アカウント、マーケットのプレースホルダなし)はさらに安価です。過去の数値から予算を組むのではなく、自分の経路を測定し、常に明示的なコンピュートユニット制限を渡してください:
computeBudgetConfig を省略した場合、SDK は独自のデフォルトを使用する可能性があります。返された transaction を検査して確認してください。integration-guides/priority-fee-tuning を参照してください。
直接 Rust CPI
独自の Anchor プログラムから AMM v4 に CPI する必要がある場合、SwapBaseIn のアカウントリストを逐語的にモデル化する必要があります。最小限のスケッチ:
Instruction を使用しています。
上記の CPI スケッチは、既存のトランザクションを読み取り/再現するために レガシー v1
SwapBaseIn レイアウト(タグ 9、17 アカウント)を使用しています。2026-07 アップグレード以降、マーケットアカウントは受け入れられていますが無視されます。新しいコードの場合は SwapBaseInV2 / SwapBaseOutV2 (タグ 16 / 17)を優先してください。これらはマーケットアカウント(および amm_open_orders)を削除し、8 つのアカウントのみを渡します:token_program、amm、amm_authority、2 つのプールボルト、2 つのユーザートークンアカウント、および user_owner。よくある落とし穴
- v1 スワップでのアカウント数の誤り。 レガシー
SwapBaseIn/SwapBaseOutは引き続き完全な 17 アカウント(または 18 アカウント)リストを必要とします — 不一致の 数 はWrongAccountsNumberで戻ります。マーケットアカウントの 内容 はもはや検証されていませんが、それでもスロットを占める必要があります。これを避けるために V2 エントリーポイントを優先してください。 - 生のボルト残高を読み取る。 リザーブはボルトのみになりました。累積 PnL(
need_take_pnl_*)を差し引いてください。SDK クォートまたはapi-v3.raydium.io/pools/info/idsがこれを処理します。 - 削除されたインストラクションを呼び出す。
MonitorStep、MigrateToOpenBook、WithdrawSrm、SimulateInfo、AdminCancelOrders、およびレガシーInitialize/PreInitializeは現在戻ります。プール作成にはInitialize2を使用してください。呼び出すクランクはありません。 - Token-2022 ミント。 サポートされていません。AMM v4 プールは Token-2022 ミントに対して作成できません。Token-2022 ペアは CPMM または CLMM にある必要があります。
次のステップ
products/amm-v4/instructions— これらのデモの背後にあるインストラクションレベルのサーフェス。user-flows/migrate-amm-v4-to-cpmm— LP が移行を検討している場合。integration-guides/priority-fee-tuning— 重い AMM v4 スワップのプライオリティフィーサイジング。

