Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Versionsbanner.
  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster: Solana mainnet-beta
  • Stable AMM Program ID: 5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h (siehe reference/program-addresses)
  • Zuletzt verifiziert: 2026-04
Das liquidity-Modul des SDK verarbeitet Stable AMM Pools nativ. Stable Pools erscheinen als version: 5 (oder pooltype: "StablePool") auf ApiV3PoolInfoStandardItem; die gleichen addLiquidity / removeLiquidity / Swap-Helfer funktionieren für sie wie für AMM v4 (version: 4) Constant-Product-Pools — das SDK erkennt die Variante und gibt automatisch die korrekten Instruktionen aus. Die Off-Chain-Stable-Curve-Mathematik befindet sich in src/raydium/liquidity/stable.ts.

Setup

Einen Stable Pool identifizieren

Zwei äquivalente Signale auf ApiV3PoolInfoStandardItem:
Sowohl AMM v4 (version: 4, Constant-Product) als auch Stable AMM (version: 5) fließen durch die gleiche LiquidityModule API im SDK. Intern verteilt das Modul auf:
  • InstructionType.AmmV4AddLiquidity / AmmV4RemoveLiquidity für v4 Pools
  • InstructionType.AmmV5AddLiquidity / AmmV5RemoveLiquidity für v5 (Stable) Pools
Die programId des Pools (zurückgegeben mit den Pool-Keys) teilt dem SDK mit, in welches Programm es CPI durchführen soll; Sie müssen es nicht hardcodieren.

Einen Pool nach Mint-Paar finden

Wenn das Mint-Paar sowohl einen v4 (Constant-Product) Pool als auch einen v5 (Stable) Pool hat, enthält die Antwort beide — wählen Sie denjenigen, den Ihr Flow benötigt, oder übergeben Sie sie an das AMM Routing Programm und lassen Sie es die beste Route wählen.

Durch einen Stable Pool swappen

Der LiquidityModule.swap Flow hat die gleiche Form wie für v4 Pools — übergeben Sie einfach ein v5 Pool-Objekt:
Das SDK liest die programId des Pools aus den Pool-Keys und verteilt in das Stable AMM Programm. Es ist kein spezielles programId-Argument erforderlich.

Liquidität hinzufügen und entfernen

addLiquidity und removeLiquidity funktionieren identisch über v4 und v5 Pools:
Intern gibt das SDK InstructionType.AmmV5AddLiquidity aus, weil pooltype.includes("StablePool") wahr ist. Der entsprechende removeLiquidity Flow ist symmetrisch — geben Sie lpAmount und die Mindestbeträge ein, die Sie auf jeder Seite akzeptieren.

Off-Chain Quote Helfer (stable.ts)

Für serverseitige Quoting oder Backtesting stellt das SDK die zugrunde liegende Stable-Curve-Mathematik bereit:
Dies sind reine Funktionen — kein RPC, kein Signieren. Die On-Chain ModelDataInfo wird einmal von initLayout() abgerufen und in raydium.liquidity.stableLayout zwischengespeichert. Übergeben Sie aktuelle Reserven (x, y) und die Helfer berechnen durch binäre Suche in der Nachschlagetabelle und lineare Interpolation zwischen den zwei umgebenden DataElement-Zeilen. Siehe products/stable/math für den zugrunde liegenden Algorithmus.

Routing durch AMM Routing (Multi-Hop / Best-Price)

Wenn Sie nicht selbst einen Ort wählen möchten, berücksichtigt das AMM Routing Programm jeden Raydium AMM (v4 / CPMM / CLMM / Stable) und leitet durch die beste Kombination:
Dies ist der empfohlene Pfad für Produktions-Swapper und Aggregatoren — Sie müssen nie manuell entscheiden, ob ein Stable Pool existiert oder ob er heute der bessere Ort ist.

Empfehlungen

  1. Für End-User-Swaps bevorzugen Sie den tradeV2 Routing-Flow. Er verarbeitet jeden Raydium Pool-Typ einschließlich Stable.
  2. Für Pool-spezifische Operationen (LP Add / Remove auf einem bekannten Stable Pool) verwenden Sie das LiquidityModule direkt — es erkennt v5 Pools automatisch.
  3. Für Off-Chain-Quoting / Analytics rufen Sie getStablePrice / getDyByDxBaseIn / getDxByDyBaseIn nach initLayout() auf. Kein RPC-Verkehr pro Quote nach dem Zwischenspeichern der Modelldaten.
  4. Codieren Sie nicht manuell rohe SwapBaseIn Instruktionen. Das 2026-06-22 Upgrade entfernte die toten OpenBook-Konten, daher benötigt das neue Swap-Layout 9 Konten (das alte 18-Konto-Layout wird immer noch für Rückwärtskompatibilität geparst). Deposit ist jetzt 12 Konten (alte 14 kompatibel), Withdraw 12 (alte 21/22 kompatibel), und WithdrawPnl 10 ohne Kompatibilitätspfad. Die vordefinierten Helfer des SDK wählen das korrekte Layout und die Reihenfolge für Sie aus; das Rollen Ihrer eigenen ist fehleranfällig. Siehe products/stable/instructions für die vollständigen Kontotabellen.

Wo es weitergeht

  • Math — wie die Nachschlagetabellen-Interpolation funktioniert.
  • Instructions — vollständige Instruktionsreferenz.
  • AMM Routing — Multi-Pool-Routing über AMM v4, CPMM, CLMM, Stable.
Quellen: