Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Stable AMM ist ein eigenständiges Programm; seine Pool-seitige Kontenstruktur ähnelt AMM v4 (AmmInfo, Vaults, Authority), und es verfügt zusätzlich über ein
ModelDataInfo-Konto, das die Nachschlagetabelle speichert. Diese Seite behandelt beide.Inventar
Reines AMM. Stable AMM hält alle Liquidität in seinen eigenen Vaults und ist nicht von OpenBook abhängig. Es hatte früh in seiner Existenz einen OpenBook-Market-Making-Pfad, aber dieser Pfad ist seit Jahren inaktiv, und das Upgrade vom 2026-06-22 hat den verbleibenden Code entfernt. Die
serum_*-Market-Konten und amm_open_orders unten sind daher veraltet: Sie können in alten Layout-Transaktionen aus Gründen der Rückwärtskompatibilität noch erscheinen, aber das Programm validiert oder liest sie nicht, und neue Layout-Anweisungen lassen sie ganz weg.| Kategorie | Konto | Besitzer | Rolle |
|---|---|---|---|
| Pool | AmmInfo | Stable-Programm | Pool-Status, Verweise auf Vaults und das Model-Data-Konto. |
| Pool | amm_authority | Stable-Programm | Programm-eigene PDA, die Vault-Bewegungen signiert. Wird über alle Stable AMM-Pools hinweg geteilt. |
| Pool | amm_target_orders | Stable-Programm | Pool-seitiges Grid-Konto (in Layouts beibehalten; treibt nicht mehr OpenBook-Bestellungen an). |
| Pool | pool_coin_token_account | SPL Token | Coin-seitiger Vault des Pools. |
| Pool | pool_pc_token_account | SPL Token | PC-seitiger Vault des Pools. |
| Pool | lp_mint | SPL Token | Fungible LP-Mint. |
| Modell | model_data_account | Stable-Programm | Die Nachschlagetabelle: 50.000 × DataElement. |
| Veraltet | amm_open_orders | OpenBook | Das alte OpenBook-OpenOrders-Konto des Pools. Ungenutzt. |
| Veraltet | serum_market | OpenBook | OpenBook-Market. Ungenutzt. |
| Veraltet | serum_bids, serum_asks | OpenBook | Geld-/Briefwarteschlangen. Ungenutzt. |
| Veraltet | serum_event_queue | OpenBook | Event-Warteschlange. Ungenutzt. |
| Veraltet | serum_coin_vault, serum_pc_vault | SPL Token | OpenBook-Market-Level-Vaults. Ungenutzt. |
| Veraltet | serum_vault_signer | OpenBook | Market-Level-Vault-Signer. Ungenutzt. |
AmmInfo
Root-State-Konto. Das Layout ist fast identisch mit AMM v4 — Pool-Parameter, Dezimalstellen, Gebühren, Vault-/Mint-Verweise — mit einer Ergänzung: ein model_data_key-Feld, das auf die Nachschlagetabelle verweist.
model_data_key— die Adresse der Nachschlagetabelle. Muss an jede Anweisung übergeben werden.fees— identische Struktur wie AMM v4. Standard ist 0,25% Handelsgebühr, 0,22% LP / 0,03% Protokoll-Aufteilung.coin_vault,pc_vault— die Pool-Vaults.status— Bitmask, das Swap/Deposit/Withdraw/Crank steuert.out_put.need_take_pnl_*— wird vonWithdrawPnlgeleert.
ModelDataInfo
Die Nachschlagetabelle. Ein großes spärliches Array von Preis-/Mengenpunkten.
InitModelData (erstellte das Konto) und UpdateModelData (füllte Elemente auf und setzte valid_data_count) — wurden im Upgrade vom 2026-06-22 entfernt. Die Tabellen in bestehenden Pools sind nun fest. Zur Laufzeit verbrauchen die verbleibenden aufrufbaren Anweisungen sie immer noch:
- Swap / Deposit / Withdraw rufen Nachschlagefunktionen auf, die binär suchen und innerhalb von
elements[0..valid_data_count]interpolieren.
DataElement
Der atomare Eintrag in der Tabelle. Muss sortiert sein (x aufsteigend, y absteigend, Preis aufsteigend), damit die binäre Suche funktioniert.
Authority und Vaults
Identisch mit AMM v4:amm_authorityist eine einzelne programmweite PDA, die mit dem Seed["amm authority"]abgeleitet wird. Sie besitzt alle Pool-Vaults und signiert ihre Bewegungen.- Vaults sind SPL Token-Konten, deren Besitzer
amm_authorityist, nicht ATAs.
Status-Bitmask
Identisch mit AMM v4. Steuert, ob Swap/Deposit/Withdraw/Crank aktiviert sind.Gebühren- und PnL-Verfolgung
Dieout_put-Struktur verfolgt:
need_take_pnl_coin,need_take_pnl_pc— Protokollgebühren, die aufgelaufen sind, aber noch nicht geleert wurden.WithdrawPnlbewegt diese heraus.swap_coin_in_amount,swap_pc_in_amount, usw. — Analyse-Zähler.
Kontogröße
DasModelDataInfo ist groß (~1,2 MB, da 50.000 Elemente × 24 Bytes pro Element). Deshalb erfordert das Erstellen eines Stable-Pools explizite Miete und Konten-Vorabzuweisung. Das Raydium SDK und die Tools handhaben dies transparent; Integratoren müssen selten manuell zuweisen.
Konten von Grund auf ableiten
Wie AMM v4 verwendet Stable AMM gesäte Schlüssel (keine reinen PDAs). Die kanonische Pool-Identität wird wie folgt abgeleitet:Was wo zu lesen ist
- Anweisungs-Kontolisten:
products/stable/instructions. - Wie die Interpolation die Tabelle nutzt:
products/stable/math. - Gebührenstruktur und WithdrawPnl:
products/stable/fees. - Die OpenBook-Entkopplung vom 2026-06-22:
reference/changelog.

