Zum Hauptinhalt springen

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 →
Verbindliche Referenz. Dies ist die einzige Seite in der Dokumentation, die Programmadressen wortwörtlich auflistet. Alle anderen Seiten verlinken hierher. Sollte sich eine ID ändern, aktualisieren Sie sie nur hier, und alle Verweise im gesamten Projekt bleiben konsistent.Überprüfen Sie Werte immer gegen die Live-API (https://api-v3.raydium.io/main/info), bevor Sie echte Transaktionen signieren.

Mainnet-beta

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

On-Chain-Programme

ProgrammProgramm-IDQuelle
AMM v4 (Hybrid AMM + OpenBook)675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8raydium-amm
CPMM (Standard AMM)CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1Craydium-cp-swap
CLMM (Konzentrierte Liquidität)CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqKraydium-clmm
Stable AMM (StableSwap-Kurvenstil)5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3hQuelle nicht öffentlich verfügbar
Farm v3 (Legacy RAY Staking)EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5QQuelle nicht öffentlich verfügbar
Farm v5 (Legacy Ökosystem-Farmen)9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4zQuelle nicht öffentlich verfügbar
Farm v6 (aktuelle Ökosystem-Farmen)FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhGQuelle nicht öffentlich verfügbar
LaunchLabLanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3ujQuelle nicht öffentlich verfügbar
AMM Routing (Raydiums On-Chain-Router)routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xSQuelle nicht öffentlich verfügbar
Burn & Earn / LP LockLockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwEQuelle nicht öffentlich verfügbar
Hinweise:
  • AMM v4 und Farm v3/v5 sind für bestehende Pools und Positionen reserviert. Die Raydium-UI und das SDK leiten die Erstellung neuer Pools und neue Ökosystem-Farmen stattdessen auf CPMM, CLMM und Farm v6 weiter — siehe protocol-overview/versions-and-migration.
  • Die Farm-v3-ID oben dient auch als Programm für Single-Asset-$RAY-Staking. Das Verhalten ist identisch mit Farm v3 für LP-Staking.
  • Stable AMM ist ein separates Programm, das das AMM Routing-Programm zusammen mit AMM v4, CPMM und CLMM als Ziel ansteuern kann. Die Liquidität ist im Vergleich zu den anderen drei Programmen gering, und das SDK stellt keine First-Class-API dafür bereit; Integrierer, die es nutzen, tun dies in der Regel über den Router.
  • Quellcode-Verfügbarkeit. Von den On-Chain-Programmen oben haben nur raydium-amm (AMM v4), raydium-cp-swap (CPMM) und raydium-clmm (CLMM) öffentliche Quellrepositorien unter github.com/raydium-io. 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-Berechtigung

Alle Anchor-basierten Programme (CLMM, CPMM, LaunchLab, Lock) teilen sich einen einzigen hardcodierten Admin Pubkey für Zugriffskontrolle auf Instructionsebene zu Admin-Pfaden (wie CreateAmmConfig oder UpdatePoolStatus):
ClusterAdmin
mainnet-betaGThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ
devnetDRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak
Betriebsbezogene Autoritäten auf Kontoebene (z. B. protocol_owner, fund_owner auf CPMM/CLMM AmmConfig oder die Migration-Wallets auf LaunchLab GlobalConfig) sind On-Chain gespeichert und können vom Programm-Admin abweichen. Lesen Sie sie direkt vom relevanten Config-Konto, bevor Sie kritische Transaktionen senden.

Gemeinsame Config-/PDA-Konventionen

Mehrere Raydium-Programme stellen Config-Konten bereit, deren öffentliche Schlüssel stabil sind und in der öffentlichen API aufgelistet werden. Nutzen Sie den API-Lookup statt Hardcoding:
# CPMM-Gebührkonfigurationen (gibt ein Array von {id, index, tradeFeeRate, ...} zurück)
GET https://api-v3.raydium.io/main/cpmm-config

# CLMM-Gebührkonfigurationen
GET https://api-v3.raydium.io/main/clmm-config
Standard-CPMM AmmConfig Index 0 (0,25 %-Pool) Gebührenparameter zu Referenzzwecken:
FeldWertBedeutung
trade_fee_rate25000,25 % des Handelsvolumens
protocol_fee_rate12000012 % der Handelsgebühr (nicht des Volumens) an das Protokoll
fund_fee_rate400004 % der Handelsgebühr an die Fund-Multisig
creator_fee_rate5000,05 % des Handelsvolumens an den Pool-Creator (optional)
Siehe products/cpmm/fees für die Zusammensetzung der Aufteilung 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; geben Sie abgeleitete Adressen nicht ein.
// CPMM — alle Seeds sind statische ASCII-Strings, wenn nicht anders angegeben.
const [ammConfig]   = PublicKey.findProgramAddressSync(
  [Buffer.from("amm_config"), u16ToBytes(index)],
  CPMM_PROGRAM_ID,
);
const [authority]   = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_and_lp_mint_auth_seed")],
  CPMM_PROGRAM_ID,
);
const [poolState]   = PublicKey.findProgramAddressSync(
  [Buffer.from("pool"), ammConfig.toBuffer(), token0Mint.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [lpMint]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_lp_mint"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault0]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token0Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault1]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [observation] = PublicKey.findProgramAddressSync(
  [Buffer.from("observation"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
token0Mint / token1Mint sind nach öffentlicher Schlüsselbyte-Ordnung sortiert (token0 < token1), bevor gehashed wird. Ein Fehler hier führt zu einer gültigen PDA für einen nicht existierenden Pool. Die äquivalenten CLMM-Seeds folgen dem gleichen Stil; siehe products/clmm/accounts.

Devnet

ProgrammProgramm-ID
AMM v4DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CPMMDRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb
CLMMDRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH
Stable AMMDRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m
LaunchLabDRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6
AMM RoutingDRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd
Burn & Earn / LP LockDLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC
Farm v3 / v5 / v6Nicht zuverlässig für devnet veröffentlicht — bestätigen Sie via Live-API (https://api-v3-devnet.raydium.io/main/info) vor der Verwendung.
Devnet REST-API-Basis: https://api-v3-devnet.raydium.io/ (gleiche Route-Struktur wie Mainnet).

Wie man eine Adresse On-Chain verifiziert

  1. Solana Explorer. Fügen Sie die Adresse in explorer.solana.com ein und bestätigen Sie, dass sie als Program mit aktueller Upgrade-Berechtigung gekennzeichnet ist. Mainnet-beta sollte Deployments anzeigen, die von Raydiums Upgrade-Berechtigung signiert sind.
  2. CLI. Verwenden Sie solana program show <PROGRAM_ID> -u mainnet-beta, um Deploy-Slot, BPF-Loader, Upgrade-Berechtigung und Datenlänge zu inspizieren. Notieren Sie diese in Ihrem Runbook.
  3. IDL-Anhaftung. Fragen Sie die On-Chain-IDL mit anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet ab. Das Feld address der IDL sollte übereinstimmen. Die gleichen IDLs sind gespiegelt unter github.com/raydium-io/raydium-idl — 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 der aktuellen Raydium-Multisig entspricht, die in security/admin-and-multisig veröffentlicht ist.
Wenn eine der vier oben genannten Überprüfungen mit dieser Seite nicht übereinstimmt, behandeln Sie diese Seite als fehlerhaft und öffnen Sie ein Issue, bevor Sie neuen Code gegen die Adressen schreiben.

Aktualisieren dieser Seite

  • Änderungen an Programm-IDs sind sicherheitskritisch. Verschiffen 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) einen Link-Check über die Dokumentation auszuführen, um zu bestätigen, dass keine Seite noch auf den alten Wert verweist.
  • Abschreibungen bleiben in der Tabelle mit einem Statushinweis, statt gelöscht zu werden — bestehende Pools werden über das alte Programm aufgelöst.
Quellen: