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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
バージョン情報。 このページは
@raydium-io/raydium-sdk-v2@0.2.42-alpha を対象としています。このバージョンは本サイトのすべてのコード例で検証済みです(2026-04)。SDK は 1.0 未満であり、型サーフェスはリリース間で進化しています — バージョンをピンで固定してください。インストール
.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 はレガシー vs V0 トランザクション フォーマットを制御します。V0(アドレス参照テーブル)がデフォルトの推奨です — より大きなスワップを 1 つのトランザクションに収めることができます。
なぜ非同期ビルダーなのか?
ほぼすべてのビルダーは内部的にオンチェーン状態を取得します:プール情報(見積もり用)、トークン プログラム所有権(Token-2022 vs 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 は古い状態に対して計算され、オンチェーンの amoount-out を下回り、リバートする可能性があります。高額トランザクション構築前に直ちに 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 vs 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 source
- Raydium SDK リリース ノート。


