このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
Stable AMM は独立したプログラムです。プール側のアカウント構造は AMM v4(AmmInfo、ボルト、オーソリティ)に似ており、さらにルックアップテーブルを保存する
ModelDataInfo アカウントを持ちます。このページでは両方をカバーしています。インベントリ
純粋 AMM。 Stable AMM はすべてのリクイディティを独自のボルトに保有し、OpenBook に依存しません。初期段階では OpenBook マーケットメイキングパスを持っていましたが、そのパスは長年休止状態にあり、2026-06-22 アップグレードで残存コードが削除されました。以下の
serum_* マーケットアカウントと amm_open_orders はレガシーです。古いレイアウトのトランザクションでは後方互換性のため引き続き表示される可能性がありますが、プログラムはそれらを検証または読み取らず、新しいレイアウトの命令ではそれらを完全に省略します。| カテゴリ | アカウント | オーナー | 役割 |
|---|---|---|---|
| プール | AmmInfo | Stable プログラム | プール状態、ボルトとモデルデータアカウントへの参照。 |
| プール | amm_authority | Stable プログラム | ボルト移動に署名するプログラム所有 PDA。すべての Stable AMM プール間で共有。 |
| プール | amm_target_orders | Stable プログラム | プール側グリッドアカウント(レイアウトに保持;OpenBook オーダーを駆動しなくなった)。 |
| プール | pool_coin_token_account | SPL Token | プールのコイン側ボルト。 |
| プール | pool_pc_token_account | SPL Token | プールの pc 側ボルト。 |
| プール | lp_mint | SPL Token | ファンジブル LP ミント。 |
| モデル | model_data_account | Stable プログラム | ルックアップテーブル:50,000 × DataElement。 |
| レガシー | amm_open_orders | OpenBook | プールの古い OpenBook OpenOrders アカウント。未使用。 |
| レガシー | serum_market | OpenBook | OpenBook マーケット。未使用。 |
| レガシー | serum_bids、serum_asks | OpenBook | ビッド/アスクキュー。未使用。 |
| レガシー | serum_event_queue | OpenBook | イベントキュー。未使用。 |
| レガシー | serum_coin_vault、serum_pc_vault | SPL Token | OpenBook マーケットレベルボルト。未使用。 |
| レガシー | serum_vault_signer | OpenBook | マーケットレベルボルト署名者。未使用。 |
AmmInfo
ルート状態アカウント。レイアウトは AMM v4 とほぼ同一です。プールパラメータ、デシマル、フィー、ボルト/ミント参照に加えて、ルックアップテーブルを指す model_data_key フィールドが 1 つ追加されています。
model_data_key— ルックアップテーブルのアドレス。すべての命令に渡す必要があります。fees— AMM v4 と同じ構造。デフォルトは 0.25% トレードフィー、0.22% LP / 0.03% プロトコル分割。coin_vault、pc_vault— プールのボルト。status— スワップ/デポジット/ウィズドロー/クランクをゲートするビットマスク。out_put.need_take_pnl_*—WithdrawPnlによってスイープされます。
ModelDataInfo
ルックアップテーブル。価格/数量ポイントの大規模なスパース配列。
InitModelData(アカウントを作成)と UpdateModelData(要素を入力し、valid_data_count を設定)— は 2026-06-22 アップグレードで削除されました。既存プール上のテーブルは現在固定されています。実行時に、呼び出し可能な残りの命令はそれらを消費します:
- スワップ/デポジット/ウィズドローは、
elements[0..valid_data_count]内でバイナリサーチと補間を行うルックアップ関数を呼び出します。
DataElement
テーブル内のアトミックエントリ。バイナリサーチが機能するために、ソート済み(x 昇順、y 降順、価格昇順)である必要があります。
オーソリティとボルト
AMM v4 と同じです:amm_authorityは、シード["amm authority"]で導出される単一のプログラム全体 PDA です。すべてのプールボルトを所有し、それらの移動に署名します。- ボルトは、SPL Token アカウントで、オーナーは
amm_authorityです。ATA ではありません。
ステータスビットマスク
AMM v4 と同じです。スワップ/デポジット/ウィズドロー/クランクが有効かどうかを制御します。フィーと PnL トラッキング
out_put 構造体は以下を追跡します:
need_take_pnl_coin、need_take_pnl_pc— 発生したがまだスイープされていないプロトコルフィー。WithdrawPnlがこれらを移動します。swap_coin_in_amount、swap_pc_in_amountなど — 分析カウンター。
アカウントサイズ
ModelDataInfo は大きいです(約 1.2 MB、50,000 要素 × 要素あたり 24 バイト)。これが Stable プール作成に明示的なレント割り当てとアカウント事前割り当てが必要な理由です。Raydium SDK とツールはこれを透過的に処理します。インテグレーターが手動で割り当てる必要はほぼありません。
ゼロからアカウントを導出する
AMM v4 と同様に、Stable AMM はシード付きキー(純粋 PDA ではない)を使用します。正規のプール ID は以下を通じて導出されます:どこで何を読むか
- 命令アカウントリスト:
products/stable/instructions。 - 補間がテーブルをどのように使用するか:
products/stable/math。 - フィー構造と WithdrawPnl:
products/stable/fees。 - 2026-06-22 OpenBook デカップリング:
reference/changelog。

