> ## 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: hapus kode OpenBook (market) yang tidak aktif

> Stable AMM menghapus akun dan kode market-making OpenBook yang tidak aktif: layout Swap/Deposit/Withdraw yang lebih kecil, perubahan WithdrawPnl yang hard-breaking, dan formula aset pool yang disederhanakan.

<Info>
  **Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.**

  [Lihat versi bahasa Inggris →](/reference/changelog/2026-06-22-stable-amm-openbook-cleanup)
</Info>

Stable AMM adalah **program independen** (memiliki program ID sendiri — tidak diperdagangkan melalui program AMM v4). Ia **berhenti memposting order ke OpenBook sejak lama**; jalur market-making OpenBook telah tidak aktif selama bertahun-tahun. Upgrade ini adalah pembersihan: ia **menghapus akun dan kode terkait market yang sudah mati** dari layout instruksi. Ini **tidak** mengubah perilaku trading langsung apa pun — tidak ada order OpenBook yang tersisa untuk dihentikan.

## TL;DR untuk integrator

* **Swap / Deposit / Withdraw terus bekerja tanpa perubahan.** Transaksi yang dibangun dengan layout akun lama masih dieksekusi — akun Serum/market yang dihapus cukup diabaikan. Anda **tidak** perlu mengirimkan update klien untuk menjaga alur yang ada tetap berjalan.
* **Namun Anda harus bermigrasi ke layout baru yang lebih kecil segera.** Layout baru menghapus akun market yang mati, mengurangi ukuran transaksi: `SwapBaseIn` / `SwapBaseOut` menjadi **18 → 9** akun, `Deposit` **14 → 12**, `Withdraw` **21 (+1 opsional) → 12**. Jalur kompatibilitas akan dihapus dalam rilis mendatang.
* **`WithdrawPnl` adalah perubahan hard breaking (admin saja).** Menjadi **16 (+1 opsional) → 10** akun dengan **tidak ada parsing kompatibilitas**. Mengirim layout lama gagal dengan error validasi seperti `InvalidTokenCoin` karena misalignment akun (akun lama #3 adalah `open_orders`). Setiap tooling admin yang memanggil `WithdrawPnl` harus diperbarui.
* **Biaya referral dihapus pada `Withdraw` dan `WithdrawPnl`.** Akun opsional `referrer_pc_wallet` masih dapat diteruskan untuk kompatibilitas mundur pada layout lama `Withdraw`, tetapi tidak lagi berlaku efek.
* **Akuntansi aset pool disederhanakan.** Total aset pool sekarang `saldo vault − pending PnL`; istilah open-order OpenBook — sudah nol dalam praktik — dihapus dari formula. Indexer dan kode quoting yang masih menambahkan istilah OpenOrders harus menghapusnya.
* **Sebagian besar instruksi sekarang dihapus.** Hanya `SwapBaseIn`, `SwapBaseOut`, `Deposit`, `Withdraw`, dan `WithdrawPnl` yang tetap dapat dipanggil. `Initialize`, `PreInitialize`, `InitModelData`, `UpdateModelData`, `MonitorStep`, `SetParams`, `WithdrawSrm`, dan `SimulateInfo` tidak lagi dapat dipanggil.

## Mengapa ini penting (untuk trader, LP, dan integrator)

* **Trader** tidak melihat perubahan dalam perilaku swap atau bentuk pricing — kurva lookup-table tidak berubah. Swap dengan layout baru lebih murah untuk dieksekusi karena transaksi membawa sembilan akun lebih sedikit.
* **LP** mempertahankan ekonomi deposit/withdraw yang sama. Likuiditas telah lama duduk sepenuhnya di vault pool, jadi nilai pool sepenuhnya on-pool; upgrade ini hanya menghapus pipa market yang sudah usang.
* **Integrator** mendapatkan transaksi yang lebih kecil dan sederhana serta model quoting dengan satu istilah lebih sedikit (sudah vestigial). Integrasi yang ada tidak rusak (kecuali admin `WithdrawPnl`), tetapi shim kompatibilitas bersifat sementara — bermigrasi sesuai kenyamanan Anda, sebelum dihapus.

## Perubahan tingkat instruksi

### `SwapBaseIn` / `SwapBaseOut` — 18 → 9 akun (layout lama masih kompatibel)

Sembilan akun OpenBook (`amm_open_orders`, `serum_program`, `serum_market`, `serum_bids`, `serum_asks`, `serum_event_queue`, `serum_coin_vault`, `serum_pc_vault`, `serum_vault_signer`) dihapus. **Kompatibilitas**: jika instruksi menerima jumlah akun selain 9, ia diparse dengan layout lama 18-akun; akun Serum masih harus menempati posisi mereka tetapi isinya tidak lagi divalidasi atau digunakan.

### `Deposit` — 14 → 12 akun (layout lama masih kompatibel)

`amm_open_orders` (akun lama #3) dan `serum_market` (akun lama #9) dihapus. Ketika 14 akun diteruskan, layout lama diparse untuk kompatibilitas.

### `Withdraw` — 21 (+1 opsional) → 12 akun (layout lama masih kompatibel)

Sembilan akun Serum dihapus. Layout lama 21 atau 22-akun masih diterima, **tetapi logika biaya referral untuk akun opsional `referrer_pc_wallet` ke-22 telah dihapus** — akun masih dapat diteruskan tetapi tidak lagi berlaku efek.

### `WithdrawPnl` — 16 (+1 opsional) → 10 akun (⚠️ tidak ada jalur kompatibilitas, hard breaking)

Layout 10-akun tetap, admin-only. **Tidak ada** parsing kompatibilitas untuk layout lama; mengirimnya gagal dengan error seperti `InvalidTokenCoin` karena misalignment akun. **Perubahan logika**: ketika dana tersedia pool tidak cukup untuk menarik PnL yang terkumpul, pool tidak lagi dimasukkan ke `CancelAllOrdersState` / `Disabled`; instruksi mengembalikan `TakePnlError` secara langsung. Akun opsional `referrer_pc_wallet` juga telah dihapus.

## Perubahan perhitungan aset pool

Formula secara historis menambahkan dana yang dipegang pool sebagai open order di akun OpenOrders OpenBook-nya. Istilah itu telah nol dalam praktik sejak pool berhenti memposting order; upgrade ini menghapusnya sepenuhnya dari formula, meninggalkan perhitungan vault-only:

|      | Formula                                                                                             |
| ---- | --------------------------------------------------------------------------------------------------- |
| Lama | `saldo vault + dana open-order (native_coin_total / native_pc_total) − pending PnL (need_take_pnl)` |
| Baru | `saldo vault − pending PnL (need_take_pnl)`                                                         |

## Halaman yang diperbarui

* `products/stable/overview` — model pure-AMM, menghapus ketergantungan OpenBook, memperbarui tabel perbandingan dan jumlah akun.
* `products/stable/index` — "What it is" dan tabel key-facts tidak lagi mengklaim ketergantungan OpenBook.
* `products/stable/accounts` — akun OpenBook dihapus dari inventaris; field Serum/open-orders `AmmInfo` ditandai legacy/unused; catatan aset pool ditambahkan.
* `products/stable/instructions` — tabel akun Swap / Deposit / Withdraw / WithdrawPnl baru dengan callout kompatibilitas; semua instruksi lain (`Initialize`, `PreInitialize`, `InitModelData`, `UpdateModelData`, `MonitorStep`, `SetParams`, `WithdrawSrm`, `SimulateInfo`) ditandai dihapus / tidak lagi dapat dipanggil.
* `products/stable/math` — pembaruan formula aset pool; bagian `MonitorStep` / OpenBook diframing ulang sebagai sudah lama pensiun.
* `products/stable/fees` — bagian "PnL from OpenBook" pensiun; alur koleksi tidak lagi menyelesaikan fill OpenBook.
* `products/stable/code-demos` — panduan jumlah akun diperbarui; SDK masih mengabstraksi pemilihan layout.

**Diverifikasi terhadap**:

* sumber program `raydium-stable` (post-upgrade `instruction.rs` / `processor.rs`).
* Deployment program Stable AMM on-chain di Solana mainnet-beta.
