Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Zusammenfassung in einem Absatz
CLMM — Concentrated Liquidity Market Maker — ist Raydiums Uniswap-v3-ähnlicher AMM. Anstatt die Einzahlung eines Liquiditätsanbieters über die gesamte Preiskurve zu verteilen, ermöglicht CLMM LPs, in einen spezifischen Preisbereich einzuzahlen. Innerhalb dieses Bereichs ist jeder Dollar der Einzahlung um ein Vielfaches produktiver als in einem CPMM-Pool; außerhalb des Bereichs verdient die Einzahlung nichts und bleibt als einseitiger Saldo. Das Programm verfolgt Liquidität pro Tick (ein diskretisierter Preis-Bucket), bewertet den Pool-Status anhand der Quadratwurzel des Preises, kodiert als Q64.64-Festkommazahl (sqrt_price_x64), und prägt für jede LP-Position ein NFT statt eines fungiblen LP-Tokens.
Was ist neu
Die neueste CLMM-Version bringt drei Ergänzungen zum Uniswap-v3-ähnlichen Kern. Sie sind optional bei der Pool-Erstellung und rückwärtskompatibel mit bestehenden Pools und Positionen:- Limit-Orders. LPs können nun eine Single-Tick-Order zu einem bestimmten Preis platzieren und den Swap-Pfad FIFO füllen lassen, wenn der Swap diesen Tick kreuzt. Orders werden zum Limit-Preis in das ATA des Besitzers abgewickelt; ein Off-Chain-Keeper (
limit_order_admin) kann gefüllte Orders abräumen, ohne dass der Besitzer online sein muss. Siehe Instructions → OpenLimitOrder / SettleLimitOrder und Math → Limit-order matching during swap. - Einseitige Gebühr (
CollectFeeOn). Pools können so konfiguriert werden, dass Swap-Gebühren von der Eingabeseite genommen werden (Legacy-Verhalten, Modus0), oder immer vontoken_0(1), oder immer vontoken_1(2). Nützlich, wenn eine Seite des Paares das kanonische Accounting-Token ist (z. B. USDC). Siehe Fees → Single-sided fee. - Dynamische Gebühr. Pools können sich für einen volatilitätsverfolgenden Gebührenzuschlag anmelden, der mit schnellen Tick-Bewegungen ansteigt und mit der Zeit abfällt. Kalibriert durch eine Pro-Tier-
DynamicFeeConfigund eine Pro-Pool-DynamicFeeInfo. Siehe Fees → Dynamic fee und Math → Dynamic fee derivation.
CreateCustomizablePool, stellt alle drei Optionen bei der Pool-Erstellung zur Verfügung. Die klassische CreatePool funktioniert weiterhin für Standard-Gebühren-Pools ohne Limit-Orders oder dynamische Gebühren.
Eine spätere Version fügt berechtigte Multi-Pools hinzu: CreatePermissionedPool ermöglicht es einem whitelisted Operator (einer, die eine Permission PDA hält), mehr als einen Pool für das gleiche Paar und die gleiche Gebühren-Tier zu erstellen, indem ein seed_index in die Pool-Adresse gefaltet wird, und verstärkt OpenLimitOrder, um Orders abzulehnen, deren Input- oder Output-Token-Konto eingefroren ist. Siehe den Changelog-Eintrag vom 2026-07-30.
Die Version vom 2026-10-22 öffnet die Multi-Pool-Erstellung für alle: CreatePermissionedPool wird in CreateCustomizablePoolV2 umbenannt, das Permission PDA-Gate wird entfernt, und jeder Zahler kann zusätzliche Pools für ein Paar und eine Gebühren-Tier unter einer seed_index-abgeleiteten Adresse erstellen. Ein Paar kann daher viele CLMM-Pools pro Gebühren-Tier haben, wählen Sie Pools nach Liquidität, nicht nach Adresse. Siehe Instructions → CreateCustomizablePoolV2 und den Changelog-Eintrag vom 2026-10-22.
Die Version vom 2026-08 fügt einen bedingten Position-Freeze-Pfad für ausgewählte KYC-beschränkte Emittenten-Pools hinzu. Jede neue Position-NFT-Prägung verwendet den Pool als Freeze-Autorität, aber das NFT-Token-Konto bleibt standardmäßig unfrozen und übertragbar. CLMM friert es nur ein, wenn die Position durch OpenPositionV2 oder OpenPositionWithToken22Nft geöffnet wird und die Freeze-Autorität eines Pool-Mints der Restricted-Issuer-Liste des Programms entspricht. Der Besitzer kann die Liquidität weiterhin verwalten und eine übereinstimmende Position schließen, kann aber sein NFT nicht übertragen oder den Token-Konto-Besitzer nicht ändern. Bestehende Positionen werden nicht rückwirkend eingefroren. Siehe Ticks and positions → Restricted-issuer positions und den Changelog-Eintrag vom 2026-08-17.
Was CLMM Ihnen bietet
- Kapitaleffizienz. Ein Stablecoin-Stablecoin-LP, der Liquidität in einem ±0,1%-Band um Parität konzentriert, kann 100×+ die Gebühren pro Dollar TVL verdienen, verglichen mit einem CPMM-Pool des gleichen Paares.
- Position-Level-Gebührenabrechnung. Gebühren fallen pro Position an, nicht pro LP-Mint. Zwei Positionen im gleichen Pool verdienen unterschiedliche Gebührenbeträge basierend auf ihren Bereichen und dem Pfad, den der Preis genommen hat.
- Mehrere Gebühren-Tiers pro Paar. Ein Paar kann mehrere CLMM-Pools haben, jeder an eine andere
AmmConfigmit seiner eigenen Handelsgebührenrate und Tick-Spacing gebunden. Die Web-UI und Router zeigen die Tier mit der meisten Liquidität zum aktuellen Preis. - Direkt auf dem Pool anreizbar. Bis zu drei Reward-Token-Streams können an einen Pool angehängt werden; Positionen sammeln Rewards pro-rata basierend auf den Sekunden × In-Range-Liquidität, die sie beitragen. Siehe
products/clmm/fees. - NFT-Positionen. Jede Position ist ein Non-Fungible Token. Das Übertragen des NFT überträgt normalerweise die Position; Wallets und UIs können Positionen genauso anzeigen wie Sammlerstücke. Nur eine V2-Position, deren zugrunde liegendes Mint dem Restricted-Issuer-Filter entspricht, ist eingefroren und nicht übertragbar.
- Token-2022-Unterstützung auf beiden Seiten des Paares, mit den gleichen Erweiterungsbeschränkungen wie CPMM.
Was CLMM nicht ist
- Nicht „einmal einstellen und vergessen”. Ein Bereich, der gesetzt wird, während SOL bei $160 liegt, verdient nichts, wenn SOL auf $80 fällt, es sei denn, Sie passen aktiv an. CLMM belohnt aktive LPs; passive LPs sollten bei CPMM bleiben.
- Nicht kostenfrei zu öffnen. Jedes neue Tick-Array, das die Position kreuzt, muss initialisiert werden, was Miete kostet. Breite Bereiche sind billiger; enge nicht.
- Nicht ein CLOB. Im Gegensatz zu AMM v4 hat CLMM keine OpenBook-Abhängigkeit. Alle Liquidität sitzt auf der Tick-Map.
- Nicht eine Obermenge von CPMM. Eine CLMM-Position, die
[tick_min, tick_max]bei maximaler Reichweite umfasst, verhält sich ähnlich wie CPMM, aber mit unterschiedlichen Gas-Kosten, einem anderen Gebührenabrechnung-Modell und keinem fungiblen LP-Token. Wenn Sie einen einfachen fungiblen-LP-Pool möchten, verwenden Sie CPMM.
Wie sich CLMM von CPMM und AMM v4 unterscheidet
Mentales Modell
Stellen Sie sich einen CLMM-Pool als drei überlagerte Datenstrukturen vor:- Eine kontinuierliche Kurve im
sqrt_price-Raum. Der Pool-Preis wird alssqrt_price_x64, eine Q64.64-Festkommazahl, dargestellt. Swaps gehen entlang dieser Kurve; innerhalb einer Tick-Grenze ist die Mathematik Standard-Concentrated-Liquidity-AMM-Mathematik (siehealgorithms/clmm-math). - Eine diskrete Tick-Map. Preise werden in Ticks quantisiert — ganzzahlige Potenzen von
1.0001. Jeder Tick hat einen bekanntensqrt_price. Positionen referenzieren ihre Endpunkte als ganzzahlige Tick-Indizes. Tick-Indizes werden in feste Größen Tick-Arrays für die Speicherung gruppiert. - Pro-Position-Gebühren- und Reward-Buchführung. Jede Position speichert das globale
fee_growth_insidezum Zeitpunkt ihrer letzten Aktualisierung. Wenn der LP die Position berührt (öffnen, schließen, anpassen, sammeln), subtrahiert das Programm den gespeicherten Wert vom aktuellen Global, um zu berechnen, was fällig ist. Dies ist das Uniswap-v3-feeGrowthInside0X128 / feeGrowthInside1X128-Muster.
- Position öffnen: Tick-Bereich wählen, Token einzahlen, NFT prägen, Liquidität in die Tick-Map innerhalb des Bereichs einfügen, alle zuvor leeren Tick-Arrays initialisieren.
- Liquidität erhöhen / verringern: Den in der NFT-zugehörigen Position-Konto und in der Tick-Map gespeicherten Betrag anpassen; akkumulierte Gebühren gleichzeitig sammeln.
- Swap: Von der aktuellen
sqrt_price_x64in Handelsrichtung gehen, aktive Liquidität verbrauchen, bis die Eingabe erschöpft ist oder der nächste initialisierte Tick erreicht wird; den Tick kreuzen und Liquidität auf der neuen Seite aufnehmen oder ablegen. - Gebühren / Rewards sammeln:
fee_growth_inside_now − fee_growth_inside_last×position_liquidityfür jede Seite und jeden Reward-Stream berechnen; auszahlen.
liquidity-Beträgen.
Wann CLMM wählen
Wählen Sie CLMM, wenn:- Sie Liquidität für ein stabiles oder mean-reverting Paar bereitstellen (USDC/USDT, jitoSOL/SOL, wBTC/BTC) und in der Nähe der Parität konzentrieren möchten.
- Sie ein Market Maker sind, der bereit ist, den Preis zu überwachen und neu auszugleichen.
- Sie speziell Pro-Pool-Anreiz-Emissionen benötigen, ohne eine separate Farm einzurichten.
- Sie Pro-Position-Abrechnung für Ihr eigenes LP-Produkt benötigen (Vault, strukturiertes Produkt, etc.).
- Sie ein neues Token mit unbekannter Preisfindung starten.
- Sie ein einzelnes fungibles LP-Token möchten, das Sie staken, sperren oder zusammensetzen können.
- Sie eine passive LP-Erfahrung möchten.
- Sie speziell die Hybrid-CLOB-Tiefe benötigen, die AMM v4 auf OpenBook platziert.
- Sie bestehende AMM v4-Integrationen migrieren und keine neuen Positionen öffnen.
Positionen sind NFTs
Eine CLMM-Position wird On-Chain durch zwei Konten dargestellt:- Ein Position-NFT-Mint mit Angebot 1.
- Ein Personal-Position-State-Konto, das zum NFT-Mint geschlüsselt ist und die Ticks, Liquidität und zuletzt beobachteten Gebührenwachstums-Werte der Position hält.
products/clmm/ticks-and-positions.
Ältere CLMM-Versionen erstellten auch ein
ProtocolPositionState-Konto pro (pool, tick_lower, tick_upper), um Liquidität für diesen Bereich zu aggregieren. Neuere Versionen erstellen oder verwenden es nicht mehr — das Feld erscheint immer noch auf OpenPosition / IncreaseLiquidity / DecreaseLiquidity Kontolisten als UncheckedAccount für ABI-Kompatibilität, aber das Programm liest oder schreibt es nicht. Die Aggregat-Bereichs-Buchführung lebt direkt auf den Tick-Endpunkten (liquidity_gross, liquidity_net).Nächste Schritte
- Accounts — die Pool-, Config-, Tick-Array- und Position-Account-Layouts.
- Ticks und Positionen — die Tick-Map, Tick-Spacing, Tick-Array-Größenbestimmung, NFT-basierte Positionen.
- Mathematik —
sqrt_price_x64, Swap-Schrittweise,fee_growth_inside-Herleitung. - Instruktionen —
OpenPosition,IncreaseLiquidity,Swap,CollectRewards, die Limit-Order-Familie undCreateCustomizablePool. - Gebühren und Rewards — das Pro-Position-Gebührenmodell, einseitige Gebührenmodi, dynamische Gebühren und die drei Reward-Slots.
- Code-Demos — Walkthroughs für Open / Adjust / Swap / Collect / Limit-Order / Customizable-Pool in TypeScript.
- Raydium CLMM Source —
raydium-io/raydium-clmm - Uniswap v3 Whitepaper („Uniswap v3 Core”) für die Mathematik, die CLMM direkt übernimmt
reference/program-addressesfür kanonische Programm-IDs

