このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
バージョンバナー。 このページは
@raydium-io/raydium-sdk-v2@0.2.64-alpha を対象としており、このサイトのすべてのコード例で使用されているバージョンです。SDK は 1.0 未満であり、型サーフェスはリリース間で進化しています — バージョンをピン留めしてください。ピンは 2026-09-09 にプログラムアップグレードと共に 0.2.42-alpha から 0.2.64-alpha に進められました。これが SDK の現在のリリースです。コード例ページがリンクしている raydium-sdk-V2-demo リポジトリは 0.2.62-alpha をインストールするため、デモに従う場合はどちらかをピン留めしてください。これらのページのデモは最後に 0.2.42-alpha(2026-04)に対して実行されました。呼び出しシグネチャは 2026-09-09 に 0.2.64-alpha ソースに対して再確認されていますが、不一致がある場合はドキュメントのバグとして扱い、issue を開いてください。インストール
.d.ts をシップしています。最小ツールチェーン:Node 18+、TypeScript 5.0+、moduleResolution: "bundler" または "node16"。
初期化
エントリーポイントはRaydium.load です:
Raydium.load は非同期です。スタートアップ時に api-v3.raydium.io から小さな /config ペイロードを取得するためです(現在の AmmConfig アカウント、フィーティアなどをリストアップ)。オフライン環境では disableFeatureCheck: true を設定してください。これらの値を手動でいくつかのビルダーに供給する必要があります。
4つのモジュールファサード
ロード後、raydium オブジェクトは 4つのモジュールファサードを公開します。製品サーフェスごとに 1つ:
trade と token はサポートユーティリティです。)
トランザクションビルダー
すべてのミューテーション関数は、すぐに実行するのではなくビルダーを返します:execute— 署名 + 送信する便利関数。builder.executeと同等です。builder— すべての命令と署名者が蓄積されたTxBuilderインスタンス。.build()を呼び出してVersionedTransaction[]を取得します。独自の命令を注入したり、外部署名者で署名する必要がある場合に便利です。transaction/innerTransactions— 生の命令配列。複合マルチプログラムトランザクションを構築する場合に使用します。extInfo— 製品固有の追加情報。例えば、createPoolはextInfo.poolIdを返します。createLaunchpadは新しいローンチ状態 PDA を返します。
txVersion はレガシーと V0 トランザクション形式を制御します。V0(アドレスルックアップテーブル)がデフォルトの推奨事項です — より大きなスワップを単一トランザクションに収めることができます。
なぜ非同期ビルダーなのか?
ほぼすべてのビルダーは内部的にオンチェーン状態を取得します:プール情報(クォート用)、トークンプログラム所有権(Token-2022 対 SPL ルーティング用)、アカウント家賃免除(ATA 作成用)など。SDK は積極的にキャッシュしますが、新しいプールの最初の呼び出しには RPC ラウンドトリップが含まれます。再取得を避けるために、長寿命のraydium インスタンスを保持してください。
CLMM モジュール追加(最新リリース)
CLMM ファサードは、新しい動的フィー、片側フィー、およびリミットオーダー機能のサーフェスを獲得しました:raydium.clmm.createCustomizablePool—collectFeeOn、enableDynamicFee、およびdynamicFeeConfigIdを受け入れるcreatePoolのスーパーセット。新しいノブが必要な新しいプールに使用します。クラシックcreatePoolはデフォルトフィープールで機能し続けます。raydium.clmm.openLimitOrder— リミットオーダーをサポートするプール上で単一ティックリミットオーダーを開きます。poolInfo、poolKeys、limitOrderConfig(/main/clmm-limit-order-configから)、inputMint、inputAmount、およびターゲットtickを取ります。raydium.clmm.increaseLimitOrder/decreaseLimitOrder— 既存オーダーの未充足部分を調整します。完全に充足されたオーダーで減少するとInvalidOrderPhaseで戻ります。raydium.clmm.settleLimitOrder/settleAllLimitOrder— 充足された出力をオーナーの ATA に掃引します。オーダーのオーナーまたはプールのlimit_order_adminキーパーが呼び出すことができます。raydium.clmm.closeLimitOrder/closeAllLimitOrder— 完全に決済されたオーダーを閉じて家賃を回収します。raydium.api.getClmmDynamicConfigs()/getClmmLimitOrderConfigs()— 新しい/main/clmm-dynamic-configおよび/main/clmm-limit-order-configエンドポイントにヒットする REST ヘルパー。
utils/ を libraries/ に移動しました。@raydium-io/raydium-sdk-v2/utils/... からインポートしたコードは @raydium-io/raydium-sdk-v2/libraries/... に切り替える必要があります。トップレベルパッケージバレルは変更されていないため、ほとんどのユーザーは名前変更を見ることはありません。
エンドツーエンド TypeScript ウォークスルーは products/clmm/code-demos にあります。
一般的な落とし穴
1. クラスター不一致
SDK のスタートアップ設定はクラスター固有です。cluster: "mainnet" を devnet Connection と混ぜると、サイレント誤ルーティングが発生します:SDK は mainnet AmmConfig に対してクォートしますが、devnet に送信します。常に両方を渡してください。
2. ATA の事前作成を忘れる
ミントとの最初のインタラクションでは、ユーザーの関連トークンアカウントが存在しない場合があります。SDK は欠落している ATA を検出すると、AssociatedTokenAccount::create 命令を自動的に前置します。これは少量の家賃がかかります。ウォレットの SOL が少ない場合、これはサイレントに失敗します。再試行する前に確認して資金を提供してください。
3. 古い poolInfo
poolInfo はキャッシュされたスナップショットです。取得以降にプール状態が変更された場合(大きなトレードが価格を動かした場合など)、スワップの minAmountOut は古い状態に対して計算され、オンチェーン出力額を下回り、戻ります。高額トランザクションを構築する直前に poolInfo を再取得するか、SDK の computeAmountOut を使用してください。これは準備金を再クエリします。
4. プライオリティフィー
SDK はデフォルトでコンピュートユニット価格を追加しません。高ボリュームウィンドウ(新しいプール起動、ミームコインイベント)では、トランザクションは他の多くと競合し、ランドしない可能性があります。明示的なcomputeBudgetConfig を供給してください:
integration-guides/priority-fee-tuning を参照してください。
5. スリッページ許容度はプールタイプと一致する必要があります
CPMM と AMM v4 は CPMM 数学です(通常のトレードへの影響は低い)。CLMM は区分的です(ティック交差で影響がジャンプ)。CPMM の例から 0.5% のスリッページ許容度をコピーして、複数のティックを交差する CLMM スワップに入れると、トランザクションは戻る可能性があります。SDK のcomputeAmountOut は priceImpact を返します。許容度をそれより上にサイズしてください。
6. BN 対 number
SDK のすべての金額フィールドは bn.js BN インスタンスです — JavaScript number ではありません。.toNumber() 経由で金額値を変換すると、2^53 でサイレント切り詰めが発生します。約 9 クアドリリオン以上の値(9 進数ミントでは珍しくない)の場合、これは間違った結果を生成します。最終 UI レンダリングまですべてを BN に保持してください。
バージョニングポリシー
@raydium-io/raydium-sdk-v2は Raydium が保守する唯一の SDK です。すべてのドキュメント、デモ、および統合ガイダンスはこれをターゲットとしています。- 古い v1 パッケージ(
@raydium-io/raydium-sdk)は歴史的な理由で npm に存在します。メンテナンスは CPMM と LaunchLab がシップされた後に終了しました(v1 は両方ともサポートを獲得しませんでした)。2024 年以降、v1 リリースはありません。v1 をライフエンドとして扱ってください:新しいコードに使用しないでください。残っている v1 統合を v2 に移行してください。 - SDK v2 は 1.0 未満です。0.x マイナーリリース間の破壊的変更は可能です。検証したバージョンをピン留めし、アップグレード時に GitHub リリースノートを確認してください。
アップグレード
SDK マイナーバージョン間でアップグレードする場合:- すべてのミューテーション呼び出しの戻り値の型を再確認してください — 形状変更(例:
extInfo)は頻繁に発生します。 poolInfoフェッチシグネチャを再生成してください — フィールドが名前変更されている可能性があります。- スリッページ処理を再検証してください。SDK はリリース間で自動バウンドとオプトインバウンド動作の間でシフトしています。
raydium.trade(ルーティング)を使用する場合、ルート形状を再検証してください — これはサーフェスの最も不安定な部分です。
ヘルプを得る
SDK と API の質問については:- GitHub issues — バグと機能リクエストについては github.com/raydium-io/raydium-sdk-V2/issues にファイルしてください。Raydium チームは積極的に監視しています。
- Discord — 同期ヘルプについては discord.gg/raydium の
#dev-supportチャネル。 - Telegram — raydium.io からリンクされた開発者チャット(未検証の Telegram グループは避けてください)。
security/disclosure を参照してください。
ポインタ
sdk-api/rest-api— SDK の HTTP 補完。sdk-api/trade-api— サーバー構築スワップトランザクション。sdk-api/anchor-idl— プログラム IDL から直接クライアントを再生成。sdk-api/python-integration—solana-py経由の Python 同等物。integration-guides/priority-fee-tuning—computeBudgetConfigのサイジング。
- Raydium SDK v2 ソース
- Raydium SDK リリースノート。

