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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
バージョン情報。 すべての TypeScript デモは、Solana mainnet-beta に対して
@raydium-io/raydium-sdk-v2@0.2.42-alpha を対象としており、2026年4月時点で検証済みです。Rust CPI スケルトンは master ブランチの raydium-cp-swap を対象とし、Anchor 0.30.x に対応しています。プログラム ID は reference/program-addresses の定数から取得されます。前提条件
raydium-sdk-V2-demo/src/cpmm 内のファイルと対応しており、各セクションの横に GitHub リンクがあります。初期化はデモリポジトリの config.ts.template に従っています(ソース):
Raydium インスタンスは SDK のファサードであり、以下のすべてのデモで使用されます。api-v3.raydium.io からトークンリストと手数料設定を遅延フェッチします。オフライン環境では独自データでシードすることができます。
CPMM プールの作成
ソース:src/cpmm/createCpmmPool.ts
- PDA を導出する前に、ミントを token0/token1 順にソートします。
- ワンタイム
create_pool_feeをpoolFeeAccountに支払います。 - 呼び出し元の関連付けられたトークン アカウントがない場合は作成します。
- 各側に対して正しいトークン プログラム(SPL Token または Token-2022)を選択します。
スワップ(ベース入力)
ソース:src/cpmm/swap.ts
getPoolInfoFromRpc の内部で常に RPC からプール状態を再フェッチします。署名しようとするトランザクションに対して api-v3.raydium.io から見積もりを取得しないでください。1ブロック古い見積もりはランド時に ExceededSlippage にスリップできます。
スワップ(ベース出力)
ソース:src/cpmm/swapBaseOut.ts
流動性供給
ソース:src/cpmm/deposit.ts
lpAmount をプールの現在のリザーブを使用して needed_token_0 と needed_token_1 に変換し、各インストラクションの maximum_* 引数用に 1 + slippage を乗じ、必要に応じて ATA 作成をビルドします。
流動性撤回
ソース:src/cpmm/withdraw.ts
プロトコル手数料・ファンド手数料・クリエーター手数料の収集
ソース:src/cpmm/collectCreatorFee.ts、src/cpmm/collectAllCreatorFee.ts
これらのインストラクションは管理者またはクリエーター権限があり、通常は Raydium マルチシグまたはプール クリエーターが保有する署名者から呼び出されます。SDK はそれらをローレベルビルダーとして公開します:
PoolState から直接蓄積手数料を読み取ることができます:
Rust CPI スケルトン
独自の Anchor プログラムから CPMM を呼び出したい場合(例えば、預金者に代わってスワップを行うボールト)、CPI コンテキストは次のようになります。アカウント順はproducts/cpmm/instructions に従います。
CpiContext::new を CpiContext::new_with_signer に置き換え、シードを渡してください。
よくあるミス
サポート チケットを開く前の簡単なチェックリスト:- ソート済みミント。 導出した
poolStatePDA がオンチェーン プールと一致しない場合は、ミントをソートするのを忘れた可能性があります。 - 古い API 見積もり。
api-v3.raydium.ioからのリザーブ値をCurveCalculator.swapに渡さないようにしてください。RPC からフェッチしてください。 - 間違ったトークン プログラム。 Token-2022 ミントのボールトは SPL Token ではなく Token-2022 プログラムで管理されています。常にプールの
token_0_program/token_1_programフィールドを使用してください。 - 転送手数料ミント用の不十分なスリッページ。 プールのどちらかが Token-2022 転送手数料ミントの場合、
minimum_amount_outはボールトが送信するもの(金額)ではなく、ユーザーが実際に受け取るもの(金額)を単位として表す必要があります。 - スワップで
NotApproved。PoolState.statusを確認してください。管理者がそのプールでスワップを一時停止している可能性があります。ステータス ビットマスクについてはproducts/cpmm/instructionsを参照してください。
次のステップ
sdk-api/typescript-sdk— SDK リファレンス全体。sdk-api/rest-api— 見積もりとプール メタデータ エンドポイント。user-flows/create-cpmm-pool— 同じフロー のノンコード ウォークスルー。integration-guides/aggregator— マルチホップ パスの一部として CPMM をルーティングしている場合。


