Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Dua konsep yang berbeda
Dampak harga dan slippage sering kali disamakan dalam UI tetapi mengacu pada hal yang berbeda.-
Dampak harga adalah sifat deterministik dari perdagangan terhadap keadaan pool tertentu. Diberikan
(Δin, reserves), dampak harga dapat sepenuhnya dihitung sebelum perdagangan diajukan. - Slippage adalah perbedaan yang terealisasi antara harga yang Anda harapkan pada saat quote dan harga yang Anda dapatkan pada saat eksekusi. Ini adalah fungsi dari latensi, transaksi bersamaan, dan urutan penyertaan blok — bukan dari matematika pool.
Definisi formal
Dampak harga
impact ≈ 2 · Δin / reserve_in untuk perdagangan kecil. Untuk CLMM: tergantung berapa banyak tick yang dilintasi perdagangan; sering kali datar dalam rentang tick saat ini, melompat di setiap persilangan tick.
Slippage yang terealisasi
Menentukan ukuran minAmountOut dan maxAmountIn
Setiap swap Raydium memerlukan batas perlindungan slippage:
SwapBaseInput(amount_in, min_amount_out)— input-tepat, batas-bawah output.SwapBaseOutput(max_amount_in, amount_out)— output-tepat, batas-atas input.
minAmountOut adalah amountOut × (1 − slippage) dan itulah yang masuk on-chain sebagai batas; priceImpact deterministik dari keadaan pool saja; fee adalah total yang dikenakan.
Toleransi slippage adalah buffer di sekitar dampak harga, bukan dampak harga itu sendiri. Toleransi 0,5% berarti “terima paling banyak 0,5% lebih buruk dari kutipan saya” — terlepas dari apakah dampak harga adalah 0,01% (perdagangan kecil) atau 2% (perdagangan besar). Untuk perdagangan dengan dampak harga 2% dengan toleransi 0,5%, minAmountOut adalah 2,5% di bawah spot pra-perdagangan — pada dasarnya jumlah dampak dan toleransi.
Toleransi slippage yang direkomendasikan
Tidak ada satu angka yang benar; batas yang tepat tergantung pada:- Stabilitas pasangan. Pool stablecoin-stablecoin dapat dengan aman menggunakan 0,1%. Pool pasangan meme yang volatil sering memerlukan 3–5% hanya untuk mendarat dengan andal.
- Ukuran perdagangan. Perdagangan yang lebih besar memiliki dampak harga yang lebih besar, jadi toleransi perlu diskalakan dengannya untuk menghindari pembalikan. Default auto-slippage SDK sekitar
max(0.5%, 2 × price_impact)untuk alasan ini. - Latensi penyertaan blok. Transaksi yang duduk di mempool selama beberapa blok terbuka terhadap lebih banyak perdagangan bersamaan. Bundle Jito dan biaya prioritas mengurangi ini.
Perbedaan antar jenis AMM
CPMM
Dampak harga halus dan berkelanjutan (bentuk tertutup2 · Δin / reserve_in). Toleransi slippage diskalakan secara linear dengan ukuran perdagangan.
AMM v4
Matematika kurva yang sama dengan CPMM. Sejak penghapusan OpenBook, “reserve efektif” hanyalah dua saldo vault:- Kutipan dari saldo vault mentah. Tidak ada komponen on-book untuk ditambahkan —
Initialize2menulisAmmInfo.open_orders = Pubkey::default()di setiap pool baru, dan tidak ada instruksi yang membaca akunOpenOrders. - Kurangi PnL protokol yang terkumpul (
state_data.need_take_pnl_coin/need_take_pnl_pc) dari saldo vault untuk mendapatkan reserve yang sebenarnya digunakan invariant. - Tidak ada crank untuk pre-run:
MonitorStepsekarang panik denganunimplemented!dan tidak boleh dikirim.
CLMM
Dampak harga adalah piecewise. Dalam rentang tick saat ini, dampak kira-kira linear dalamΔin / L. Melewati batas tick dapat mengubah L secara diskrit, menyebabkan lompatan tiba-tiba dalam harga marginal. Perdagangan yang melintasi beberapa tick yang jarang dihuni dapat memiliki dampak jauh lebih tinggi daripada aturan praktis 2 · Δin / reserve.
Kutipan CLMM SDK mengulangi langkah swap secara deterministik untuk mengembalikan amountOut yang diharapkan dengan tepat, jadi minAmountOut = amountOut · (1 − slippage) benar. Tetapi nilai pengembalian priceImpact harus ditafsirkan sebagai “spread antara spot pra-perdagangan dan spot pasca-perdagangan”, yang pada CLMM dapat jauh lebih besar daripada slippage efektif swap untuk pengguna yang hanya peduli dengan amount_out.
Kurva LaunchLab
Mirip dengan CPMM tetapi dengan kurva asimetris (kuadratik atau virtual-reserves). Dampak tumbuh lebih cepat untuk pembeli akhir saat kurva curam menjelang kelulusan. UI pembeli awal harus memperingatkan ketika pembelian diharapkan mendorong kurva lebih dari ~5% dariquote_reserve_target dalam satu transaksi.
Pertimbangan MEV
Di Solana, ekstraksi MEV terhadap swap sebagian besar berbentuk sandwich attacks: bot menempatkan transaksi back-run yang berdagang setelah milik Anda, ditambah front-run yang berdagang sebelumnya, keduanya di slot yang sama. Perdagangan Anda diisi dengan harga lebih buruk daripada yang seharusnya tanpa sandwich; back-run menangkap perbedaannya. Mitigasi:minAmountOutketat. Batas slippage agresif menyebabkan transaksi korban kembali jika sandwich berat, melindungi dana (tetapi membuang gas). Di Solana ini adalah praktik standar — penolakan murah.- Bundle Jito. Mengirimkan melalui Jito dengan tip bundel mengecualikan perantara dari pengurutan ulang tx Anda. Bundle mendarat sebagai blok atom.
- Biaya prioritas. Biaya prioritas tinggi meningkatkan kemungkinan perdagangan Anda mendarat di blok pemimpin saat ini sebelum sandwicher dapat bereaksi. Kurang kuat daripada bundle, lebih standar.
- RPC pribadi. Mengirimkan melalui RPC pribadi (atau melalui endpoint langsung validator) mengurangi jendela di mana sandwicher mempool dapat mengamati transaksi Anda.
integration-guides/routing-and-mev untuk pola.
Slippage untuk rute multi-hop
Ketika swap merutekan melalui beberapa pool (misalnyaUSDC → SOL → RAY), toleransi slippage harus diterapkan per-hop, bukan hanya end-to-end:
raydium.tradeV2.swap. (Fasade adalah tradeV2 — raydium.trade tidak ada.) Untuk router khusus, replikasi pola.
Pelaporan kepada pengguna
Aturan praktis untuk UI swap yang baik:- Tampilkan keduanya dampak harga yang diharapkan dan toleransi slippage secara terpisah.
- Sorot ketika dampak harga melebihi ~2% — peringatan “dampak tinggi”.
- Sorot ketika dampak harga melebihi toleransi — transaksi hampir pasti akan kembali.
- Untuk pasangan volatil, tawarkan “mode slippage tinggi” yang melonggarkan batas dan menampilkan peringatan yang lebih kuat.
Penunjuk
products/cpmm/math,products/amm-v4/math,products/clmm/math— derivasi dampak per jenis pool.integration-guides/routing-and-mev— routing multi-hop + pertahanan MEV.integration-guides/priority-fee-tuning— menentukan ukuran biaya prioritas untuk mengurangi slippage.
- Implementasi slippage / dampak SDK Raydium v2.
- Flashbots / Jito di Solana MEV.

