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.
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
AMM v4 ist deutlich kontofreudiger als CPMM oder CLMM, da jede Operation OpenBook-Zustand berührt. Diese Seite unterteilt die Konten in „Pool-eigene” und „OpenBook-eigene” Abschnitte, damit ein Integrator schnell sehen kann, welche Seite welche ist.
Bestand
Ein AMM v4 Pool bindet sich bei der Erstellung an genau einen OpenBook Market. Die vollständige aktuelle Ansicht ist:| Kategorie | Konto | Besitzer | Rolle |
|---|---|---|---|
| Pool | AmmInfo | AMM v4 Programm | Pool-Zustand: aufgelaufene Gebühren, Status, Referenzen zu Vaults und OpenBook Market. |
| Pool | amm_authority | AMM v4 Programm | Vom Programm verwalteter PDA, der Vault-Bewegungen signiert. Von allen AMM v4 Pools gemeinsam genutzt. |
| Pool | amm_open_orders | OpenBook | Das OpenOrders-Konto des Pools auf OpenBook für diesen Market. |
| Pool | amm_target_orders | AMM v4 Programm | Pool-seitige Gitterliste von Limit-Order-Zielen zum Zurückposten auf OpenBook. |
| Pool | pool_coin_token_account | SPL Token | Vault auf Coin-Seite des Pools (ATA von amm_authority). |
| Pool | pool_pc_token_account | SPL Token | Vault auf PC-Seite des Pools. |
| Pool | lp_mint | SPL Token | Fungibles LP Mint. |
| Pool | pool_withdraw_queue | AMM v4 Programm | Legacy-Warteschlange für verzögerte Abhebungen; wird leer gehalten. |
| Pool | pool_temp_lp | AMM v4 Programm | Hilfs-LP-Konto, das während Initialize verwendet wird. |
| Market (OpenBook) | serum_market | OpenBook | Der Market selbst (Base/Quote Mints, Vault Signer, etc.). |
| Market | serum_bids, serum_asks | OpenBook | Die Bid- und Ask-Warteschlangen. |
| Market | serum_event_queue | OpenBook | Ausstehende Ereignisse (Fills, Stornierungen). |
| Market | serum_coin_vault, serum_pc_vault | SPL Token | OpenBooks Market-Level-Vaults. |
| Market | serum_vault_signer | OpenBook | Market-Level PDA, der serum_*_vault Bewegungen signiert. |
AmmInfo
Das Root-State-Konto des Pools. Groß (≈ 752 Bytes), weil es sowohl Pool- als auch OpenBook-Referenzen inline trägt.
coin_vault,pc_vault— die SPL Token Vaults des Pools.coinist nach Serum/OpenBook Konventiontoken_0(Base),pcisttoken_1(Quote).coin_decimals,pc_decimals— entsprechend den Mints.open_orders,target_orders,market— müssen an jede Swap-/Deposit-/Withdraw-Anweisung weitergegeben werden.fees.swap_fee_numerator / swap_fee_denominator— die kombinierte Handelsgebühr. Standard25 / 10_000 = 0,25%.status— Bitmaske, die Operationen steuert. Von Admin überAdminSetStatuskonfigurierbar.state_data.need_take_pnl_*— Differenz zwischen brutto aufgelaufenen Gebühren und dem, was bereits abgerufen wurde.TakePnlsetzt diese zurück.
Die OpenBook-Integration
Nicht mehr aktiv. AMM v4 Pools teilen keine Liquidität mehr mit OpenBook — das Limit-Order-Gitter wurde deaktiviert. Die in diesem Abschnitt beschriebenen OpenBook-Konten bleiben auf der
AmmInfo jedes Pools und werden immer noch von V1 Swap-Endpunkten validiert (und von Initialize, Deposit, Withdraw) zur Abwärtskompatibilität, aber der On-Book-Zustand, auf den sie verweisen, ist praktisch leer. Verwenden Sie die V2 Swap-Endpunkte (SwapBaseInV2 / SwapBaseOutV2), die diese Konten überhaupt nicht benötigen und den kanonischen Ausführungspfad darstellen.amm_open_orders des AMM ist ein von OpenBook verwaltetes Konto, das den Limit-Order-Zustand des Pools auf diesem Market enthält: aktive Orders, ausgeglichene Guthaben, Referrer, etc. amm_target_orders ist auf AMM-Seite: es enthält das beabsichtigte Gitter des AMM (Preis/Größe für jeden Order-Slot), damit das Programm günstig mit dem aktuell geposteten Gitter vergleichen und die Differenz platzieren / stornieren kann.
Authority PDAs
Es gibt genau einenamm_authority PDA für das gesamte AMM v4 Programm. Sein Seed ist trivial (["amm authority"]) und sein Bump ist auf jedem AmmInfo gespeichert. Diese Authority signiert alle Token-Bewegungen für alle AMM v4 Pools.
amm_authority oben deckt tatsächlich beide in diesem Programmdesign ab; verschiedene Versionen verwendeten verschiedene Ableitungen, daher überprüfen Sie den spezifischen AmmInfo.nonce des Pools im Code).
Vaults
Die SPL Token Vaults des Pools sind Standard-Token-Konten, derenowner amm_authority ist. Keine ATAs — ihre Adressen sind spezifische PDAs, die bei Initialize mit Seeds ["amm_associated_seed", coin_mint_or_pc_mint, market, amm_id] abgeleitet werden. Adressen sind auf AmmInfo gespeichert; Ableitung ist eine einmalige Kuriosität.
Token-2022 wird nicht unterstützt. Das Programm codiert die Programm-ID des SPL Tokens für alle Vault-Bewegungen hart ein. Der Versuch, einen AMM v4 Pool an einen Token-2022 Mint zu binden, schlägt bei Initialize fehl.
LP Mint
Ein klassisches SPL Token Mint, dessen Authorityamm_authority ist. Der Gesamtvorrat verfolgt das LP-Besitztum des Pools; das Verbrennen von LP gibt Token aus beiden Vaults proportional zurück. Da AMM v4 älter als CPMM ist, gibt es keinen lp_supply Mirror im Pool-Zustand — lesen Sie die On-Chain Versorgung des Mints direkt.
Status Bitmaske
AmmInfo.status steuert Operationen. Bits (Position kann sich zwischen Programmversionen unterscheiden — überprüfen Sie über den Quellcode):
| Bit | Flag | Effekt |
|---|---|---|
| 0 | SWAP_DISABLED | Swap* lehnt ab. |
| 1 | DEPOSIT_DISABLED | Deposit lehnt ab. |
| 2 | WITHDRAW_DISABLED | Withdraw lehnt ab. |
| 3 | CLMM_LIKE_MIGRATE | Migrations-Gate-Flag, das von Ops verwendet wird. |
AdminCancelOrders, AdminSetParams, etc.
Beobachtung / Oracle
AMM v4 hat kein dediziertes Beobachtungskonto. Andere Protokolle, die einen On-Chain TWAP benötigen, konsumieren OpenBooks Buch-Crossings indirekt oder lesen Off-Chain. Wenn Sie einen Raydium TWAP mit Programmunterstützung benötigen, verwenden Sie CPMM oder CLMM.Ableitung der Pool-Konten von Grund auf
Da AMM v4 nicht für deterministische Pro-Paar-PDAs entwickelt wurde (es prägt diese Solana-Konvention), ist die kanonischeamm_id ein mit Seed erstellter Keypair, der abgeleitet wird mit:
amm_open_orders, amm_target_orders, amm_withdraw_queue, pool_temp_lp, pool_coin_token_account, pool_pc_token_account und lp_mint. Das SDK und die API berechnen diese im Voraus für Sie; siehe raydium-sdk-v2’s Liquidity.getAssociatedPoolKeys.
In der Praxis lesen Integratoren den vollständigen Kontosatz des Pools von GET https://api-v3.raydium.io/pools/info/ids?ids=<POOL_ID> oder vom SDK. Manuelle Ableitung ist selten erforderlich.
Lebenszyklusreferenz
| Ereignis | Erstellte Konten | Gelöschte Konten |
|---|---|---|
Initialize2 | amm_info, amm_open_orders, amm_target_orders, Vaults, lp_mint, pool_withdraw_queue, pool_temp_lp | — |
Deposit | — (kann User LP ATA erstellen) | — |
Withdraw | — | — |
SwapBaseIn / SwapBaseOut | — (kann User ATA erstellen) | — |
TakePnl | — | — |
MonitorStep (Crank) | — | — |
AmmInfo erhalten.
Was wo gelesen wird
- Mathematik und Gebührenarithmetik:
products/amm-v4/math. - Gebührenaufteilung und wie sie sich mit CPMM/CLMM vergleicht:
products/amm-v4/fees. - Anweisungs-Kontolisten:
products/amm-v4/instructions. - OpenBook Kontoenableitung: OpenBook Programmdocs (
github.com/openbook-dex/program).
- Raydium AMM Programm —
raydium-io/raydium-amm reference/program-addressesfür kanonische Programm-IDs- OpenBook / Serum Protokoll für die Gegenpartei-Konten


