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.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Ringkasan satu paragraf
CLMM — Concentrated Liquidity Market Maker — adalah AMM gaya Uniswap-v3 milik Raydium. Alih-alih menyebarkan deposit liquidity provider di seluruh kurva harga, CLMM memungkinkan LP melakukan deposit ke dalam rentang harga spesifik. Di dalam rentang tersebut, setiap dolar deposit jauh lebih produktif daripada di pool CPMM; di luar rentang, deposit tidak menghasilkan apa pun dan tersimpan sebagai saldo satu sisi. Program melacak liquidity per-tick (kurungan harga diskrit), menentukan harga keadaan pool berdasarkan akar kuadrat harga yang dikodekan sebagai bilangan fixed-point Q64.64 (sqrt_price_x64), dan mencetak NFT untuk setiap posisi LP daripada token LP yang fungibel.
Fitur baru
Rilis CLMM terbaru menghadirkan tiga penambahan di atas inti gaya Uniswap-v3. Semuanya bersifat opt-in saat pembuatan pool dan kompatibel mundur dengan pool dan posisi yang ada:- Limit orders. LP kini dapat menempatkan pesanan single-tick pada harga spesifik dan jalur swap akan mengisinya FIFO saat swap melewati tick tersebut. Pesanan diselesaikan ke ATA pemilik pada harga limit; keeper off-chain (
limit_order_admin) dapat mengumpulkan pesanan yang terisi tanpa pemilik online. Lihat Instructions → OpenLimitOrder / SettleLimitOrder dan Math → Limit-order matching during swap. - Single-sided fee (
CollectFeeOn). Pool dapat dikonfigurasi untuk mengambil swap fee dari sisi input (perilaku legacy, mode0), atau selalu daritoken_0(1), atau selalu daritoken_1(2). Berguna ketika salah satu sisi pasangan adalah token akuntansi kanonik (misalnya, USDC). Lihat Fees → Single-sided fee. - Dynamic fee. Pool dapat memilih surcharge fee pelacakan volatilitas yang meningkat dengan pergerakan tick cepat dan menurun seiring waktu. Dikalibrasi oleh
DynamicFeeConfigper-tier danDynamicFeeInfoper-pool. Lihat Fees → Dynamic fee dan Math → Dynamic fee derivation.
CreateCustomizablePool, mengekspos ketiga tombol tersebut saat pembuatan pool. CreatePool klasik terus bekerja untuk pool fee default tanpa limit order atau dynamic fee.
Apa yang CLMM berikan
- Efisiensi modal. LP stablecoin-stablecoin yang mengkonsentrasikan liquidity dalam band ±0,1% di sekitar parity dapat menghasilkan fee 100×+ per dolar TVL dibandingkan pool CPMM dari pasangan yang sama.
- Akuntansi fee tingkat posisi. Fee terkumpul per-posisi, bukan per-LP-mint. Dua posisi di pool yang sama menghasilkan jumlah fee berbeda berdasarkan rentang mereka dan jalur yang telah diambil harga.
- Beberapa tier fee per pasangan. Pasangan dapat memiliki beberapa pool CLMM, masing-masing terikat ke
AmmConfigberbeda dengan tingkat trade-fee dan tick-spacing sendirinya. Web UI dan router menampilkan tier mana pun yang memiliki liquidity paling banyak pada harga saat ini. - Dapat didorong insentif langsung di pool. Hingga tiga aliran token reward dapat ditambahkan ke pool; posisi mengumpulkan reward secara pro-rata berdasarkan detik × liquidity in-range yang mereka sumbangkan. Lihat
products/clmm/fees. - Posisi NFT. Setiap posisi adalah token non-fungibel dengan mint sama dengan PDA deterministik. Mentransfer NFT mentransfer posisi; wallet dan UI dapat menampilkan posisi dengan cara yang sama seperti collectible.
- Dukungan Token-2022 di kedua sisi pasangan, dengan pembatasan ekstensi yang sama seperti CPMM.
Apa CLMM bukan
- Bukan set-it-and-forget-it. Rentang yang ditetapkan saat SOL adalah $160 tidak akan menghasilkan apa pun jika SOL bergerak ke $80, kecuali Anda aktif menyesuaikan. CLMM memberi reward LP aktif; LP pasif harus tetap dengan CPMM.
- Bukan tanpa biaya untuk membuka. Setiap tick-array baru yang dilintasi posisi harus diinisialisasi, memerlukan biaya sewa. Rentang luas lebih murah; rentang sempit tidak.
- Bukan CLOB. Tidak seperti AMM v4, CLMM tidak memiliki ketergantungan OpenBook. Semua liquidity tersimpan di tick map.
- Bukan superset CPMM. Posisi CLMM yang mencakup
[tick_min, tick_max]pada rentang maksimal berperilaku serupa dengan CPMM, tetapi dengan biaya gas berbeda, model akuntansi fee berbeda, dan tidak ada token LP fungibel. Jika Anda menginginkan pool LP fungibel sederhana, gunakan CPMM.
Bagaimana CLMM berbeda dari CPMM dan AMM v4
| Dimensi | AMM v4 | CPMM | CLMM |
|---|---|---|---|
| Kurva | Constant product | Constant product | Concentrated (tick-based) |
| Saham LP | Fungibel LP mint | Fungibel LP mint | NFT per-posisi |
| Liquidity tinggal… | Di semua harga | Di semua harga | Dalam rentang pilihan pengguna |
| Tier fee | Fixed 0,25% | Per AmmConfig (misalnya, 0,25%, 1%) | Per AmmConfig × tick-spacing |
| Manajemen aktif | Tidak berlaku | Tidak berlaku | Diperlukan |
| Akuntansi fee | Tingkat pool | Tingkat pool | Per-posisi |
| Farm reward | Program Farm terpisah | Program Farm terpisah | Built-in (hingga 3 reward) |
| Token-2022 | Tidak | Ya | Ya |
| Oracle on-chain | Tidak | Ring observation | Array observation per pool |
Model mental
Pikirkan pool CLMM sebagai tiga struktur data yang tumpang tindih:- Kurva kontinu dalam ruang
sqrt_price. Harga pool direpresentasikan sebagaisqrt_price_x64, fixed-point Q64.64. Swap berjalan di sepanjang kurva ini; dalam batas tick, matematikanya adalah matematika AMM concentrated-liquidity standar (lihatalgorithms/clmm-math). - Discrete tick map. Harga dikuantisasi menjadi tick — pangkat bilangan bulat dari
1.0001. Setiap tick memilikisqrt_priceyang diketahui. Posisi mereferensikan endpoint mereka sebagai indeks tick bilangan bulat. Indeks tick dikelompokkan ke dalam tick array berukuran tetap untuk penyimpanan. - Bookkeeping fee dan reward per-posisi. Setiap posisi menyimpan global
fee_growth_insidepada waktu update terakhirnya. Ketika LP menyentuh posisi (buka, tutup, sesuaikan, kumpulkan), program mengurangi nilai yang disimpan dari global saat ini untuk menghitung apa yang terutang. Ini adalah pola Uniswap-v3feeGrowthInside0X128 / feeGrowthInside1X128.
- Buka posisi: pilih rentang tick, deposit token, mint NFT, sisipkan liquidity ke dalam tick map dalam rentang, inisialisasi tick-array apa pun yang sebelumnya kosong.
- Naikkan / turunkan liquidity: sesuaikan jumlah yang disimpan di akun posisi terkait NFT dan di tick map; kumpulkan fee terakumulasi pada saat yang sama.
- Swap: berjalan dari
sqrt_price_x64saat ini dalam arah perdagangan, mengonsumsi liquidity aktif hingga input habis atau tick terinialisasi berikutnya tercapai; lintas tick dan ambil atau lepaskan liquidity di sisi baru. - Kumpulkan fee / reward: hitung
fee_growth_inside_now − fee_growth_inside_last×position_liquidityuntuk setiap sisi dan setiap aliran reward; transfer keluar.
liquidity individual mereka.
Kapan memilih CLMM
Pilih CLMM ketika:- Anda menyediakan liquidity ke pasangan stabil atau mean-reverting (USDC/USDT, jitoSOL/SOL, wBTC/BTC) dan ingin berkonsentrasi dekat parity.
- Anda adalah market maker yang bersedia memantau harga dan menyeimbangkan kembali.
- Anda secara khusus membutuhkan emisi insentif per-pool tanpa mendirikan farm terpisah.
- Anda membutuhkan akuntansi per-posisi untuk produk LP Anda sendiri (vault, structured product, dll.).
- Anda meluncurkan token baru dengan price discovery tidak diketahui.
- Anda menginginkan token LP fungibel tunggal yang dapat Anda stake, lock, atau komposisi dengan.
- Anda menginginkan pengalaman LP pasif.
- Anda secara khusus membutuhkan kedalaman hybrid-CLOB yang ditempatkan AMM v4 di OpenBook.
- Anda bermigrasi integrasi AMM v4 yang ada dan tidak membuka posisi baru.
Posisi adalah NFT
Posisi CLMM direpresentasikan on-chain oleh dua akun:- Position NFT mint dengan supply 1.
- Akun personal-position state yang dikunci ke NFT mint, menampung tick posisi, liquidity, dan nilai fee-growth yang terakhir diobservasi.
products/clmm/ticks-and-positions.
Rilis CLMM yang lebih lama juga membuat akun
ProtocolPositionState per (pool, tick_lower, tick_upper) untuk mengagregasi liquidity untuk rentang tersebut. Rilis yang lebih baru tidak lagi membuatnya atau menggunakannya — field masih muncul pada daftar akun OpenPosition / IncreaseLiquidity / DecreaseLiquidity sebagai UncheckedAccount untuk kompatibilitas ABI, tetapi program tidak membaca atau menulisnya. Bookkeeping rentang agregat tinggal di endpoint tick (liquidity_gross, liquidity_net) secara langsung.Kemana selanjutnya
- Accounts — pool, config, tick-array, dan layout akun posisi.
- Ticks and positions — tick map, tick-spacing, sizing tick-array, posisi berbasis NFT.
- Math —
sqrt_price_x64, step-through swap, derivasifee_growth_inside. - Instructions —
OpenPosition,IncreaseLiquidity,Swap,CollectRewards, keluarga limit-order, danCreateCustomizablePool. - Fees and rewards — model fee per-posisi, mode single-sided fee, dynamic fee, dan tiga slot reward.
- Code demos — panduan buka / sesuaikan / swap / kumpulkan / limit-order / customizable-pool dalam TypeScript.
- Sumber CLMM Raydium —
raydium-io/raydium-clmm - Whitepaper Uniswap v3 (“Uniswap v3 Core”) untuk matematika yang CLMM langsung warisi
reference/program-addressesuntuk ID program kanonik


