Zum Hauptinhalt springen
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →

Die eine veröffentlichte Gebührenstufe

Anders als CPMM und CLMM hat AMM v4 kein AmmConfig-Konto. Gebühren werden direkt in der AmmInfo.fees-Struktur jedes Pools gespeichert und sind bei der Pool-Erstellung festgelegt. Die Standardwerte, die praktisch jeden aktiven AMM v4-Pool abdecken: Beachten Sie, dass pnl_numerator / pnl_denominator ein Bruchteil der Swap-Gebühr ist, nicht des Handelsvolumens — ein häufiges Missverständnis. Der LP-Anteil ist das Komplement (88% der Gebühr = 0,22% des Volumens) und ist implizit; es gibt keinen separaten „LP-Anteil”-Zähler. Eine kleine Anzahl früher Pools wurde mit anderen Zählern erstellt; lesen Sie immer AmmInfo.fees ab, bevor Sie zitieren. Es gibt keine Fund-Gebühr und keine Creator-Gebühr: Dies sind CPMM/CLMM-Erfindungen, die es in AMM v4s ursprünglichem Gebührenmodell nicht gab.

Wie die Aufteilung berechnet wird

Bei jedem Swap erhebt der Pool die Brutto-Handelsgebühr vom Eingabebetrag und verteilt dann:
  • lp_portion bleibt im Tresor und trägt zum nächsten k bei. LPs erfassen es durch späteres Einlösen von LP-Token.
  • pnl_portion erhöht AmmInfo.state_data.need_take_pnl_coin oder need_take_pnl_pc je nachdem, welche Seite die Swap-Eingabe ist.
Derselbe invarianten-erhaltende Trick wie CPMM: Der PnL-Betrag sitzt physisch im Tresor, wird aber von den in der Kurve verwendeten Reserven subtrahiert, sodass TakePnl Token bewegt, ohne den Preis zu verschieben.

PnL aus OpenBook (historisch)

Entfernt. Die OpenBook-Integration wurde aus dem Programm entfernt, daher wird der zweite PnL-Stream, der in diesem Abschnitt beschrieben wird, nicht mehr generiert. Die total_pnl_{coin,pc}-Zähler sind jetzt veraltete Felder — sie enthalten eingefrorene historische Werte und werden nie aktualisiert. Der 0,03%-Protokollgebühren-Pfad (oben) ist nicht betroffen und bleibt aktiv.
Historisch hatte AMM v4 einen zweiten gebührenähnlichen Einnahmestrom: Wenn seine Limit-Orders auf OpenBook gefüllt wurden, konnte der Pool auf der Taker-Seite des Fills sein und den Maker/Taker-Spread des Marktes verdienen oder zahlen. Diese PnL-Ereignisse wurden während MonitorStep in die Pool-Tresore abgewickelt und das Programm schrieb sie als Informationszähler auf state_data.total_pnl_{coin,pc}.
  • Wenn das veröffentlichte Gitter des Pools korrekt um den Kurspreis kalibriert war, waren OpenBook-Fills tendenziell gebührenpositive für den Pool — der AMM war effektiv Market-Making auf OpenBook und verdiente Maker-Rabatte.
  • Wenn OpenBook pausierte oder die Event-Queue sich füllte, konnte der Pool auf veralteten Orders sitzen, die zu ungünstigen Preisen gefüllt wurden und negatives PnL produzierten. Diese operative Kopplung war eine der Motivationen für den Wechsel weg vom Hybrid-Design.
Dieses OpenBook-PnL war nicht dasselbe wie die 0,03%-Protokollgebühr. OpenBook-PnL blähte die Pool-Reserven direkt auf (zum Vorteil von LPs + Protokoll proportional zur Gebührenaufteilung), während die 0,03%-Protokollgebühr speziell für den Admin-Sweep gekennzeichnet war. Mit der OpenBook-Seite weg ist die einzige Gebührenabgrenzung heute die 0,25% auf AMM-Swaps und ihre 22/3-Aufteilung.

Einzug

Der Admin (Raydium-Multisig) ruft WithdrawPnl auf, um need_take_pnl_* in die auf dem AmmConfig des Programms konfigurierten Pool-Level-„PnL-Owner”-Konten zu fegen (ein anderes, programmbereichtes Config — nicht das per-Pool CPMM-Style AmmConfig). Fegen:
  1. Überträgt need_take_pnl_coin / need_take_pnl_pc aus den Pool-Tresoren zum PnL-Ziel.
  2. Setzt die Zähler auf Null.
Es gibt keinen OpenBook-Settle-Schritt mehr. Wenn der Tresorsaldo nicht ausreicht, um das aufgelaufene PnL zu decken, gibt die Anweisung jetzt direkt TakePnlError zurück. Die Operation verschiebt die Kurve nicht — LPs sollten keinen Preisänderung über einen WithdrawPnl-Aufruf hinweg sehen. Beachten Sie, dass sich das WithdrawPnl-Konto-Layout im 2026-07-Upgrade geändert hat (siehe instructions).

LP-Gebühreneinlösung

Es gibt keine dedizierte „LP-Gebühren einziehen”-Anweisung. LP-Gebühren sammeln sich in den Tresoren an und blasen k im Laufe der Zeit auf; LPs realisieren sie durch Verbrennen von LP-Token über Withdraw. Der Wert eines LP-Token wächst monoton, wenn (coin_reserve_effective, pc_reserve_effective) wachsen.

Visualisierung: Wohin gehen 1.000 USDC Volumen

Bei einem USDC-lastigen Swap von $1.000 gegen einen Pool mit Standardparametern:
Vergleich mit CPMM AmmConfig[0] (0,25%-Stufe, keine Creator-Gebühr): LP erhält $2,10, Protokoll $0,30, Fund $0,10. CPMM führt die Fund-Zeile ein, indem es sie aus dem herausschneidet, was in AMM v4s äquivalenter Stufe LPs Anteil gewesen wäre.

Vergleichstabelle

Vollständige Matrix in reference/fee-comparison.

Integrator-Hinweise

  • Quoting. Rufen Sie AmmInfo über das SDK oder api-v3.raydium.io/pools/info/ids ab. Reserven sind jetzt nur noch Tresor, daher können Sie direkt gegen die Tresorguthaben zitieren — denken Sie nur daran, need_take_pnl_* zu subtrahieren (aufgelaufenes PnL wird im Tresor gehalten, aber von der Kurve ausgeschlossen).
  • Veraltete Gebührenparameter. Grundsätzlich könnte SetParams swap_fee_numerator ändern, aber in der Praxis hat der Raydium-Multisig die Standardwerte für keinen aktiven Pool geändert. Lesen Sie trotzdem immer aus dem On-Chain-Status statt Hardcoding.
  • Keine Belohnungen. AMM v4 unterstützt keine On-Pool-Reward-Emissionen. Legacy-Ökosystem-Farmen (Farm v3 / v5 / v6) sind das Staking-Layer-Äquivalent — siehe products/farm-staking.

Wo es weitergeht

Quellen: