> ## 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.

# 2026-06-22 — Stable AMM: OpenBook（マーケット）の不要なコード削除

> Stable AMM は休止中の OpenBook マーケットメイキングアカウントとコードを削除します。Swap/Deposit/Withdraw レイアウトの縮小、WithdrawPnl の破壊的変更、プールアセット計算式の簡略化が含まれます。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/reference/changelog/2026-06-22-stable-amm-openbook-cleanup)
</Info>

Stable AMM は**独立したプログラム**（独自のプログラム ID を持ち、AMM v4 プログラムを通じて取引されません）です。**OpenBook に注文を送信することを長い間やめており**、OpenBook マーケットメイキングパスは数年間休止状態にありました。このアップグレードはクリーンアップです。**現在不要になったマーケット関連のアカウントとコードをインストラクションレイアウトから削除します**。ライブトレーディング動作は**変わりません** — 残っていた OpenBook 注文はありません。

## インテグレーター向け TL;DR

* **Swap / Deposit / Withdraw は変更なしで動作し続けます。** 古いアカウントレイアウトで構築されたトランザクションは実行されます — 削除された Serum/マーケットアカウントは単に無視されます。既存フローを維持するためにクライアント更新を配布する**必要はありません**。
* **ただし、新しい小さいレイアウトへの移行をお勧めします。** 新しいレイアウトは不要なマーケットアカウントを削除し、トランザクションサイズを削減します：`SwapBaseIn` / `SwapBaseOut` は **18 → 9** アカウント、`Deposit` は **14 → 12**、`Withdraw` は **21（+1 オプション）→ 12** になります。互換性パスは将来のリリースで削除されます。
* **`WithdrawPnl` は破壊的変更です（管理者のみ）。** **互換性解析なしで** **16（+1 オプション）→ 10** アカウントになります。古いレイアウトを送信すると、アカウントのずれ（古い #3 は `open_orders`）により `InvalidTokenCoin` などの検証エラーで失敗します。`WithdrawPnl` を呼び出す管理者ツールは更新が必要です。
* **`Withdraw` と `WithdrawPnl` からリファーラルフィーを削除。** オプションの `referrer_pc_wallet` アカウントは `Withdraw` の古いレイアウトで後方互換性のために渡すことができますが、効果がなくなります。
* **プールアセット会計が簡略化されました。** 総プールアセットは `vault balances − pending PnL` になります。OpenBook オープンオーダー項（実際にはすでにゼロ）は計算式から削除されます。OpenOrders 項を追加していたインデクサーと見積もりコードはそれを削除する必要があります。
* **ほとんどのインストラクションが削除されました。** `SwapBaseIn`、`SwapBaseOut`、`Deposit`、`Withdraw`、`WithdrawPnl` のみが呼び出し可能です。`Initialize`、`PreInitialize`、`InitModelData`、`UpdateModelData`、`MonitorStep`、`SetParams`、`WithdrawSrm`、`SimulateInfo` は呼び出し不可になります。

## これが重要な理由（トレーダー、LP、インテグレーター向け）

* **トレーダー** はスワップ動作または価格形状に変化を見ません — ルックアップテーブル曲線は変わりません。新しいレイアウトのスワップはトランザクションが 9 つ少ないアカウントを持つため、ランディングコストが低くなります。
* **LP** は同じデポジット/ウィズドロー経済を維持します。リクイディティは長い間完全にプールボールトに存在していたため、プール価値は完全にオンプール上にあります。このアップグレードは古いマーケット配管を削除するだけです。
* **インテグレーター** はより小さく、シンプルなトランザクションと、1 つ少ない（すでに痕跡的な）項を持つ見積もりモデルを取得します。既存のインテグレーションは破壊されません（管理者 `WithdrawPnl` を除く）が、互換性シムは一時的です — 削除される前に都合のよい時に移行してください。

## インストラクションレベルの変更

### `SwapBaseIn` / `SwapBaseOut` — 18 → 9 アカウント（古いレイアウトはまだ互換性あり）

