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 →
Hai khái niệm riêng biệt
Price impact và slippage thường bị nhầm lẫn trong các giao diện nhưng chúng đề cập đến những thứ khác nhau.-
Price impact là một tính chất xác định của một giao dịch với trạng thái pool cụ thể. Với
(Δin, reserves), price impact có thể tính toán được hoàn toàn trước khi giao dịch được gửi đi. - Slippage là hiệu số thực tế giữa giá mà bạn mong đợi tại thời điểm báo giá và giá mà bạn thực tế nhận tại thời điểm thực hiện. Nó là một hàm của độ trễ, các giao dịch đồng thời và thứ tự đưa vào block — không phải của toán học pool.
Định nghĩa hình thức
Price impact
impact ≈ 2 · Δin / reserve_in cho những giao dịch nhỏ. Đối với CLMM: phụ thuộc vào số lượng tick mà giao dịch vượt qua; thường phẳng trong phạm vi tick hiện tại, nhảy tại mỗi lần vượt tick.
Slippage thực tế
Tính toán minAmountOut và maxAmountIn
Mỗi swap của Raydium có một ranh giới bảo vệ slippage:
SwapBaseInput(amount_in, min_amount_out)— nhập chính xác, giới hạn dưới đầu ra.SwapBaseOutput(max_amount_in, amount_out)— đầu ra chính xác, giới hạn trên đầu vào.
minAmountOut là 2,5% dưới spot trước giao dịch — về cơ bản là tổng của impact và dung sai.
Dung sai slippage được khuyến nghị
Không có một con số nào là hoàn toàn chính xác; ranh giới phù hợp tùy thuộc vào:- Sự ổn định của cặp. Các pool stablecoin-stablecoin có thể an toàn sử dụng 0,1%. Các pool cặp meme không ổn định thường cần 3–5% chỉ để đáng tin cậy hạ cánh.
- Kích thước giao dịch. Các giao dịch lớn hơn có price impact lớn hơn, vì vậy dung sai cần phải tỷ lệ với chúng để tránh hoàn nguyên. Mặc định auto-slippage của SDK xung quanh
max(0,5%, 2 × price_impact)vì lý do này. - Độ trễ đưa vào block. Các giao dịch nằm trong mempool trong nhiều block sẽ phải đối mặt với nhiều giao dịch đồng thời hơn. Các gói Jito và phí ưu tiên làm giảm điều này.
| Loại cặp | Dung sai mặc định |
|---|---|
| Stable-stable (USDC-USDT, USDC-USDS) | 0,1% |
| Stable-major (USDC-SOL, USDC-BTC) | 0,5% |
| Major-major (SOL-BTC, SOL-ETH) | 1% |
| Volatile (token meme, long-tail không thanh khoản) | 3–5% |
Sự khác biệt giữa các loại AMM
CPMM
Price impact mượt mà và liên tục (dạng đóng2 · Δin / reserve_in). Dung sai slippage tỷ lệ tuyến tính với kích thước giao dịch.
AMM v4
Cùng toán học đường cong với CPMM, nhưng “reserves hiệu quả” bao gồm các lệnh giới hạn được đăng bởi pool trên OpenBook. Thực tế điều này có nghĩa là:- Báo giá dựa trên số dư vault thô sẽ ước tính thấp hơn reserves và do đó ước tính thái quá impact.
- SDK lấy
AmmInfovà tổngvault + on_book.free + on_book.lockedđể có con số chính xác. - Trạng thái OpenBook cũ (crank bị chặn) có thể khiến impact được báo giá khác với hiện thực trên chuỗi. Các aggregator thường pre-crank (permissionless
MonitorStep) trước một giao dịch AMM-v4 lớn.
CLMM
Price impact là từng mảnh. Trong phạm vi tick hiện tại, impact xấp xỉ tuyến tính trongΔin / L. Vượt qua một ranh giới tick có thể thay đổi L rời rạc, gây ra một bước nhảy đột ngột về giá biên. Một giao dịch vượt qua nhiều tick thưa thớt có thể có impact cao hơn nhiều so với quy tắc 2 · Δin / reserve.
Báo giá CLMM của SDK lặp lại bước swap một cách xác định để trả về amountOut chính xác mong đợi, vì vậy minAmountOut = amountOut · (1 − slippage) là chính xác. Nhưng giá trị return priceImpact nên được diễn giải là “sự chênh lệch giữa spot trước giao dịch và spot sau giao dịch”, mà trên CLMM có thể lớn hơn nhiều so với slippage hiệu quả của swap cho người dùng chỉ quan tâm đến amount_out.
Đường cong LaunchLab
Tương tự như CPMM nhưng với đường cong không đối xứng (bậc hai hoặc virtual-reserves). Impact phát triển nhanh hơn đối với những người mua sau khi đường cong dốc hơn khi tiến gần đến tốt nghiệp. Giao diện pre-buyer nên cảnh báo khi một lệnh mua dự kiến sẽ đẩy đường cong hơn ~5%quote_reserve_target trong một giao dịch.
Cân nhắc MEV
Trên Solana, việc trích xuất MEV chống lại các swap chủ yếu có dạng sandwich attacks: một bot đặt giao dịch back-run được thực hiện sau của bạn, cộng với một front-run được thực hiện trước, cả hai ở cùng một slot. Giao dịch của bạn được điền với giá tệ hơn so với khi không có sandwich; back-run nắm bắt sự khác biệt. Các biện pháp giảm thiểu:- Tight
minAmountOut. Ranh giới slippage agressive khiến giao dịch nạn nhân hoàn nguyên nếu bị sandwich nặng, bảo vệ quỹ (nhưng lãng phí gas). Trên Solana đây là thực hành tiêu chuẩn — từ chối rẻ. - Các gói Jito. Gửi qua Jito với một mẹo được gói lại loại trừ những người trung gian khỏi việc sắp xếp lại tx của bạn. Các gói hạ cánh dưới dạng các khối nguyên tử.
- Phí ưu tiên. Một phí ưu tiên cao làm tăng khả năng giao dịch của bạn được đặt trong block của leader hiện tại trước khi một sandwicher có thể phản ứng. Kém mạnh mẽ hơn gói, tiêu chuẩn hơn.
- RPC riêng tư. Gửi qua RPC riêng tư (hoặc qua endpoint trực tiếp của validator) giảm cửa sổ thời gian mà một sandwicher mempool có thể quan sát giao dịch của bạn.
integration-guides/routing-and-mev để biết các mẫu.
Slippage cho các tuyến đường đa bước
Khi một swap định tuyến qua nhiều pool (ví dụUSDC → SOL → RAY), dung sai slippage nên được áp dụng cho từng bước, không chỉ end-to-end:
raydium.trade.swap. Đối với các router tùy chỉnh, lặp lại mẫu.
Báo cáo cho người dùng
Quy tắc nhanh cho một giao diện swap tốt:- Hiển thị cả hai price impact dự kiến và dung sai slippage riêng biệt.
- Tô sáng khi price impact vượt quá ~2% — cảnh báo “high impact”.
- Tô sáng khi price impact vượt quá dung sai — giao dịch gần như chắc chắn sẽ hoàn nguyên.
- Đối với các cặp không ổn định, cung cấp chế độ “high slippage mode” giãn rộng ranh giới và hiển thị cảnh báo mạnh hơn.
Con trỏ
products/cpmm/math,products/amm-v4/math,products/clmm/math— các phái sinh impact theo loại pool.integration-guides/routing-and-mev— routing đa bước + phòng ngừa MEV.integration-guides/priority-fee-tuning— tính toán phí ưu tiên để giảm slippage.
- Triển khai slippage/impact của Raydium SDK v2.
- Flashbots / Jito trên Solana MEV.


