Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Zusammenfassung in einem Absatz
CPMM — Constant Product Market Maker, offiziell das „Standard AMM” in Raydiums Benutzeroberfläche — ist eine native Solana-Implementierung des klassischenx · y = k AMM. Kein OpenBook-Orderbuch, kein Serum-Erbe, keine externen Abhängigkeiten außer SPL Token und Token-2022. Jeder Pool besteht aus einem Tripel (zwei Token-Vaults, ein LP-Mint), das von einer programmgesteuerten Authority-PDA verwaltet wird und nach dem Produkt der Vault-Salden bepreist wird. Es ist das AMM, das Raydium für alle neuen Constant-Product-Pools empfiehlt, und es ist das Ziel des /pools/create-Endpunkts und des „Pool erstellen”-Flows der Web-Benutzeroberfläche.
Was CPMM bietet
Update zur Creator-Fee-Erfassung. Jeder Zahler kann
CollectCreatorFeePermissionless auslösen. Gelder gehen weiterhin nur auf die kanonischen Token-Konten des Pool-Erstellers, und der bestehende, von Creator signierte CollectCreatorFee bleibt verfügbar. Siehe Instructions.- Token-2022 mit einer geprüften Erweiterungs-Allowlist. CPMM akzeptiert nicht beliebige Token-2022-Mints. Das Programm erzwingt eine Whitelist sicherer Erweiterungen bei der Pool-Erstellung:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfigundScaledUiAmount. Jede andere Erweiterung auf dem Mint führt dazu, dassInitializemitNotSupportMintabgelehnt wird — es sei denn, der Mint selbst befindet sich auf einer kleinen, im Programm hartcodierten Mint-Allowlist (wird verwendet, um bestimmte Mints fallweise zu integrieren). Transfergebühren beeinflussen insbesondere die Swap-Mathematik und werden auf der korrekten Seite des Handels angewendet — siehealgorithms/token-2022-transfer-fees. - Vorhersehbare Gebühren. Jeder Pool verweist auf eine
AmmConfig, die bei der Erstellung ausgewählt wird. Die Konfiguration enthält einen Handelsgebührensatz (aufgeteilt zwischen LPs, Protokoll und Fonds) und einen separaten, unabhängigen Creator-Fee-Satz. Die Creator-Fee ist ein eigener Topf — niemals ein Anteil der Handelsgebühr. Pools entscheiden sich bei der Erstellung für die Erhebung. Standardwerte und die vollständige Split-Mathematik finden Sie inproducts/cpmm/fees. - On-Chain-TWAP über einen Observation-Ring-Buffer. Jeder Swap aktualisiert ein
observation-Konto. Externe Verträge können eine kumulative Preisbeobachtung lesen, um einen TWAP ohne benutzerdefinierten Oracle zu berechnen. - Flaches Account-Layout. Ein Pool wird vollständig durch sechs PDAs beschrieben (Authority, Pool-Status, LP-Mint, zwei Vaults, Observation). Kein Pro-Markt-OpenBook-Konto, keine Event-Queue, keine Request-Queue. Transaktionen sind sowohl bei Compute als auch bei Account-Anzahl günstiger als AMM v4.
- Burn-and-Earn-kompatibel. LP-Token können unter dem LP Lock-Programm gesperrt werden, damit der Pool-Ersteller weiterhin Gebühren einziehen kann, ohne das Recht zu behalten, Liquidität abzuziehen. Wird für „permanente” Liquiditätsstarts verwendet.
Was CPMM nicht ist
- Nicht konzentriert. Liquidität ist gleichmäßig über den gesamten Preisbereich verteilt, wie Uniswap v2. Wenn Sie kapitaleffizientes Market Making benötigen — d. h. Liquidität in der Nähe des aktuellen Preises konzentrieren — verwenden Sie CLMM.
- Nicht hybrid. Im Gegensatz zu AMM v4 platzieren CPMM-Pools keine ruhenden Orders auf einem OpenBook-Markt. Das Routing über CPMM-Pools erfolgt über das AMM Routing-Programm, nicht über einen CLOB.
- Nicht für beliebige Kurven startbar. Die Kurve ist auf Constant Product hartcodiert. Wenn Sie eine Bonding-Kurve für einen Token-Start möchten, verwenden Sie LaunchLab, das zu einem CPMM-Pool aufsteigt, wenn es sich füllt.
Wie sich CPMM von AMM v4 unterscheidet
Eine tiefere Behandlung der Migrationsgeschichte finden Sie in
protocol-overview/versions-and-migration.
Mentales Modell
Ein CPMM-Pool ist ein programmgesteuertes Objekt, das drei Salden hält:vault0 (token0), vault1 (token1) und die Versorgung des LP-Mints. Die Versorgung des LP-Mints verfolgt den Anspruch der Einzahler auf den Pool; die Token-Vaults halten die tatsächlichen Vermögenswerte. Alles andere — die Authority-PDA, das Observation-Konto, der Fee-Config-Pointer — ist Buchhaltung, um diese Drei-Variablen-Beziehung handelbar, gebühreneinziehend und beobachtbar zu machen.
Jede benutzergerichtete Operation reduziert sich auf einen klar definierten Zustandsübergang:
- Deposit: token0 und token1 einzahlen, LP an Benutzer prägen, keine Preisänderung.
- Withdraw: LP vom Benutzer verbrennen, token0 und token1 im aktuellen Verhältnis des Pools auszahlen, keine Preisänderung.
- Swap: ein Token einzahlen, den anderen auszahlen; das Verhältnis bewegt sich entlang der
x · y = k-Kurve (minus Gebühren); das Observation-Konto erfasst den neuen Preis.
products/cpmm/math und der Instruction-Satz in products/cpmm/instructions erläutert.
Wann Sie CPMM wählen sollten
Wählen Sie CPMM, wenn:- Sie einen neuen Token oder ein neues Paar starten und keine starken Meinungen darüber haben, welcher Bereich Handel sehen wird.
- Eines oder beide Token verwenden Token-2022-Erweiterungen.
- Sie ein einfaches Gebühren-pro-Handel-Modell gegenüber einem dynamischen, Tick-basierten bevorzugen.
- Sie integrieren und durch Raydium routen möchten, ohne die Komplexität von CLMM-Positionen zu übernehmen.
- Das Paar stabil oder hochkorreliert ist (Stablecoin-Stablecoin, LST-SOL) und Sie Liquidität um Parität konzentrieren möchten.
- Sie ein Market-Making-Team sind, das bereit ist, Bereiche aktiv zu verwalten, um eine höhere Fee-APR pro Dollar TVL zu erzielen.
- Sie bestehende AMM v4-Tools migrieren und keinen neuen Pool erstellen.
Nächste Schritte
- Accounts — die sechs PDAs eines CPMM-Pools und wie man sie ableitet.
- Math —
SwapBaseInputvsSwapBaseOutput, Token-2022-Transfergebührenbehandlung, Observation-Updates. - Instructions — die vollständige Instruction-Oberfläche mit Account-Listen.
- Fees — die vierteilige Gebührenaufteilung und wie man einzieht.
- Code demos — ausführbare TypeScript-Snippets für create / swap / deposit / withdraw.
- Raydium CP-Swap source —
raydium-io/raydium-cp-swap reference/program-addressesfür kanonische Programm-IDs