9 つの OpenBook アカウント（`amm_open_orders`、`serum_program`、`serum_market`、`serum_bids`、`serum_asks`、`serum_event_queue`、`serum_coin_vault`、`serum_pc_vault`、`serum_vault_signer`）が削除されます。**互換性**：インストラクションが 9 以外の数のアカウントを受け取る場合、古い 18 アカウントレイアウトで解析されます。Serum アカウントは依然としてそれらの位置を占める必要がありますが、その内容は検証または使用されなくなります。

### `Deposit` — 14 → 12 アカウント（古いレイアウトはまだ互換性あり）

`amm_open_orders`（古い #3）と `serum_market`（古い #9）が削除されます。14 アカウントが渡される場合、互換性のために古いレイアウトが解析されます。

### `Withdraw` — 21（+1 オプション）→ 12 アカウント（古いレイアウトはまだ互換性あり）

9 つの Serum アカウントが削除されます。古い 21 または 22 アカウントレイアウトはまだ受け入れられます。**ただし、22 番目のオプション `referrer_pc_wallet` のリファーラルフィーロジックは削除されました** — アカウントは渡すことができますが、効果がなくなります。

### `WithdrawPnl` — 16（+1 オプション）→ 10 アカウント（⚠️ 互換性パスなし、破壊的変更）

固定 10 アカウント、管理者のみのレイアウト。古いレイアウトの互換性解析は**ありません**。それを送信するとアカウントのずれ（古い #3 は `open_orders`）により `InvalidTokenCoin` などのエラーで失敗します。**ロジック変更**：プールの利用可能な資金が蓄積された PnL を引き出すのに不十分な場合、プールは `CancelAllOrdersState` / `Disabled` に置かれなくなります。インストラクションは直接 `TakePnlError` を返します。オプションの `referrer_pc_wallet` も同様に削除されました。

## プールアセット計算式の変更

計算式は歴史的に、プールが OpenBook OpenOrders アカウントにオープンオーダーとして保有していた資金を追加していました。その項はプールが注文を送信するのをやめてから実際にはゼロになっています。このアップグレードはそれを計算式から完全に削除し、ボールトのみの計算を残します：

|     | 計算式                                                                                                     |
| --- | ------------------------------------------------------------------------------------------------------- |
| 古い  | `vault balances + open-order funds (native_coin_total / native_pc_total) − pending PnL (need_take_pnl)` |
| 新しい | `vault balances − pending PnL (need_take_pnl)`                                                          |

## 更新されたページ

* `products/stable/overview` — 純粋な AMM モデル、OpenBook 依存関係を削除、比較とアカウント数テーブルを更新。
* `products/stable/index` — 「それは何か」と主要事実テーブルは OpenBook 依存関係を主張しなくなります。
* `products/stable/accounts` — インベントリから OpenBook アカウントを削除。`AmmInfo` Serum/オープンオーダーフィールドをレガシー/未使用としてマーク。プールアセットノートを追加。
* `products/stable/instructions` — 互換性コールアウト付きの新しい Swap / Deposit / Withdraw / WithdrawPnl アカウントテーブル。他のすべてのインストラクション（`Initialize`、`PreInitialize`、`InitModelData`、`UpdateModelData`、`MonitorStep`、`SetParams`、`WithdrawSrm`、`SimulateInfo`）は削除/呼び出し不可としてマーク。
* `products/stable/math` — プールアセット計算式の更新。`MonitorStep` / OpenBook セクションは長く廃止されたものとして再構成。
* `products/stable/fees` — 「OpenBook からの PnL」セクションを廃止。収集フローは OpenBook フィルを決済しなくなります。
* `products/stable/code-demos` — アカウント数ガイダンスを更新。SDK はレイアウト選択を抽象化し続けます。

**検証対象**：

* `raydium-stable` プログラムソース（アップグレード後の `instruction.rs` / `processor.rs`）。
* Solana mainnet-beta 上のオンチェーン Stable AMM プログラムデプロイメント。
