Skip to main content
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Quelle der Wahrheit. Diese Seite ist der einzige Ort in der Dokumentation, der Programmadressen wörtlich auflistet. Alle anderen Seiten verlinken hierher. Falls sich eine ID ändert, aktualisieren Sie sie nur hier, und alle Verweise auf der Website bleiben konsistent.Überprüfen Sie die Werte immer gegen die Live-API (https://api-v3.raydium.io/main/info), bevor Sie echte Transaktionen signieren.

Mainnet-beta

Faustregel: Falls eine Programm-ID in der Praxis nicht mit der Tabelle unten übereinstimmt, signieren Sie die Transaktion nicht. Eine nicht übereinstimmende Programm-ID ist der einfachste Weg, Gelder auf Solana zu verlieren.

On-Chain-Programme

Hinweise:
  • AMM v4 und Farm v3/v5 werden für bestehende Pools und Positionen beibehalten. Die Raydium-UI und das SDK leiten die Erstellung neuer Pools und neue Ökosystem-Farmen an CPMM, CLMM bzw. Farm v6 weiter — siehe protocol-overview/versions-and-migration.
  • Die Farm v3 ID oben dient auch als $RAY Single-Asset-Staking-Programm. Das Verhalten ist identisch mit Farm v3 für LP-Staking.
  • Stable AMM ist ein separates Programm, das das AMM Routing-Programm neben AMM v4, CPMM und CLMM ansteuern kann. Die Liquidität ist im Vergleich zu den anderen drei Programmen dünn, und das SDK stellt keine First-Class-API dafür bereit; Integratoren, die es durchleiten, tun dies in der Regel über den Router.
  • Verfügbarkeit des Quellcodes. Von den On-Chain-Programmen oben werden nur raydium-amm (AMM v4), raydium-cp-swap (CPMM) und raydium-clmm (CLMM) mit öffentlichen Quellrepositorys unter github.com/raydium-io ausgeliefert. Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock und die Farm-Programme sind nicht öffentlich verfügbar — überprüfen Sie sie gegen die Live-API, den On-Chain-Bytecode und die veröffentlichten IDLs in raydium-io/raydium-idl.

Gemeinsame Admin-Autorität

Jedes Raydium-Programm — einschließlich AMM v4 — teilt sich einen einzigen hardcodierten Admin-Pubkey für Zugriffskontrolle auf Anweisungsebene zu Admin-Pfaden. Es ist config_feature::amm_owner::ID in AMM v4 (gating SetParams, CreateConfigAccount und UpdateConfigAccount, und als Standard-pnl_owner verwendet) und admin::ID in den Anchor-Programmen — CLMM, CPMM, LaunchLab, Lock — gating Pfade wie CreateAmmConfig oder UpdatePoolStatus: Betriebliche Autoritäten auf Kontoebene (z. B. protocol_owner, fund_owner auf CPMM/CLMM AmmConfig, oder die Migrations-Wallets auf LaunchLab GlobalConfig) werden On-Chain gespeichert und können sich vom Programm-Admin unterscheiden. Lesen Sie sie direkt vom relevanten Config-Konto, bevor Sie hochriskante Transaktionen senden.

CPMM Permission-PDA Creator Authority

CreatePermissionPda akzeptiert entweder den gemeinsamen Programm-Admin oben oder einen dedizierten Owner. Seit dem CPMM-Upgrade 2026-09 akzeptiert ClosePermissionPda die gleichen zwei Unterzeichner; davor war es nur Admin.

Support-Mint Registry Autoritäten

CreateSupportMintAssociated und CloseSupportMintAssociated akzeptieren entweder den gemeinsamen Programm-Admin oder den dedizierten Owner des Programms unten. Das Registrieren eines Mint lässt ihn die Token-2022-Erweiterungs-Allowlist des Programms passieren — siehe reference/token-2022-support. CPMM und CLMM führen jeweils ihre eigene Registry-PDA und ihre eigene Autorität; keiner der Schlüssel funktioniert auf dem anderen Programm.

CPMM Fee-Owner Wallets

Seit dem CPMM-Upgrade 2026-09 schreibt CreateAmmConfig diese festen Schlüssel in die protocol_owner und fund_owner der neuen Config, statt den Admin-Unterzeichner-Schlüssel zu kopieren. CollectProtocolFee und CollectFundFee akzeptieren den auf der Config gespeicherten Schlüssel oder den gemeinsamen Programm-Admin (|| crate::admin::ID), sodass der Admin ein akzeptierter Unterzeichner bleibt — was sich geändert hat, ist nur, wohin die Einnahmen standardmäßig gehen.
Dies sind die Werte, die das Programm in neue Configs schreibt, keine Beschreibung bestehender. AmmConfig-Konten, die vor dem Upgrade erstellt wurden, behalten das, was auf ihnen gespeichert ist. Lesen Sie immer protocol_owner / fund_owner vom Konto, bevor Sie eine Collection-Transaktion erstellen.

CLMM Fee-Owner Wallets

Seit dem CLMM-Upgrade 2026-09-30 schreibt CreateAmmConfig diese festen Schlüssel in die owner und fund_owner der neuen Config. Davor kopierte es den Admin-Unterzeichner-Schlüssel. CollectProtocolFee / CollectFundFee akzeptieren den auf der Config gespeicherten Schlüssel oder den gemeinsamen Programm-Admin, sodass der Admin immer noch ein akzeptierter Unterzeichner ist. Auf mainnet stimmen diese mit den Werten überein, die bereits auf allen 21 bestehenden CLMM-Configs gespeichert sind (siehe Program-level config accounts). Das Upgrade hardcodiert einen Wert, der zuvor manuell gesetzt wurde.
Wie bei CPMM sind dies die Werte, die das Programm in neue Configs schreibt. Bestehende AmmConfig-Konten werden nicht umgeschrieben. Lesen Sie owner / fund_owner vom Konto, bevor Sie eine Collection-Transaktion erstellen.

Protocol Fee Collection Wallets

Wo sich der protokollseitige Anteil der Handelsgebühren jedes Programms ansammelt. Dies sind gewöhnliche Token-Holding-Wallets, daher trägt eine einzelne Adresse eine gemischte Menge von SPL-Mints (wSOL und USDC von SOL/USDC-Pools, wSOL und RAY von SOL/RAY-Pools usw.). Der Protokoll-Anteil von Stable AMM sammelt sich im Vault als out_put.need_take_pnl_* an und wird durch WithdrawPnl statt in einer stehenden Wallet geleert. Für CPMM lesen Sie protocol_owner von der spezifischen AmmConfig, bevor Sie eine Collection-Transaktion erstellen — Configs, die vor dem 2026-09-Upgrade erstellt wurden, können einen anderen Schlüssel halten.

Excess-Lamports Collection Wallets

Jedes der drei Programme, das am 2026-09-09 aktualisiert wurde, und CLMM am 2026-09-30, erhielt eine Admin-Anweisung, die Lamports zurückgibt, die über dem Rent-Exempt-Minimum auf Programm-kontrollierten Konten gehalten werden, gemäß SIMD-0437 Rent-Reduktion. Jedes Programm hardcodiert sein eigenes Ziel-Wallet, und jedes ist ein dedizierter Schlüssel, nicht der gemeinsame Programm-Admin. CPMM, LaunchLab und CLMM akzeptieren zusätzlich den gemeinsamen Programm-Admin als Unterzeichner. AMM v4 akzeptiert nur das Wallet oben — es hat keinen Admin-Fallback. AMM v4 kompiliert auch einen separaten Testnet-Schlüssel (75KWb5XcqPTgacQyNw9P5QU2HL3xpezEVcgsFCiJgTT) unter seinem testnet-Feature. Diese Anweisungen verschieben nur Lamports; sie berühren niemals einen Token-Saldo, schließen ein Konto oder ändern den Pool-Status. Siehe products/amm-v4/instructions, products/cpmm/instructions, products/launchlab/instructions und products/clmm/instructions.

LaunchLab Delegated Config Creator

CreateConfig akzeptiert entweder den gemeinsamen Programm-Admin oder die delegierte Autorität unten. Die delegierte Rolle kann eine neue GlobalConfig erstellen; sie kann den Admin-Only-Pfad UpdateConfig für ein bestehendes Konto nicht aufrufen.

CLMM Restricted-Issuer Freeze Authorities

Wenn einer der Vault-Mints in einem CLMM-Pool eine der Freeze-Autoritäten unten hat, haben neue Positionen, die über einen V2-Pfad geöffnet werden, ihr Position-NFT-Token-Konto eingefroren. Die Liste ist frozen_position_nft_authorities::IDS im CLMM-Programm, und sein einziger Eintrag ist die Issuer-Autorität, die auch die seit der Entfernung durchgeführte Superstate-Erkennung von CLMM abgeglichen hat. Dies sind Underlying-Asset-Issuer-Autoritäten, die nur als Match-Schlüssel verwendet werden. Die CLMM-Pool-PDA, nicht der Issuer-Schlüssel, wird Freeze-Autorität für den Position-NFT-Mint. Die Liste ist im CLMM-Programm hardcodiert. Das Hinzufügen oder Entfernen einer Autorität erfordert ein Programm-Upgrade.

Gemeinsame Config / PDA Konventionen

Mehrere Raydium-Programme stellen Config-Konten bereit, deren öffentliche Schlüssel stabil sind und auf der öffentlichen API aufgelistet sind. Bevorzugen Sie die API-Suche gegenüber dem Hardcoding:

Pool-Creation Fee Receivers

Sowohl CPMM als auch AMM v4 validieren ihr Pool-Creation-Fee-Ziel nach exakter Adresse, daher muss es bereits auf dem Cluster existieren, gegen den Sie testen. CLMM hat keine separate Pool-Creation-Fee. AMM v4 kompiliert auch 3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX unter seinem testnet-Feature. CPMM lehnt eine Nichtübereinstimmung mit Anchors ConstraintAddress (2012) ab; AMM v4 mit InvalidFee.

CLMM Limit-Order Keeper

SettleLimitOrder und CloseLimitOrder akzeptieren entweder den owner der Bestellung selbst oder den Programm-weiten Keeper-Schlüssel unten. Der Keeper kann Bestellungen nicht öffnen, erhöhen oder verringern, und die Ausgabe landet immer auf dem Bestellungs-Owner-Konto — siehe security/admin-and-multisig. Standard-CPMM AmmConfig Index 0 (Standard 0,25%-Pool) Fee-Parameter zur Referenz: Siehe products/cpmm/fees für die Zusammensetzung der Aufteilungen und reference/fee-comparison für die produktübergreifende Matrix.

PDA Seeds

Die Seeds unten sind kanonisch und werden sowohl vom SDK als auch von On-Chain-CPIs verwendet. Berechnen Sie PDAs immer; hardcodieren Sie keine abgeleiteten Adressen.
token0Mint / token1Mint werden nach öffentlichem Schlüssel-Byte-Reihenfolge sortiert (token0 < token1), bevor sie gehasht werden. Dies falsch zu machen ergibt eine gültige PDA für einen nicht existierenden Pool. Die äquivalenten CLMM-Seeds folgen dem gleichen Stil; siehe products/clmm/accounts.

Devnet

Devnet REST API Base: https://api-v3-devnet.raydium.io/ (gleiche Route-Form wie mainnet).

Upgrade Authority

Jedes Raydium-Programm auf mainnet-beta wird unter dem BPF Upgradeable Loader mit der gleichen Upgrade-Autorität bereitgestellt — das Programm-Upgrade Squads Multisig Vault: Verifiziert On-Chain am 2026-09-09 für AMM v4, CPMM, CLMM, Stable AMM, Farm v6, LaunchLab, AMM Routing und Lock — alle acht berichten diese Autorität, und keine ist unveränderlich. Überprüfen Sie erneut mit solana program show <PROGRAM_ID> -u mainnet-beta vor einer hochriskanten Bereitstellung; siehe security/admin-and-multisig für den Schwellenwert des Multisigs und die Signierungspraxis.

Program-Level Config Accounts

Alle Werte von mainnet-beta am 2026-09-09 gelesen. Gebührensätze auf diesen Konten sind Admin-veränderlich — lesen Sie sie live, statt sie zu cachen.

So überprüfen Sie eine Adresse On-Chain

  1. Solana Explorer. Fügen Sie die Adresse in explorer.solana.com ein und bestätigen Sie, dass sie als Program mit einer aktuellen Upgrade-Autorität markiert ist. Mainnet-beta sollte Bereitstellungen anzeigen, die von Raydiums Upgrade-Autorität signiert wurden.
  2. CLI. Verwenden Sie solana program show <PROGRAM_ID> -u mainnet-beta, um Bereitstellungs-Slot, BPF-Loader, Upgrade-Autorität und Datenlänge zu überprüfen. Notieren Sie diese in Ihrem Runbook.
  3. IDL-Anhang. anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet funktioniert für CLMM, LaunchLab und Lock, die immer noch ein Legacy-anchor:idl-Konto behalten, das vom Programm selbst besessen wird. Es funktioniert nicht für CPMM: CPMMs On-Chain-IDL wurde im 2026-09-Upgrade zum Program Metadata-Programm (ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S) verschoben, daher holen Sie es stattdessen von dort. AMM v4, Stable AMM und Farm haben keine On-Chain-IDL. Die IDLs werden unter github.com/raydium-io/raydium-idl gespiegelt — vergleichen Sie die On-Chain-IDL mit dem Repo, bevor Sie ihr vertrauen.
  4. Config/Admin-Autoritäten. Für CPMM/CLMM-Config-Konten lesen Sie das Feld owner/protocol_owner und bestätigen Sie, dass es dem aktuellen Raydium-Multisig entspricht, das in security/admin-and-multisig veröffentlicht ist.
Falls einer der vier Überprüfungen oben mit dieser Seite nicht übereinstimmt, behandeln Sie diese Seite als falsch und öffnen Sie ein Issue, bevor Sie neuen Code gegen die Adressen schreiben.

Diese Seite aktualisieren

  • Änderungen an Programm-IDs sind sicherheitskritisch. Versenden Sie eine Programm-ID-Änderung nicht, ohne (a) auf die Raydium-Ankündigung zu verlinken, (b) einen Eintrag in reference/changelog hinzuzufügen, und (c) eine Link-Überprüfung über die Dokumentation auszuführen, um zu bestätigen, dass keine Seite immer noch auf den alten Wert verweist.
  • Veraltete Einträge bleiben in der Tabelle mit einer Statusnotiz, statt gelöscht zu werden — bestehende Pools werden immer noch über das alte Programm aufgelöst.
Quellen: