> ## 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.

# Ikhtisar CLMM

> Apa itu CLMM Raydium, bagaimana liquidity terkonsentrasi berbeda dari constant-product pool, dan kapan memilihnya dibanding CPMM atau AMM v4.

<Info>
  **Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.**

  [Lihat versi bahasa Inggris →](/products/clmm/overview)
</Info>

## Ringkasan satu paragraf

CLMM — **C**oncentrated **L**iquidity **M**arket **M**aker — 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](/id/products/clmm/instructions) dan [Math → Limit-order matching during swap](/id/products/clmm/math).
* **Single-sided fee (`CollectFeeOn`).** Pool dapat dikonfigurasi untuk mengambil swap fee dari sisi input (perilaku legacy, mode `0`), atau selalu dari `token_0` (`1`), atau selalu dari `token_1` (`2`). Berguna ketika salah satu sisi pasangan adalah token akuntansi kanonik (misalnya, USDC). Lihat [Fees → Single-sided fee](/id/products/clmm/fees).
* **Dynamic fee.** Pool dapat memilih surcharge fee pelacakan volatilitas yang meningkat dengan pergerakan tick cepat dan menurun seiring waktu. Dikalibrasi oleh `DynamicFeeConfig` per-tier dan `DynamicFeeInfo` per-pool. Lihat [Fees → Dynamic fee](/id/products/clmm/fees) dan [Math → Dynamic fee derivation](/id/products/clmm/math).

Instruksi baru, `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 `AmmConfig` berbeda 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`](/id/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:

1. **Kurva kontinu dalam ruang `sqrt_price`.** Harga pool direpresentasikan sebagai `sqrt_price_x64`, fixed-point Q64.64. Swap berjalan di sepanjang kurva ini; dalam batas tick, matematikanya adalah matematika AMM concentrated-liquidity standar (lihat [`algorithms/clmm-math`](/id/algorithms/clmm-math)).
2. **Discrete tick map.** Harga dikuantisasi menjadi tick — pangkat bilangan bulat dari `1.0001`. Setiap tick memiliki `sqrt_price` yang diketahui. Posisi mereferensikan endpoint mereka sebagai indeks tick bilangan bulat. Indeks tick dikelompokkan ke dalam **tick array** berukuran tetap untuk penyimpanan.
3. **Bookkeeping fee dan reward per-posisi.** Setiap posisi menyimpan global `fee_growth_inside` pada 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-v3 `feeGrowthInside0X128 / feeGrowthInside1X128`.

Setiap tindakan pengguna terurai menjadi transisi keadaan pada ketiga struktur ini:

* **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_x64` saat 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_liquidity` untuk setiap sisi dan setiap aliran reward; transfer keluar.

Pool sebaliknya tidak peduli posisi mana yang terbuka. Dua LP dalam rentang yang sama melihat jalur pertumbuhan fee yang sama, diskalakan oleh jumlah `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.).

Lebih suka [CPMM](/id/products/cpmm) ketika:

* 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.

Lebih suka [AMM v4](/id/products/amm-v4) ketika:

* 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.

Mentransfer NFT mentransfer posisi — otoritas akun personal-position adalah pemilik NFT. Ini adalah pola yang sama yang Uniswap v3 pelopori, diimplementasikan dalam model akun Solana. Perlakuan detail ada di [`products/clmm/ticks-and-positions`](/id/products/clmm/ticks-and-positions).

<Note>
  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.
</Note>

## Kemana selanjutnya

* [Accounts](/id/products/clmm/accounts) — pool, config, tick-array, dan layout akun posisi.
* [Ticks and positions](/id/products/clmm/ticks-and-positions) — tick map, tick-spacing, sizing tick-array, posisi berbasis NFT.
* [Math](/id/products/clmm/math) — `sqrt_price_x64`, step-through swap, derivasi `fee_growth_inside`.
* [Instructions](/id/products/clmm/instructions) — `OpenPosition`, `IncreaseLiquidity`, `Swap`, `CollectRewards`, keluarga limit-order, dan `CreateCustomizablePool`.
* [Fees and rewards](/id/products/clmm/fees) — model fee per-posisi, mode single-sided fee, dynamic fee, dan tiga slot reward.
* [Code demos](/id/products/clmm/code-demos) — panduan buka / sesuaikan / swap / kumpulkan / limit-order / customizable-pool dalam TypeScript.

Sumber:

* [Sumber CLMM Raydium — `raydium-io/raydium-clmm`](https://github.com/raydium-io/raydium-clmm)
* Whitepaper Uniswap v3 ("Uniswap v3 Core") untuk matematika yang CLMM langsung warisi
* [`reference/program-addresses`](/id/reference/program-addresses) untuk ID program kanonik
