가스 부족(Out of gas)은 실행 도중 정해 둔 가스 한도를 다 써 버려 끝까지 마치지 못한 실패입니다. 슬리피지 실패는 거래가 요구한 최소 수령량을 현재 교환 결과가 채우지 못해 계약이 일부러 되돌린(revert) 실패입니다. 둘 다 영수증 상태는 실패로 같을 수 있지만, 사용 가스가 한도에 가까운지, 해독된 되돌림 사유가 무엇인지, 호출 데이터의 amountOutMin·deadline 값과 당시 풀 상태가 어땠는지를 보면 가려낼 수 있습니다. 원인을 확인하지 않고 가스나 슬리피지 허용치를 크게 올리면 비용이나 가격 위험만 커집니다.
같은 실패 표시 아래 원인이 다릅니다
EVM은 연산 코드를 실행할 때마다 가스를 씁니다. 가스가 바닥나면 실행을 마칠 계산 자원이 없어 예외로 실패합니다. 반면 탈중앙 거래소 라우터의 슬리피지 방어 장치는 실제 수령량이 사용자가 정한 최저치보다 적으면 교환을 막으려고 거래를 되돌립니다. 계산 자원이 남아 있어도 조건이 맞지 않으면 실패할 수 있습니다.
두 경우 모두 상태 변경은 원래대로 돌아가고 이미 쓴 가스 수수료는 나갈 수 있습니다. ‘실패’ 배지만 보고 가스가 모자랐다고 단정하지 마세요. 영수증, 실행 추적, 모의 실행, 검증된 계약의 오류 정의를 함께 봐야 합니다.
가스 부족은 계산 연료가 떨어진 것이고, 슬리피지 되돌림은 사용자가 정한 가격 보호선이 제 역할을 한 결과입니다.
JOBCOIN 해설

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.
- 같은 실패 표시 아래 원인이 다릅니다
EVM은 연산 코드를 실행할 때마다 가스를 씁니다.
- 영수증에서 먼저 숫자를 봅니다
거래의 가스 한도와 영수증의 사용 가스를 비교합니다.
- 슬리피지는 단순한 퍼센트 버튼이 아닙니다
탈중앙 거래소 화면은 시세 견적에 허용 비율을 적용해 최소 수령량을 호출 데이터에 넣습니다.
설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.
영수증에서 먼저 숫자를 봅니다
거래의 가스 한도와 영수증의 사용 가스를 비교합니다. 사용량이 한도와 같거나 아주 가깝고 오류가 가스 부족이라면 실행 한도가 모자랐을 가능성이 큽니다. 다만 어떤 지갑은 추정치를 넉넉히 잡고, 계약이 남은 가스를 일부러 다 쓰는 경우도 있어 비율 하나만으로 확정하지 않습니다.
슬리피지 실패는 INSUFFICIENT_OUTPUT_AMOUNT, ‘너무 적게 받음’, 가격 한도 같은 해독된 사유나 맞춤 오류로 나타날 수 있습니다. 사유가 비어 있다면 입력 데이터를 ABI로 해독하고, 실행 추적에서 어느 내부 호출이 되돌려졌는지 확인합니다. 탐색기 라벨은 참고용일 뿐이니 원시 영수증과 맞춰 보세요.
| 단서 | 가스 부족 | 슬리피지 실패 |
|---|---|---|
| 사용 가스 | 한도에 가까울 수 있음 | 조건 검사 지점까지 사용 |
| 되돌림 사유 | 없거나 가스 부족 | 최소 수령량 관련일 수 있음 |
| 해결 방향 | 정확한 추정·한도 | 시세 견적·최소 수령량 재검토 |
| 주요 위험 | 수수료 반복 지출 | 지나치게 풀면 나쁜 가격 |
| 공통 결과 | 상태 되돌림·수수료 지출 | 상태 되돌림·수수료 지출 |
슬리피지는 단순한 퍼센트 버튼이 아닙니다
탈중앙 거래소 화면은 시세 견적에 허용 비율을 적용해 최소 수령량을 호출 데이터에 넣습니다. 서명한 뒤 블록에 들어가기까지 유동성 비축량·가격·거래 순서가 바뀌면 실제 수령량이 내려가 거래가 되돌려질 수 있습니다. 마감 시각이 지났거나 토큰 전송 수수료 때문에 받는 양이 줄어도 비슷한 오류가 납니다.
허용치를 크게 올리면 성공할 확률은 높아질 수 있지만, 불리한 가격에 체결되거나 샌드위치 공격에 노출될 위험도 커집니다. 유동성, 거래 규모, 가격 영향, 경로를 먼저 확인하고 거래를 나눠 넣는 비용과도 비교해 보세요. 낯선 토큰에서 ‘슬리피지를 50%로’ 올리라는 안내가 나오면 빠져나올 수 없는 함정 토큰(honeypot)인지부터 조사해야 합니다.
- TxID와 영수증 상태를 확인합니다.
- 가스 한도와 사용 가스를 비교합니다.
- 되돌림 사유와 맞춤 오류를 해독합니다.
- amountOutMin·deadline·경로를 확인합니다.
- 같은 조건으로 다시 보내기 전에 새 견적을 받습니다.
가스 추정 실패의 원인을 넓게 봅니다
eth_estimateGas 자체가 되돌려진다면 승인 한도, 잔액, 계약 일시정지, 잘못된 경로 같은 논리 문제일 수 있습니다. 지갑에 ‘가스를 추정할 수 없음’이 떴다고 실제 원인이 가스 부족인 것은 아닙니다. 현재 상태로 eth_call이나 모의 실행을 돌려 오류 데이터를 확인하세요.
경로가 복잡하거나 비표준 토큰이면 추정 오차가 생길 수 있지만 가스를 아무리 많이 줘도 논리 오류는 풀리지 않습니다. 계약 업그레이드나 RPC 차이도 점검합니다. L2에서는 L1 데이터 수수료와 실행 가스가 따로 표시될 수 있으니 메인넷 숫자와 그대로 비교하지 않습니다.
재시도 방법은 원인마다 다릅니다
정말 가스 부족이었다면 공식 화면의 새 추정치, 계약 변경 여부, 가스 한도 설정을 확인합니다. 슬리피지 문제라면 새 견적, 유동성, 최소 수령량, 마감 시각을 다시 봅니다. 승인 한도가 모자랐다면 승인 거래 상태부터 확인합니다. 어느 경우든 처음 서명 화면에 뜬 계약과 입력값이 공식 경로였는지 다시 살펴보세요.
지원을 요청할 때는 체인, TxID, 영수증의 가스 항목, 해독된 오류, 기대했던 최소 수령량을 알려 주세요. 시드나 개인 키는 필요하지 않습니다. 실패를 되풀이하지 말고 원인별 증거부터 모으면 수수료 손실도, 위험하게 설정을 푸는 일도 함께 줄일 수 있습니다.
자주 묻는 질문
사용한 가스가 한도와 같으면 반드시 가스 부족인가요?
강한 단서이긴 하지만, 계약이 일부러 가스를 다 썼을 수도 있으니 실행 추적과 오류를 함께 확인해야 합니다.
슬리피지를 높이면 자산을 잃나요?
곧바로 잃지는 않습니다. 다만 훨씬 불리한 가격과 MEV 노출을 받아들이게 될 수 있습니다.
가스 추정 실패는 gas limit을 직접 크게 넣으면 되나요?
권한, 잔액, 마감 시각 같은 논리 조건 때문에 되돌려졌을 수 있으니 오류 데이터부터 확인하세요.
더 깊이 읽기
본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.



