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.
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
CPMM — Constant Product Market Maker, chính thức được gọi là “Standard AMM” trong giao diện Raydium — là một bản triển khai AMM kinh điểnx · y = k trên Solana. Không OpenBook order book, không dư thừa từ Serum, không phụ thuộc bên ngoài ngoài SPL Token và Token-2022. Mỗi pool là một tập hợp ba thành phần (hai vault token, một LP mint) được quản lý bởi một PDA do chương trình sở hữu, được định giá bằng tích của số dư vault. Đây là AMM mà Raydium khuyên dùng cho tất cả các pool constant-product mới, và nó là mục tiêu mặc định của endpoint /pools/create và luồng “Create pool” trên web UI.
CPMM mang lại gì
- Token-2022 với danh sách cho phép extension được kiểm chứng. CPMM không chấp nhận các mint Token-2022 tùy ý. Chương trình thực thi danh sách trắng các extension an toàn khi tạo pool:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfig, vàScaledUiAmount. Bất kỳ extension nào khác trên mint sẽ khiếnInitializebị từ chối vớiNotSupportMint— trừ khi bản thân mint nằm trong một danh sách mint cho phép được mã hóa cứng nhỏ được duy trì trong chương trình (được sử dụng để onboard các mint cụ thể theo từng trường hợp). Phí chuyển giao cụ thể ảnh hưởng đến toán học swap và được áp dụng ở bên đúng của giao dịch — xemalgorithms/token-2022-transfer-fees. - Phí dự đoán được. Mỗi pool tham chiếu một
AmmConfigđược chọn khi tạo. Config này mang theo tỷ lệ phí giao dịch (chia giữa LP, giao thức và quỹ) và một tỷ lệ phí người tạo riêng biệt, độc lập. Phí người tạo là bucket riêng của nó — không bao giờ là một phần của phí giao dịch. Pool chọn từng phí khi tạo. Các giá trị mặc định và toán học chia tách đầy đủ nằm trongproducts/cpmm/fees. - TWAP trên chuỗi thông qua ring buffer quan sát. Mỗi swap cập nhật một tài khoản
observation. Các hợp đồng bên ngoài có thể đọc một quan sát giá tích lũy để tính TWAP mà không cần oracle tùy chỉnh. - Bố cục tài khoản phẳng. Một pool được mô tả đầy đủ bởi sáu PDA (authority, pool state, LP mint, hai vault, observation). Không có tài khoản OpenBook cho mỗi thị trường, không có event queue, không có request queue. Giao dịch rẻ hơn cả về compute và số lượng tài khoản so với AMM v4.
- Tương thích với burn-and-earn. Token LP có thể bị khóa theo chương trình LP Lock để người tạo pool có thể tiếp tục nhận phí mà không giữ lại quyền rút thanh khoản. Được sử dụng cho các bản phát hành thanh khoản “vĩnh viễn”.
CPMM không phải
- Không tập trung. Thanh khoản được phân tán đều trên toàn bộ phạm vi giá, giống như Uniswap v2. Nếu bạn cần tạo lập thị trường hiệu quả về vốn — tức là tập trung thanh khoản gần giá hiện tại — hãy sử dụng CLMM.
- Không lai. Không giống như AMM v4, các pool CPMM không đặt các lệnh yên tĩnh trên thị trường OpenBook. Định tuyến qua các pool CPMM xảy ra thông qua chương trình AMM Routing, không phải thông qua CLOB.
- Không có thể khởi chạy cho các đường cong tùy ý. Đường cong được mã hóa cứng thành constant product. Nếu bạn muốn đường cong bonding cho bản phát hành token, hãy sử dụng LaunchLab, chương trình này nâng cấp lên pool CPMM khi nó được lấp đầy.
Cách CPMM khác biệt với AMM v4
| Khía cạnh | AMM v4 | CPMM |
|---|---|---|
| Đường cong | Constant product | Constant product |
| Phụ thuộc OpenBook | Không hoạt động (ban đầu đặt lệnh trên thị trường OpenBook; tích hợp bị vô hiệu hóa) | Không |
| Hỗ trợ Token-2022 | Không (chỉ SPL Token) | Có (bao gồm phí chuyển giao) |
| Số lượng tài khoản mỗi swap V2 | ~9 | ~11 |
| Đơn vị tính toán mỗi swap | ~80k–120k (đường dẫn V2) | ~60k–100k |
| Oracle TWAP | Không có tài khoản oracle gốc | Ring buffer observation |
| Tạo pool mới ngày hôm nay | Không phải mặc định (chương trình vẫn chấp nhận) | Mặc định |
| Trạng thái | Hoạt động đầy đủ | Hoạt động, được khuyến nghị |
protocol-overview/versions-and-migration.
Mô hình tư duy
Một pool CPMM là một đối tượng do chương trình sở hữu giữ ba số dư:vault0 (token0), vault1 (token1), và cung cấp của LP mint. Cung cấp LP mint theo dõi yêu cầu của người gửi tiền trên pool; các vault token giữ tài sản thực tế. Mọi thứ khác — PDA authority, tài khoản observation, con trỏ fee-config — là công việc kế toán để làm cho mối quan hệ ba biến này có thể giao dịch, thu thập phí và có thể quan sát.
Mỗi hoạt động hướng đến người dùng sụp đổ thành một chuyển đổi trạng thái được xác định rõ:
- Gửi tiền: chuyển token0 và token1 vào, mint LP cho người dùng, không thay đổi giá.
- Rút tiền: đốt LP từ người dùng, chuyển token0 và token1 ra theo tỷ lệ hiện tại của pool, không thay đổi giá.
- Swap: chuyển một token vào, chuyển cái khác ra; tỷ lệ di chuyển dọc theo đường cong
x · y = k(trừ phí); tài khoản observation lấy mẫu giá mới.
CollectProtocolFee, CollectFundFee) là một giao dịch riêng biệt được ký bởi authority tương ứng; nó không xảy ra ở mỗi swap. Toán học được giải thích trong products/cpmm/math và tập hợp hướng dẫn trong products/cpmm/instructions.
Khi nào nên chọn CPMM
Chọn CPMM khi:- Bạn đang phát hành token mới hoặc cặp mới và không có quan điểm mạnh về phạm vi nào sẽ thấy giao dịch.
- Một hoặc cả hai token sử dụng extension Token-2022.
- Bạn muốn một mô hình phí đơn giản cho mỗi giao dịch hơn một mô hình động dựa trên tick.
- Bạn đang tích hợp và muốn định tuyến qua Raydium mà không phải chịu sự phức tạp của các vị trí CLMM.
- Cặp ổn định hoặc tương quan cao (stablecoin-stablecoin, LST-SOL) và bạn muốn tập trung thanh khoản xung quanh parity.
- Bạn là một đội tạo lập thị trường sẵn sàng quản lý các phạm vi một cách tích cực để có APR phí cao hơn trên mỗi đô la TVL.
- Bạn đang di chuyển công cụ AMM v4 hiện có và không tạo pool mới.
Bước tiếp theo
- Accounts — sáu PDA của pool CPMM và cách rút ra chúng.
- Math —
SwapBaseInputvsSwapBaseOutput, xử lý phí chuyển Token-2022, cập nhật observation. - Instructions — bề mặt hướng dẫn hoàn chỉnh với danh sách tài khoản.
- Fees — chia tách phí bốn chiều và cách thu thập.
- Code demos — đoạn mã TypeScript có thể chạy được cho create / swap / deposit / withdraw.
- Mã nguồn Raydium CP-Swap —
raydium-io/raydium-cp-swap reference/program-addressescho ID chương trình chính thức


