이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
두 가지 서로 다른 개념
**가격 영향(Price impact)**과 **슬리피지(Slippage)**는 UI에서 자주 혼동되지만 서로 다른 의미입니다.-
가격 영향은 특정 풀 상태에 대한 거래의 결정론적 속성입니다.
(Δin, reserves)이 주어지면 가격 영향은 거래 제출 전에 완전히 계산할 수 있습니다. - 슬리피지는 견적 시점에 예상했던 가격과 실행 시점에 실제로 받은 가격 사이의 실현된 차이입니다. 이는 지연 시간, 동시 거래, 블록 포함 순서의 함수이며 풀 수학과는 무관합니다.
형식적 정의
가격 영향
impact ≈ 2 · Δin / reserve_in. CLMM의 경우: 거래가 교차하는 틱의 개수에 따라 달라지며, 현재 틱 범위 내에서는 대체로 평탄하고 각 틱 교차에서 점프합니다.
실현된 슬리피지
minAmountOut과 maxAmountIn 크기 결정
모든 Raydium 스왑은 슬리피지 보호 한계를 사용합니다:
SwapBaseInput(amount_in, min_amount_out)— 정확한 입력, 출력의 하한.SwapBaseOutput(max_amount_in, amount_out)— 정확한 출력, 입력의 상한.
minAmountOut은 amountOut × (1 − slippage)이며 온체인 한계로 사용됩니다. priceImpact는 풀 상태만으로 결정론적이고, fee는 부과된 총액입니다.
슬리피지 허용치는 가격 영향 자체가 아니라 가격 영향 주변의 버퍼입니다. 0.5% 허용치는 “내 견적보다 최대 0.5% 나쁜 것을 수용한다”는 의미이며, 가격 영향이 0.01%(작은 거래)였는지 2%(큰 거래)였는지와 무관합니다. 2% 가격 영향 거래에 0.5% 허용치가 있으면, minAmountOut은 거래 전 현물가보다 2.5% 아래입니다. 본질적으로 영향과 허용치의 합입니다.
권장 슬리피지 허용치
올바른 단일 숫자는 없습니다. 올바른 한계는 다음에 따라 달라집니다:- 페어 안정성. 스테이블코인-스테이블코인 풀은 0.1%를 안전하게 사용할 수 있습니다. 변동성 있는 밈 토큰 페어 풀은 안정적으로 착지하려면 종종 3–5%가 필요합니다.
- 거래 규모. 더 큰 거래는 더 큰 가격 영향을 가지므로, 되돌림을 피하기 위해 허용치를 이에 맞춰 조정해야 합니다. SDK의 자동 슬리피지 기본값이 이 이유로
max(0.5%, 2 × price_impact)정도입니다. - 블록 포함 지연. 멤풀에 여러 블록 동안 머물러 있는 거래는 더 많은 동시 거래에 노출됩니다. Jito 번들과 우선 수수료는 이를 줄입니다.
AMM 유형별 차이점
CPMM
가격 영향은 부드럽고 연속적입니다 (폐쇄형2 · Δin / reserve_in). 슬리피지 허용치는 거래 규모에 따라 선형으로 조정됩니다.
AMM v4
CPMM과 동일한 곡선 수학입니다. OpenBook 제거 이후, “유효 준비금”은 단순히 두 개의 볼트 잔액입니다:- 원시 볼트 잔액에서 견적을 받습니다. 추가할 온북 구성 요소는 없습니다.
Initialize2는 모든 새 풀에서AmmInfo.open_orders = Pubkey::default()를 작성하고, 어떤 명령도OpenOrders계정을 읽지 않습니다. - 누적된 프로토콜 PnL (
state_data.need_take_pnl_coin/need_take_pnl_pc)을 볼트 잔액에서 빼서 불변식이 실제로 사용하는 준비금을 얻습니다. - 미리 실행할 크랭크는 없습니다:
MonitorStep은 이제unimplemented!로 패닉하며 전송되면 안 됩니다.
CLMM
가격 영향은 구간별입니다. 현재 틱 범위 내에서 영향은 대략Δin / L에 선형입니다. 틱 경계를 교차하면 L이 이산적으로 변하여 한계 가격이 갑자기 점프합니다. 여러 개의 희소하게 채워진 틱을 교차하는 거래는 2 · Δin / reserve 경험 법칙이 제시하는 것보다 훨씬 높은 영향을 가질 수 있습니다.
SDK의 CLMM 견적은 스왑 단계를 결정론적으로 반복하여 정확한 예상 amountOut을 반환하므로, minAmountOut = amountOut · (1 − slippage)는 올바릅니다. 하지만 priceImpact 반환 값은 “거래 전 현물과 거래 후 현물 사이의 스프레드”로 해석되어야 하며, CLMM에서는 amount_out만 신경 쓰는 사용자의 스왑 유효 슬리피지보다 훨씬 클 수 있습니다.
LaunchLab 곡선
CPMM과 유사하지만 비대칭 곡선(이차 또는 가상 준비금)입니다. 곡선이 졸업을 향해 가파르게 올라가면서 후기 구매자의 영향이 더 빠르게 증가합니다. 사전 구매자 UI는 구매가 한 거래에서quote_reserve_target의 약 5% 이상 곡선을 밀어낼 것으로 예상될 때 경고해야 합니다.
MEV 고려사항
Solana에서 스왑에 대한 MEV 추출은 주로 샌드위치 공격 형태입니다: 봇이 당신의 거래 후에 거래하는 백런 거래와 전에 거래하는 프런트런을 같은 슬롯에 배치합니다. 당신의 거래는 샌드위치가 없었을 때보다 더 나쁜 가격으로 채워지고, 백런이 그 차이를 포착합니다. 완화 방법:- 엄격한
minAmountOut. 공격적인 슬리피지 한계는 피해자 거래가 심하게 샌드위치되면 되돌리게 하여 자금을 보호합니다 (하지만 가스를 낭비합니다). Solana에서는 이것이 표준 관행입니다. 거부는 저렴합니다. - Jito 번들. Jito를 통해 번들 팁으로 제출하면 중개자가 당신의 tx를 재정렬하지 못하게 합니다. 번들은 원자적 블록으로 착지합니다.
- 우선 수수료. 높은 우선 수수료는 당신의 거래가 샌드위처가 반응하기 전에 현재 리더의 블록에 착지할 가능성을 높입니다. 번들보다 덜 견고하지만 더 표준적입니다.
- 프라이빗 RPC. 프라이빗 RPC를 통해 제출하거나 검증자의 직접 엔드포인트를 통해 제출하면 멤풀 샌드위처가 당신의 거래를 관찰할 수 있는 창을 줄입니다.
integration-guides/routing-and-mev를 참조하세요.
멀티홉 라우트의 슬리피지
스왑이 여러 풀을 통해 라우팅될 때 (예:USDC → SOL → RAY), 슬리피지 허용치는 끝에서 끝까지만이 아니라 홉별로 적용되어야 합니다:
raydium.tradeV2.swap을 호출할 때 홉별 한계를 자동으로 적용합니다. (파사드는 tradeV2입니다. raydium.trade는 존재하지 않습니다.) 사용자 정의 라우터의 경우 패턴을 복제하세요.
사용자에게 보고
좋은 스왑 UI를 위한 경험 법칙:- 예상 가격 영향과 슬리피지 허용치를 모두 별도로 표시합니다.
- 가격 영향이 약 2%를 초과할 때 강조합니다. “높은 영향” 경고.
- 가격 영향이 허용치를 초과할 때 강조합니다. 거래는 거의 확실히 되돌릴 것입니다.
- 변동성 페어의 경우, 한계를 완화하고 더 강한 경고를 표시하는 “높은 슬리피지 모드”를 제공합니다.
포인터
products/cpmm/math,products/amm-v4/math,products/clmm/math— 풀 유형별 영향 유도.integration-guides/routing-and-mev— 멀티홉 라우팅 + MEV 방어.integration-guides/priority-fee-tuning— 슬리피지를 줄이기 위한 우선 수수료 크기 결정.
- Raydium SDK v2 슬리피지 / 영향 구현.
- Flashbots / Solana의 Jito MEV.

