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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
公開されているティア
CPMM および CLMM とは異なり、AMM v4 にはAmmConfig アカウントが存在しません。フィーはプール作成時に各プールの AmmInfo.fees 構造体に直接保存され、固定されます。現在稼働している実質的にすべての AMM v4 プールに適用されるデフォルト値は以下の通りです。
| オンチェーンフィールド | デフォルト値 | 説明 |
|---|---|---|
swap_fee_numerator / swap_fee_denominator | 25 / 10_000 | AMM パススワップの総トレードフィー:入力額の 0.25%。 |
trade_fee_numerator / trade_fee_denominator | 25 / 10_000 | OpenBook 統合によって手数料を含むリミットオーダー価格設定を計算するために使用されます。デフォルトでは swap_fee と同じ 0.25% です。 |
pnl_numerator / pnl_denominator | 12 / 100 | プロトコルのスワップフィー取得率:12% ──つまり 0.25% × 12% = 0.03% の出来高。need_take_pnl_* カウンターに累積します。 |
min_separate_numerator / min_separate_denominator | 5 / 10_000 | フィー分配丸め処理で使用される内部精度のフロア。 |
pnl_numerator / pnl_denominator はトレード出来高に対してではなく、スワップフィーに対する割合である点に注意してください。これはよくある誤読です。LP の取得率は補集合(フィーの 88% = 出来高の 0.22%)であり、暗黙的です。個別の「LP 取得率」分子は存在しません。
初期段階で作成された少数のプールは異なる分子値を持つ場合があります。常に引用前に AmmInfo.fees を読み込んでください。
ファンドフィーもクリエイターフィーも存在しません。これらは CPMM/CLMM の発明であり、AMM v4 の元々のフィーモデルには存在しない概念です。
分配の計算方法
各スワップにおいて、プールは入力額から総トレードフィーを徴収してから、以下のように配分します。lp_portionはボルトに残り、次のkに貢献します。LP は後に LP トークンを償却することでこの部分を獲得できます。pnl_portionは、スワップの入力側に応じてAmmInfo.state_data.need_take_pnl_coinまたはneed_take_pnl_pcをインクリメントします。
TakePnl は価格を変動させずにトークンを移動できます。
OpenBook からの PnL(過去)
現在は発生していません。 OpenBook 統合は無効化されているため、このセクションで説明する2 番目の PnL ストリームは生成されなくなりました。既存プールの
total_pnl_{coin,pc} カウンターは履歴値を保持している可能性がありますが、新しい額は追加されません。上記の 0.03% プロトコルフィーパスは影響を受けず、引き続きアクティブです。MonitorStep 中にプールボルトに決済され、プログラムはそれらを state_data.total_pnl_{coin,pc} に情報提供カウンターとしてクレジットしました。
- プールの発注グリッドが曲線価格周辺で正しく較正された場合、OpenBook 約定はプールに対してフィー正の値になる傾向がありました。AMM は OpenBook でマーケットメイキングを行い、メイカーリベートを獲得していました。
- OpenBook が一時停止されたり、イベントキューが満杯になった場合、プールは不利な価格で約定した古いオーダーに保持される可能性があり、ネガティブな PnL が発生しました。この運用上の結合は、ハイブリッド設計から移行する動機の 1 つでした。
回収
管理者(Raydium マルチシグ)はWithdrawPnl / TakePnl を呼び出して、need_take_pnl_* をプログラムの AmmConfig(CPMM スタイルの per-pool AmmConfig ではなく、異なるプログラム スコープのコンフィグ)に設定されたプール レベルの「PnL オーナー」アカウントにスイープします。スイープの処理:
- まず保留中の OpenBook 約定を決済します。(OpenBook が無効化されている現在は no-op です。)
need_take_pnl_coin/need_take_pnl_pcをプールボルトから PnL の宛先にトランスファーします。- カウンターをゼロにします。
TakePnl コール全体で価格変動を認識しないはずです。
LP フィーの償却
専用の「LP フィーの回収」命令は存在しません。LP フィーはボルトに蓄積され、k は時間とともに拡大します。LP は Withdraw で LP トークンを燃焼することで実現します。LP トークンの価値は (coin_reserve_effective, pc_reserve_effective) の増加に伴い単調に成長します。
ビジュアライゼーション:$1,000 の出来高がどこに行くか
デフォルトパラメータのプールに対する USDC-heavy スワップ $1,000 の場合:AmmConfig[0](0.25% ティア、クリエイターフィーなし)と比較:LP は $2.10、プロトコル $0.30、ファンド $0.10 を獲得します。CPMM は AMM v4 の同等ティアで LP に割り当てられるはずだったものからファンド行を切り出すことで導入します。
比較表
| AMM v4 | CPMM index=0 | CLMM index=2 | |
|---|---|---|---|
| トレードフィー | 0.25% | 0.25% | 0.25% |
| LP | 0.22% | 0.21% | エミッションにより異なる |
| プロトコル | 0.03% | 0.03% | ティアごと |
| ファンド | N/A | 0.01% | ティアごと |
| クリエイター(オプション) | N/A | デフォルトで 0 | N/A |
| フィーの保存場所 | プールボルト + need_take_pnl_* | プールボルト + protocol_fees_* + fund_fees_* | グローバル + ティックごと + ポジションごと |
reference/fee-comparisonを参照してください。
インテグレーター向けメモ
- クオート。 SDK または
api-v3.raydium.io/pools/info/idsを経由してAmmInfoをフェッチしてください。生のボルトバランスに対する独自のクオート計算は実行しないでください。OpenBook エスクロー額と PnL 除外の両方が実効リザーブをgetTokenAccountBalanceで表示される内容から引き離します。 - 古いフィーパラメーター。 原則として
SetParamsはswap_fee_numeratorを変更する可能性がありますが、実際には Raydium マルチシグはいかなるライブプールのデフォルトも変更していません。それでも、常にハードコード化するのではなくオンチェーン状態から読み込んでください。 - リワードなし。 AMM v4 はオンプール報酬エミッションをサポートしていません。レガシーエコシステムファーム(Farm v3 / v5 / v6)はステーキング層の同等物です。
products/farm-stakingを参照してください。
次のステップ
products/amm-v4/math— 曲線内のトレードフィー導出。products/amm-v4/instructions—WithdrawPnl/SetParamsアカウントリスト。reference/fee-comparison— 並列マトリックス。
- Raydium AMM program —
raydium-io/raydium-amm - オンチェーン AMM v4 フィー分子/分母フィールド(メインネット
AmmInfoアカウントに対して検証済み)。


