Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
Tóm tắt một đoạn
CLMM — Concentrated Liquidity Market Maker — là AMM kiểu Uniswap-v3 của Raydium. Thay vì phân tán tiền gửi của liquidity provider trên toàn bộ đường cong giá, CLMM cho phép LP gửi tiền vào một khoảng giá cụ thể. Trong khoảng đó, mỗi đô la gửi tiền có năng suất cao gấp nhiều lần so với pool CPMM; ngoài khoảng đó, tiền gửi không kiếm được gì và nằm yên như một số dư một phía. Chương trình theo dõi liquidity theo tick (một nhóm giá rời rạc), định giá trạng thái pool bằng căn bậc hai của giá được mã hóa dưới dạng số điểm cố định Q64.64 (sqrt_price_x64), và phát hành một NFT cho mỗi vị trí LP thay vì một token LP có thể trao đổi được.
Có gì mới
Phiên bản CLMM mới nhất cung cấp ba bổ sung trên cơ sở kiểu Uniswap-v3. Chúng là tùy chọn tại thời điểm tạo pool và tương thích ngược với các pool và vị trí hiện có:- Limit orders. LP hiện có thể đặt một lệnh tick duy nhất ở một giá cụ thể và có đường dẫn swap điền nó theo FIFO khi swap vượt qua tick đó. Các lệnh được thanh toán vào ATA của chủ sở hữu ở giá giới hạn; một người giữ ngoài chuỗi (
limit_order_admin) có thể quét các lệnh đã điền mà không cần chủ sở hữu trực tuyến. Xem Instructions → OpenLimitOrder / SettleLimitOrder và Math → Limit-order matching during swap. - Single-sided fee (
CollectFeeOn). Các pool có thể được cấu hình để lấy phí swap từ phía đầu vào (hành vi cũ, chế độ0), hoặc luôn từtoken_0(1), hoặc luôn từtoken_1(2). Hữu ích khi một phía của cặp là token kế toán chính thức (ví dụ: USDC). Xem Fees → Single-sided fee. - Dynamic fee. Các pool có thể chọn tham gia vào phí bổ sung theo dõi biến động tăng lên khi chuyển động tick nhanh chóng và giảm theo thời gian. Được hiệu chỉnh bằng
DynamicFeeConfigcho mỗi tầng vàDynamicFeeInfocho mỗi pool. Xem Fees → Dynamic fee và Math → Dynamic fee derivation.
CreateCustomizablePool, hiển thị cả ba công tắc tại thời điểm tạo pool. CreatePool cổ điển tiếp tục hoạt động cho các pool phí mặc định mà không có limit orders hoặc dynamic fees.
Một phiên bản sau này thêm permissioned multi-pools: CreatePermissionedPool cho phép một nhà khai thác được phép (một người nắm giữ PDA Permission) tạo nhiều hơn một pool cho cùng một cặp và tầng phí bằng cách gấp seed_index vào địa chỉ pool, và làm cứng OpenLimitOrder để từ chối các lệnh có token account đầu vào hoặc đầu ra bị đóng băng. Xem mục 2026-07-30 changelog entry.
Phiên bản 2026-10-22 mở tạo multi-pool cho mọi người: CreatePermissionedPool được đổi tên thành CreateCustomizablePoolV2, cổng PDA Permission bị xóa, và bất kỳ người trả tiền nào cũng có thể tạo các pool bổ sung cho một cặp và tầng phí ở địa chỉ dẫn xuất seed_index. Do đó, một cặp có thể có nhiều pool CLMM cho mỗi tầng phí, vì vậy hãy chọn pool theo liquidity, không phải theo địa chỉ. Xem Instructions → CreateCustomizablePoolV2 và 2026-10-22 changelog entry.
Phiên bản 2026-08 thêm conditional position-freeze path cho các pool nhà phát hành bị hạn chế KYC được chọn. Mỗi mint NFT vị trí mới sử dụng pool làm freeze authority, nhưng token account NFT vẫn không bị đóng băng và có thể chuyển được theo mặc định. CLMM chỉ đóng băng nó khi vị trí được mở thông qua OpenPositionV2 hoặc OpenPositionWithToken22Nft và freeze authority của mint pool phù hợp với danh sách nhà phát hành bị hạn chế của chương trình. Chủ sở hữu vẫn có thể quản lý liquidity và đóng một vị trí phù hợp, nhưng không thể chuyển NFT của nó hoặc thay đổi chủ sở hữu token-account. Các vị trí hiện có không bị đóng băng theo cách hồi tưởng. Xem Ticks and positions → Restricted-issuer positions và 2026-08-17 changelog entry.
CLMM mang lại cho bạn điều gì
- Hiệu quả vốn. Một LP stablecoin-stablecoin tập trung liquidity trong dải ±0.1% xung quanh parity có thể kiếm được phí cao gấp 100 lần trở lên trên mỗi đô la TVL so với pool CPMM của cùng một cặp.
- Kế toán phí cấp vị trí. Phí tích lũy theo vị trí, không phải theo LP-mint. Hai vị trí trên cùng một pool kiếm được các khoản phí khác nhau dựa trên phạm vi của chúng và đường dẫn giá đã đi.
- Nhiều tầng phí cho mỗi cặp. Một cặp có thể có nhiều pool CLMM, mỗi pool được ràng buộc với một
AmmConfigkhác nhau với tỷ lệ phí giao dịch và tick-spacing riêng của nó. Giao diện web và router hiển thị tầng nào có liquidity nhiều nhất ở giá hiện tại. - Có thể khuyến khích trực tiếp trên pool. Có thể gắn tối đa ba luồng token phần thưởng vào một pool; các vị trí thu thập phần thưởng theo tỷ lệ dựa trên giây × liquidity trong phạm vi mà chúng đóng góp. Xem
products/clmm/fees. - Vị trí NFT. Mỗi vị trí là một token không thể thay thế. Chuyển NFT thông thường sẽ chuyển vị trí; ví và giao diện người dùng có thể hiển thị các vị trí giống cách chúng hiển thị các bộ sưu tập. Chỉ một vị trí V2 có mint cơ bản phù hợp với bộ lọc nhà phát hành bị hạn chế mới bị đóng băng và không thể chuyển được.
- Hỗ trợ Token-2022 ở cả hai phía của cặp, với các hạn chế mở rộng giống như CPMM.
CLMM không phải là gì
- Không phải là đặt rồi quên. Một khoảng được đặt khi SOL là $160 sẽ không kiếm được gì nếu SOL chuyển sang $80, trừ khi bạn chủ động điều chỉnh. CLMM thưởng cho LP chủ động; LP thụ động nên ở lại với CPMM.
- Không phải là không có chi phí để mở. Mỗi tick-array mới mà vị trí vượt qua phải được khởi tạo, tốn tiền thuê. Các khoảng rộng rẻ hơn; các khoảng hẹp thì không.
- Không phải là CLOB. Không giống như AMM v4, CLMM không có phụ thuộc OpenBook. Tất cả liquidity nằm trên tick map.
- Không phải là siêu tập hợp của CPMM. Một vị trí CLMM trải dài
[tick_min, tick_max]ở phạm vi tối đa hoạt động tương tự như CPMM, nhưng với chi phí gas khác nhau, mô hình kế toán phí khác nhau, và không có token LP có thể trao đổi được. Nếu bạn muốn một pool LP có thể trao đổi được đơn giản, hãy sử dụng CPMM.
CLMM khác với CPMM và AMM v4 như thế nào
Mô hình tư duy
Hãy coi một pool CLMM như ba cấu trúc dữ liệu xếp chồng lên nhau:- Một đường cong liên tục trong không gian
sqrt_price. Giá của pool được biểu diễn dưới dạngsqrt_price_x64, một điểm cố định Q64.64. Các swap đi dọc theo đường cong này; trong ranh giới tick, toán học là toán học AMM liquidity tập trung tiêu chuẩn (xemalgorithms/clmm-math). - Một tick map rời rạc. Giá được lượng tử hóa thành tick — lũy thừa nguyên của
1.0001. Mỗi tick có mộtsqrt_priceđã biết. Các vị trí tham chiếu các điểm cuối của chúng dưới dạng chỉ số tick nguyên. Các chỉ số tick được nhóm thành tick arrays có kích thước cố định để lưu trữ. - Kế toán phí và phần thưởng theo vị trí. Mỗi vị trí lưu trữ
fee_growth_insidetoàn cầu tại thời điểm cập nhật cuối cùng của nó. Khi LP chạm vào vị trí (mở, đóng, điều chỉnh, thu thập), chương trình trừ giá trị được lưu trữ từ giá trị toàn cầu hiện tại để tính toán những gì được nợ. Đây là mô hình Uniswap-v3feeGrowthInside0X128 / feeGrowthInside1X128.
- Mở vị trí: chọn khoảng tick, gửi token, mint NFT, chèn liquidity vào tick map trong khoảng, khởi tạo bất kỳ tick-arrays nào trước đó trống.
- Tăng / giảm liquidity: điều chỉnh số lượng được lưu trữ trong tài khoản vị trí liên kết với NFT và trong tick map; thu thập phí tích lũy cùng lúc.
- Swap: đi từ
sqrt_price_x64hiện tại theo hướng giao dịch, tiêu thụ liquidity hoạt động cho đến khi đầu vào được sử dụng hết hoặc tick được khởi tạo tiếp theo được đạt tới; vượt qua tick và nhặt hoặc thả liquidity ở phía mới. - Thu thập phí / phần thưởng: tính toán
fee_growth_inside_now − fee_growth_inside_last×position_liquiditycho mỗi phía và mỗi luồng phần thưởng; chuyển ra.
liquidity riêng lẻ của họ.
Khi nào nên chọn CLMM
Chọn CLMM khi:- Bạn đang cung cấp liquidity cho một cặp ổn định hoặc mean-reverting (USDC/USDT, jitoSOL/SOL, wBTC/BTC) và muốn tập trung gần parity.
- Bạn là một market maker sẵn sàng theo dõi giá và cân bằng lại.
- Bạn cụ thể cần phát hành khuyến khích cho mỗi pool mà không cần thiết lập một trang trại riêng.
- Bạn cần kế toán theo vị trí cho sản phẩm LP của riêng bạn (vault, sản phẩm có cấu trúc, v.v.).
- Bạn đang khởi chạy một token mới với khám phá giá không xác định.
- Bạn muốn một token LP có thể trao đổi được duy nhất mà bạn có thể stake, lock hoặc kết hợp với.
- Bạn muốn trải nghiệm LP thụ động.
- Bạn cụ thể cần độ sâu hybrid-CLOB mà AMM v4 đặt trên OpenBook.
- Bạn đang di chuyển các tích hợp AMM v4 hiện có và không mở các vị trí mới.
Vị trí là NFT
Một vị trí CLMM được biểu diễn trên chuỗi bằng hai tài khoản:- Một position NFT mint với cung cấp 1.
- Một tài khoản personal-position state được khóa vào NFT mint, giữ các tick, liquidity và giá trị tăng trưởng phí được quan sát lần cuối của vị trí.
products/clmm/ticks-and-positions.
Các phiên bản CLMM cũ hơn cũng tạo một tài khoản
ProtocolPositionState cho mỗi (pool, tick_lower, tick_upper) để tổng hợp liquidity cho khoảng đó. Các phiên bản mới không còn tạo hoặc sử dụng nó — trường vẫn xuất hiện trên danh sách tài khoản OpenPosition / IncreaseLiquidity / DecreaseLiquidity dưới dạng UncheckedAccount để tương thích ABI, nhưng chương trình không đọc hoặc ghi nó. Kế toán phạm vi tổng hợp nằm trên các điểm cuối tick (liquidity_gross, liquidity_net) trực tiếp.Bước tiếp theo
- Accounts — cấu trúc tài khoản pool, config, tick-array, và position.
- Ticks and positions — tick map, tick-spacing, kích thước tick-array, positions dựa trên NFT.
- Math —
sqrt_price_x64, swap step-through, đạo hàmfee_growth_inside. - Instructions —
OpenPosition,IncreaseLiquidity,Swap,CollectRewards, họ limit-order, vàCreateCustomizablePool. - Fees and rewards — mô hình phí theo vị trí, chế độ phí một chiều, phí động, và ba slot reward.
- Code demos — hướng dẫn open / adjust / swap / collect / limit-order / customizable-pool bằng TypeScript.
- Raydium CLMM source —
raydium-io/raydium-clmm - Uniswap v3 whitepaper (“Uniswap v3 Core”) cho toán học mà CLMM kế thừa trực tiếp
reference/program-addressescho các program ID chính thức

