DEX에서 슬리피지가 발생하는 이유와 실제 계산 방법
탈중앙화거래소(DEX)에서 토큰을 교환하다 보면 예상했던 가격과 실제 체결가격이 다르게 나오는 경우가 있습니다.
예를 들어 화면에는
1 ETH = 3,000 USDC
라고 표시되어 있었는데 실제 스왑 결과를 보면 1 ETH를 팔고 받은 금액이 2,970 USDC에 불과할 수 있습니다.
왜 이런 차이가 발생할까요?
이런 현상을 **슬리피지(Slippage)**라고 합니다.
쉽게 말하면 슬리피지는
주문을 예상한 가격과 실제로 체결된 가격 사이의 차이
입니다.
DEX에서는 중앙화거래소처럼 누군가가 올려놓은 매수·매도 주문을 직접 매칭하는 방식만 사용하는 것이 아니라, 유동성 풀을 기반으로 자동으로 가격을 계산하는 AMM 구조를 사용하는 경우가 많습니다.
따라서 거래금액이 커질수록 풀 안의 토큰 비율이 변하고, 그 과정에서 실제 체결가격도 달라질 수 있습니다.
이번 글에서는 DEX에서 슬리피지가 왜 발생하는지, 거래금액이 커질수록 왜 더 커질 수 있는지, 그리고 실제 슬리피지를 어떻게 계산하는지 숫자를 이용해 쉽게 설명해보겠습니다.
핵심부터 정리하면
슬리피지는 주로
거래금액 + 유동성 규모 + 가격변동 + 블록체인 처리시간 + 슬리피지 허용범위
등에 영향을 받습니다.
특히 유동성이 적은 토큰을 큰 금액으로 거래할수록 슬리피지가 커질 가능성이 높습니다.
슬리피지란 무엇일까?
슬리피지는 주문을 넣을 때 예상했던 가격과 실제 거래가 완료되었을 때의 가격 차이를 의미합니다.
예를 들어 어떤 토큰의 예상가격이
1개 = 10,000원
이라고 가정해보겠습니다.
100개를 사려고 했으니 예상금액은
10,000원 × 100개 = 1,000,000원
입니다.
그런데 실제 거래에서는 평균 매입가격이 10,100원이 되었다면
실제 지출금액은
1,010,000원
입니다.
예상보다 10,000원을 더 지불했습니다.
슬리피지율은 단순하게
(실제 가격 – 예상 가격) ÷ 예상 가격 × 100
으로 계산할 수 있습니다.
이 경우
(10,100 – 10,000) ÷ 10,000 × 100
= 1%
입니다.
즉, 약 1%의 슬리피지가 발생한 것입니다.
DEX에서 슬리피지가 자주 발생하는 이유
DEX에서는 거래 방식이 중앙화거래소와 다를 수 있습니다.
많은 DEX는 **유동성 풀(Liquidity Pool)**이라는 구조를 사용합니다.
예를 들어 ETH/USDC 풀 안에
- ETH
- USDC
두 자산이 들어 있습니다.
사용자가 USDC를 넣고 ETH를 사면 풀 안의 USDC는 늘고 ETH는 줄어듭니다.
이 비율 변화에 따라 가격도 자동으로 조정됩니다.
따라서 거래규모가 커질수록 풀의 균형을 더 크게 바꾸고, 그만큼 평균 체결가격도 불리해질 수 있습니다.
유동성 풀이란 무엇일까?
유동성 풀은 사용자들이 토큰을 예치해놓은 공동 자산풀이라고 생각하면 됩니다.
예를 들어 어떤 ETH/USDC 풀에
100 ETH
와
300,000 USDC
가 있다고 가정해보겠습니다.
단순하게 보면 1 ETH의 가격은 약
3,000 USDC
로 생각할 수 있습니다.
하지만 실제 DEX에서는 스왑이 발생하면 풀의 자산 비율이 바뀌면서 가격도 변합니다.
작은 거래는 풀 전체에 미치는 영향이 작지만 큰 거래는 풀의 구성비를 크게 변화시킵니다.
그래서 거래금액이 커질수록 슬리피지가 증가할 수 있습니다.
1 ETH를 사는 경우와 20 ETH를 사는 경우
예를 들어 100 ETH 규모의 풀에서 1 ETH를 사는 거래를 생각해보겠습니다.
1 ETH는 전체 ETH 유동성의 1%입니다.
풀 전체에 미치는 영향이 비교적 작을 수 있습니다.
하지만 20 ETH를 사려고 하면 전체 풀의 20%에 해당합니다.
이 정도 거래는 풀 안의 토큰비율을 크게 바꿀 수 있습니다.
따라서 거래가 진행되는 동안 ETH 가격이 계속 올라가는 방향으로 움직이고, 투자자의 평균 매입가격도 처음 표시된 가격보다 높아질 수 있습니다.
이것이 DEX에서 대규모 주문이 불리한 이유 중 하나입니다.
슬리피지와 Price Impact는 같은 것일까?
DEX 화면에서는 Slippage와 Price Impact라는 표현이 함께 등장할 수 있습니다.
둘은 관련이 있지만 완전히 같은 개념은 아닙니다.
Price Impact
내 거래 자체가 유동성 풀의 가격을 얼마나 움직이는지를 보여주는 개념입니다.
Slippage
예상가격과 실제 체결가격 사이의 차이를 의미합니다.
즉,
Price Impact → 내 주문이 시장가격에 미치는 영향
Slippage → 최종적으로 예상과 실제 체결가격이 얼마나 달라졌는지
라고 이해하면 쉽습니다.
실제 슬리피지 계산 예시
예를 들어 DEX에서 1,000 USDC로 토큰을 구매한다고 가정해보겠습니다.
거래 전 예상가격이
1 토큰 = 10 USDC
라면 예상 수량은
1,000 ÷ 10 = 100개
입니다.
그런데 실제로 받은 토큰 수량이
98개
라고 해보겠습니다.
실제 평균 매입가격은
1,000 ÷ 98
≈ 10.204 USDC
입니다.
슬리피지는
(10.204 – 10) ÷ 10 × 100
≈ 2.04%
입니다.
즉, 약 2% 정도 불리한 가격으로 체결된 것입니다.
토큰 수량으로도 슬리피지를 계산할 수 있다
반대로 예상수량과 실제수량을 이용해 계산할 수도 있습니다.
예상수량이 100개였는데 실제로 98개를 받았다면
차이는
2개
입니다.
예상수량 대비
2 ÷ 100 × 100
= 2%
입니다.
즉, 수량 기준으로도 약 2% 차이가 발생한 것입니다.
거래금액이 커질수록 왜 슬리피지가 커질까?
유동성 풀의 규모가 일정하기 때문입니다.
예를 들어 풀에 총 10억원 규모의 자산이 있는데 10만원을 거래한다면 풀에 미치는 영향은 거의 없습니다.
하지만 같은 풀에서 1억원을 거래하면 상황이 달라집니다.
전체 유동성의 상당 부분을 움직이게 됩니다.
따라서
거래금액 ÷ 유동성 규모
비율이 커질수록 슬리피지도 커질 가능성이 높습니다.
같은 1,000만원 거래라도 슬리피지가 다를 수 있다
예를 들어 두 DEX의 유동성 풀이 있다고 가정해보겠습니다.
DEX A
유동성 규모: 100억원
DEX B
유동성 규모: 5억원
두 곳에서 동일하게 1,000만원을 거래한다고 해도 DEX B에서 거래가 풀 전체에 미치는 영향이 훨씬 큽니다.
따라서 DEX B의 슬리피지가 더 크게 나타날 수 있습니다.
이 때문에 DEX에서 거래할 때는 단순히 토큰 가격만 볼 것이 아니라 유동성 규모도 함께 확인해야 합니다.
유동성이 적은 코인은 왜 더 위험할까?
신규 토큰이나 거래량이 적은 토큰은 유동성 풀이 작을 수 있습니다.
예를 들어 풀 전체 규모가 1억원인데 1,000만원을 매수한다면 전체 유동성의 10%를 거래하는 셈입니다.
이 경우 가격에 큰 영향을 줄 수 있습니다.
또 매도할 때도 문제가 생길 수 있습니다.
보유한 토큰을 한꺼번에 팔면 가격이 급격하게 내려가면서 실제 수령액이 예상보다 크게 줄어들 수 있습니다.
슬리피지 허용범위란 무엇일까?
DEX에서 스왑하기 전에 보통
Slippage Tolerance
라는 설정을 볼 수 있습니다.
예를 들어
- 0.1%
- 0.5%
- 1%
- 3%
등으로 설정할 수 있습니다.
이는 거래가격이 예상한 범위에서 얼마나 벗어나도 거래를 실행할지 정하는 기준입니다.
예를 들어 슬리피지 허용범위를 1%로 설정했다면 실제 거래가격이 예상가격보다 1% 이상 불리해질 경우 거래가 실패하도록 설정될 수 있습니다.
슬리피지 1% 설정의 의미
예상으로 1,000 USDC를 사용해 100개의 토큰을 받을 수 있다고 가정해보겠습니다.
슬리피지 허용치를 1%로 설정하면 최소 수령량은 대략
99개
수준으로 설정될 수 있습니다.
실제 거래 결과가 99.5개라면 거래가 실행될 수 있습니다.
하지만 98개밖에 받을 수 없다면 허용범위를 벗어나 거래가 실패할 수 있습니다.
정확한 계산방식은 DEX마다 조금씩 다를 수 있습니다.
슬리피지 허용범위를 높이면 무조건 좋은가?
그렇지 않습니다.
허용범위를 높이면 거래가 성공할 가능성은 높아질 수 있습니다.
하지만 예상보다 훨씬 불리한 가격에서도 거래가 체결될 수 있습니다.
예를 들어 슬리피지를
0.5% → 10%
로 크게 높이면 거래실패 가능성은 줄어들 수 있지만, 최대 10% 가까운 불리한 체결도 허용하는 셈이 될 수 있습니다.
따라서
거래가 자꾸 실패한다고 무조건 슬리피지를 크게 높이는 것
은 위험할 수 있습니다.
반대로 슬리피지를 너무 낮게 설정하면?
슬리피지 허용치를 지나치게 낮게 설정하면 거래가 자주 실패할 수 있습니다.
예를 들어 변동성이 큰 토큰에서 0.1%만 허용한다면 블록에 거래가 포함되기 전에 가격이 조금만 움직여도 거래가 실패할 수 있습니다.
거래가 실패하면 네트워크에 따라 가스비는 이미 소비될 수도 있습니다.
따라서 지나치게 낮은 슬리피지도 비용을 증가시킬 수 있습니다.
거래가 블록에 들어가기 전 가격이 변할 수도 있다
DEX에서 스왑 버튼을 누른 순간과 실제 블록체인에서 거래가 확정되는 순간 사이에는 시간이 존재합니다.
그동안 다른 사용자들이 같은 풀에서 거래할 수 있습니다.
예를 들어 내가 ETH를 사려고 거래를 제출한 뒤 다른 대형 매수주문이 먼저 처리되면 ETH 가격이 상승할 수 있습니다.
내 거래가 나중에 처리될 때는 처음 예상했던 것보다 불리한 가격이 될 수 있습니다.
이것도 슬리피지 발생 원인 중 하나입니다.
네트워크가 혼잡하면 슬리피지 위험도 커질 수 있다
네트워크가 혼잡하면 거래가 블록에 포함되기까지 시간이 길어질 수 있습니다.
그동안 시장가격이 움직일 가능성도 커집니다.
특히 코인 가격이 급등하거나 급락하는 상황에서는 짧은 시간에도 가격이 크게 변할 수 있습니다.
따라서 시장 변동성과 네트워크 혼잡도가 동시에 높을 때는 슬리피지 위험이 더 커질 수 있습니다.
슬리피지와 가스비는 다른 비용이다
이 두 가지는 구분해야 합니다.
가스비
블록체인 네트워크가 거래를 처리하는 비용입니다.
슬리피지
예상가격과 실제 체결가격의 차이로 발생하는 거래비용입니다.
예를 들어
가스비 = 5달러
슬리피지 손실 = 30달러
라면 전체적으로 체감되는 비용은 35달러 수준이 될 수 있습니다.
DEX를 이용할 때는 가스비만 확인하면 안 되는 이유입니다.
스왑 수수료도 별도로 존재할 수 있다
DEX에서는 유동성 공급자에게 지급되는 스왑 수수료가 별도로 발생할 수 있습니다.
예를 들어 거래금액의
0.01%
0.05%
0.3%
등의 수수료가 적용될 수 있습니다.
따라서 실제 DEX 거래비용은
스왑 수수료 + 가스비 + 슬리피지
등을 함께 고려해야 합니다.
1,000만원 거래에서 슬리피지 0.5%는 얼마일까?
거래금액이 1,000만원이고 실제 슬리피지가 0.5% 발생했다고 가정해보겠습니다.
금액으로는
10,000,000원 × 0.5%
= 50,000원
입니다.
슬리피지 2%라면
200,000원
입니다.
5%라면
500,000원
입니다.
작은 퍼센트처럼 보여도 거래금액이 커지면 실제 비용은 상당해질 수 있습니다.
거래금액별 슬리피지 비용 비교
단순 계산으로 보면 다음과 같습니다.
| 거래금액 | 0.5% 슬리피지 | 1% 슬리피지 | 3% 슬리피지 | 5% 슬리피지 |
|---|---|---|---|---|
| 100만원 | 5,000원 | 10,000원 | 30,000원 | 50,000원 |
| 500만원 | 25,000원 | 50,000원 | 150,000원 | 250,000원 |
| 1,000만원 | 50,000원 | 100,000원 | 300,000원 | 500,000원 |
| 5,000만원 | 250,000원 | 500,000원 | 1,500,000원 | 2,500,000원 |
| 1억원 | 500,000원 | 1,000,000원 | 3,000,000원 | 5,000,000원 |
특히 큰 금액을 DEX에서 거래할 때는 1~2%의 슬리피지도 무시하기 어렵습니다.
큰 주문을 나누면 슬리피지가 줄어들까?
경우에 따라 도움이 될 수 있습니다.
예를 들어 1억원을 한 번에 스왑하는 대신
2,000만원씩 5번
나누어 거래하면 한 번의 거래가 풀에 미치는 영향을 줄일 수 있습니다.
하지만 반드시 전체적으로 더 유리한 것은 아닙니다.
여러 번 거래하면
- 가스비
- 스왑 수수료
- 시장가격 변화
가 반복해서 발생합니다.
따라서 분할거래가 유리한지는 유동성과 네트워크 비용을 함께 비교해야 합니다.
여러 DEX를 비교하면 도움이 될 수 있다
같은 토큰이라도 DEX마다 유동성 규모가 다를 수 있습니다.
예를 들어 DEX A에서는 1억원의 거래에 3%의 Price Impact가 발생하지만 DEX B에서는 0.5%만 발생할 수 있습니다.
이 경우 DEX B가 더 좋은 체결가격을 제공할 수 있습니다.
일부 서비스는 여러 DEX의 유동성을 비교해 더 유리한 경로로 거래를 나누어 실행하기도 합니다.
이를 DEX Aggregator라고 부릅니다.
DEX Aggregator란 무엇일까?
DEX Aggregator는 여러 탈중앙화거래소의 가격과 유동성을 비교해 보다 유리한 스왑 경로를 찾는 서비스입니다.
예를 들어 10 ETH를 USDC로 바꾸려고 할 때
DEX A에서 10 ETH 전부를 거래하는 것보다
DEX A 4 ETH
DEX B 3 ETH
DEX C 3 ETH
처럼 나누는 것이 더 좋은 결과를 만들 수도 있습니다.
다만 Aggregator 역시 스마트컨트랙트를 사용하므로 수수료와 컨트랙트 위험 등을 확인해야 합니다.
MEV 때문에 슬리피지가 커질 수도 있을까?
가능합니다.
퍼블릭 블록체인에서는 거래가 블록에 포함되기 전 대기 상태에서 다른 참여자가 거래정보를 확인할 수 있는 경우가 있습니다.
특정 상황에서는 이를 이용해 거래 앞뒤에 다른 거래를 배치하는 샌드위치 공격 등이 발생할 수 있습니다.
이 경우 사용자는 예상보다 불리한 가격으로 거래하게 될 수 있습니다.
특히 슬리피지 허용범위를 지나치게 높게 설정하면 공격자가 활용할 수 있는 가격범위가 커질 수 있습니다.
슬리피지가 10%로 표시되는데 거래해도 될까?
10%는 상당히 큰 가격차이입니다.
예를 들어 1,000만원 거래라면 단순 계산으로 약 100만원 수준의 가격 차이가 발생할 가능성을 의미할 수 있습니다.
이런 경우에는 바로 스왑하기보다
- 토큰 유동성이 충분한지
- 토큰이 정상적인 프로젝트인지
- 거래금액이 너무 큰지
- 다른 DEX에서 더 나은 가격이 있는지
- 토큰에 별도 거래세가 있는지
등을 확인하는 것이 좋습니다.
토큰 자체에 매수·매도세가 있을 수도 있다
일부 토큰은 스마트컨트랙트 구조상 매수나 매도 시 일정 비율의 수수료를 자동으로 차감하기도 합니다.
예를 들어 매도세가 5%라면 단순한 DEX 슬리피지와 별개로 5%가 추가로 줄어들 수 있습니다.
사용자는 이것을 모두 슬리피지로 오해할 수 있습니다.
따라서 실제 수령액이 예상보다 크게 적다면
슬리피지 + DEX 수수료 + 토큰 자체 세금
을 구분해서 확인할 필요가 있습니다.
Honeypot 토큰은 더 위험하다
일부 악성 토큰은 매수는 가능하지만 매도가 매우 어렵거나 사실상 불가능하도록 설계될 수 있습니다.
이른바 Honeypot 유형입니다.
이런 토큰에서 거래가 안 된다고 슬리피지 허용치를 20%, 50%, 99%까지 올리는 것은 매우 위험할 수 있습니다.
문제는 슬리피지가 아니라 토큰 스마트컨트랙트 자체일 수 있기 때문입니다.
따라서 거래가 계속 실패한다면 무조건 슬리피지를 높이지 말고 토큰의 구조를 먼저 확인해야 합니다.
DEX 거래 전에 확인할 8가지
스왑 버튼을 누르기 전에 다음 항목을 확인하는 것이 좋습니다.
- 예상 수령량
- Price Impact
- Slippage Tolerance
- 유동성 규모
- DEX 스왑 수수료
- 예상 가스비
- 토큰 자체의 거래세 존재 여부
- 공식 토큰 컨트랙트가 맞는지
특히 신규 토큰이나 유동성이 매우 적은 토큰은 더 주의해야 합니다.
슬리피지를 줄이는 방법
슬리피지를 완전히 없앨 수는 없지만 줄일 수 있는 방법은 있습니다.
유동성이 충분한 시장을 선택한다
유동성이 큰 풀일수록 같은 거래가 가격에 미치는 영향이 작을 수 있습니다.
큰 거래는 여러 경로를 비교한다
여러 DEX 또는 Aggregator를 이용해 예상 수령량을 비교할 수 있습니다.
지나치게 높은 Slippage Tolerance를 피한다
필요 이상으로 큰 허용범위는 불리한 체결 가능성을 높일 수 있습니다.
시장 변동성이 너무 큰 시간을 피한다
급등락 상황에서는 거래 중 가격이 빠르게 변할 수 있습니다.
거래금액을 풀 규모와 비교한다
내 주문이 유동성 풀에서 차지하는 비율이 지나치게 크다면 Price Impact가 커질 수 있습니다.
결론: DEX 슬리피지는 ‘가격이 움직이는 과정에서 발생하는 비용’이다
DEX의 슬리피지는 단순한 추가수수료가 아닙니다.
사용자가 거래를 실행하는 동안 유동성 풀의 가격이 변하거나, 다른 거래가 먼저 체결되거나, 시장가격 자체가 움직이면서 예상가격과 실제 체결가격 사이에 차이가 발생하는 현상입니다.
예를 들어 예상가격이 토큰당 10 USDC였는데 실제 평균 체결가격이 10.204 USDC였다면 슬리피지는 약
2.04%
입니다.
1,000만원 거래에서 2%의 슬리피지가 발생한다면 금액으로는 약
20만원
수준입니다.
따라서 DEX를 사용할 때는 가스비만 확인할 것이 아니라
Price Impact + Slippage + 스왑 수수료 + 유동성
을 함께 확인해야 합니다.
특히 큰 금액을 거래하거나 유동성이 적은 토큰을 거래한다면 작은 퍼센트 차이가 실제로는 매우 큰 비용이 될 수 있습니다.
그리고 거래가 실패한다고 무조건 슬리피지 허용치를 높이는 것은 좋은 방법이 아닙니다.
토큰 자체의 문제, 유동성 부족, 매도 제한, 높은 거래세 등 다른 원인이 있을 수 있기 때문입니다.
DEX에서 중요한 것은 단순히
“현재 토큰 가격이 얼마인가?”
가 아니라
“내 주문 전체가 실제로 어느 평균가격에 체결되는가?”
를 확인하는 것입니다.
※ 본 글은 DEX 슬리피지와 유동성 구조를 이해하기 위한 일반적인 정보 제공 목적으로 작성되었습니다. 실제 체결가격과 수수료는 네트워크 상태, DEX 구조, 유동성, 토큰 스마트컨트랙트 및 거래시점에 따라 달라질 수 있습니다. 특정 토큰이나 디파이 서비스 이용을 권유하는 내용이 아니며 암호화폐 거래에는 원금 손실 및 스마트컨트랙트 위험이 존재합니다.
댓글 0
첫 댓글을 남겨보세요.