내 스왑이 실패한 이유는 무엇인가요? 일반적인 DEX 스왑 오류 및 해결 방법

— By Tony Rabbit in Tutorials

내 스왑이 실패한 이유는 무엇인가요? 일반적인 DEX 스왑 오류 및 해결 방법

DEX 스왑 실패는 일반적으로 다섯 가지 원인 중 하나로 귀결됩니다: 슬리피지 설정이 너무 낮거나, gas 또는 우선순위 수수료가 부족하거나, 리버트를 유발하는 토큰 세금, 판매를 차단하는 허니팟, 또는 만료된 Solana 블록해시. 각 원인을 진단하고 빠르게 해결하는 방법을 소개합니다.

"내 스왑이 실패한 이유는 무엇인가요?"라고 묻는다면, 간단히 말해 거래가 정산되기 전에 거부되었기 때문이며, 탈중앙화 거래소(DEX)에서는 거의 항상 다음 다섯 가지 중 하나로 귀결됩니다: 토큰에 대한 슬리피지 설정이 너무 낮거나, gas 또는 우선순위 수수료가 부족하거나, 리버트를 강제하는 토큰 세금, 판매를 차단하는 허니팟, 또는 Solana에서 만료된 blockhash. 답답한 점은 Ethereum, BNB Chain, Base와 같은 EVM chains에서 리버트된 스왑은 여전히 지불한 gas를 소모하므로, 거래를 하지 않고도 돈을 잃을 수 있다는 것입니다. 이 가이드는 각 원인, 실제 오류를 읽는 방법, 그리고 모든 시나리오에 대한 명확한 해결 흐름을 안내합니다.

주요 내용

  • EVM chains에서 리버트된 스왑은 거래가 발생하지 않았음에도 불구하고 여전히 gas 비용이 발생합니다.
  • 슬리피지가 너무 낮은 것은 변동성이 크거나 세금이 부과되는 토큰에서 스왑 실패의 가장 흔한 단일 원인입니다.
  • 슬리피지를 너무 높게 설정하면 리버트로부터 보호되지만 샌드위치 봇을 유인하므로 균형을 맞추세요.
  • 매수는 성공하지만 모든 매도가 실패하는 토큰은 허니팟의 전형적인 특징입니다.
  • Solana에서는 대부분의 "실패"는 만료된 blockhash 또는 낮은 우선순위 수수료 때문이며, 나쁜 토큰 때문이 아닙니다.

가장 흔한 원인: 변동성 또는 세금에 비해 너무 낮은 슬리피지

슬리피지 허용 오차는 보이는 가격과 실제로 얻는 가격 사이에 허용하는 차이입니다. 토큰이 움직이거나 매수/매도 세금을 부과하고 최종 가격이 허용 오차를 벗어나면, 계약은 사용자를 보호하기 위해 리버트됩니다. 빠르게 움직이는 밈코인에서는 0.5% 기본값이 거의 확실히 실패합니다. 토큰에 5%의 전송 세금이 있다면, 해당 세금 미만의 슬리피지는 라우터가 요구한 최소 출력을 절대 제공할 수 없기 때문에 매번 리버트될 것입니다.

해결책은 슬리피지를 현실에 맞추는 것입니다. 안정적이고 유동적인 페어의 경우 0.5~1%가 적절합니다. 변동성이 큰 소형주에는 3~8%가 종종 필요합니다. 세금이 부과되는 토큰의 경우, 슬리피지는 매수 또는 매도 세금 합계에 가격 변동에 대한 작은 버퍼를 더한 값을 초과해야 합니다. 전체 메커니즘을 알고 싶다면 암호화폐 슬리피지란 무엇인가에 대한 가이드를 참조하세요. 주의할 점: 단순히 49%까지 올리지 마세요. 높은 슬리피지는 샌드위치 봇이 거래를 선행 및 후행하여 넓은 허용 오차로 승인한 가치를 빼앗아가는 공개적인 초대장이 됩니다.

불충분한 gas, 우선순위 수수료, 그리고 Solana blockhash 실패

EVM chains에서 모든 스왑은 gas를 지불하기에 충분한 네이티브 토큰(ETH, BNB, MATIC)이 필요합니다. 지갑에 거래하려는 토큰은 있지만 gas 토큰이 충분하지 않으면 스왑은 시작되기 전에 실패합니다. 이는 슬리피지와는 별개의 문제이며, 지갑 수준의 해결책은 MetaMask에서 gas 부족 문제를 해결하는 방법에서 다룹니다. gas 한도를 너무 낮게 설정하면 실행 도중 "out of gas" 리버트가 발생할 수도 있으며, 이 경우에도 소모된 gas 비용이 발생합니다.

Solana는 다르게 작동합니다. 토큰별 gas 잔액 문제는 없지만, 두 가지 문제가 지배적입니다. 첫째, 우선순위 수수료: 혼잡 시 낮은 또는 0 우선순위 수수료를 가진 트랜잭션은 검증자에 의해 드롭되므로, 이를 높여야 합니다. 둘째, 만료된 blockhash: Solana 트랜잭션은 최근 blockhash를 참조하며, 약 60~90초 이내에 확인되지 않으면 네트워크는 이를 오래된 것으로 거부합니다. 둘 다 지갑에 일반적인 실패로 나타납니다. 이러한 문제가 계속 발생한다면, Solana에서 트랜잭션 시뮬레이션 실패를 해결하는 방법에 대한 우리의 안내서가 우선순위 수수료 및 blockhash 재시도 흐름을 자세히 설명합니다.

리버트를 유발하는 토큰 세금 및 전송 제한

많은 토큰은 모든 매수 또는 매도에 세금을 부과하며, 이는 마케팅 지갑, 유동성 또는 배포자에게 전달됩니다. 다른 토큰은 전송 제한을 추가합니다: 최대 지갑 한도, 최대 거래 크기, 쿨다운 타이머 또는 블랙리스트. 이들 중 어느 것이든 gas와 잔액이 완벽하더라도 스왑을 리버트시킬 수 있습니다. 일반적인 경우는 지갑당 한도를 초과하여 구매하거나, 계약이 강제하는 쿨다운 기간 동안 판매하는 것입니다.

진단은 지갑을 탓하기 전에 토큰의 계약을 확인하는 것입니다. 토큰 스캐너 또는 DEXTools 보안 패널은 매수/매도 세금 비율을 표시하고 제한 사항을 알려줄 것입니다. 세금이 8%이고 슬리피지가 5%라면, 답을 찾은 것입니다. 해결책은 슬리피지를 세금보다 높게 설정하거나, 거래 크기를 최대 거래 한도 미만으로 줄이는 것입니다. 계약이 일시 중지되었거나 주소가 블랙리스트에 있다면, 어떤 슬리피지 설정도 당신을 구할 수 없으며, 이는 떠나야 할 강력한 신호입니다.

허니팟 토큰: 매도 실패가 실제로는 함정일 때

이것은 위험한 경우입니다. 허니팟은 누구나 살 수 있지만 배포자만 팔 수 있도록 설계된 토큰입니다. 매수는 순조롭게 진행되고 차트는 건강해 보이지만, 모든 매도 시도는 리버트됩니다. 슬리피지나 gas를 아무리 높여도 매수는 성공하고 매도는 실패한다면, 거의 확실히 허니팟에 걸린 것입니다. 계약이 작성된 대로 정확히 작동하고 있기 때문에 어떤 설정으로도 해결할 수 없습니다.

증상가능성 있는 원인시도할 첫 번째 해결책
매수 및 매도 모두 리버트됨세금/변동성에 비해 슬리피지가 너무 낮음토큰 세금 및 버퍼보다 슬리피지를 높게 설정
제출 전에 실패함네이티브 gas 토큰 부족gas를 위해 ETH/BNB/SOL 충전
매수는 작동하지만 모든 매도가 리버트됨허니팟 또는 매도 블랙리스트중단; 해결책 없음, 자금은 갇힐 가능성이 높음
Solana가 약 1분 후 드롭됨만료된 blockhash 또는 낮은 우선순위 수수료우선순위 수수료를 높이고 빠르게 재제출

구매하기 전에 자신을 보호하세요, 구매 후가 아닙니다. 모든 새 토큰을 보안 검사를 통해 실행하고 허니팟 토큰이란 무엇인가에 대한 우리의 분석을 읽어 판매를 비활성화하는 계약 패턴을 식별할 수 있도록 하세요. 스캐너에서 시뮬레이션된 판매는 당신이 구매할 수 있는 가장 저렴한 보험입니다.

지갑 또는 익스플로러에서 리버트 이유를 읽는 방법

추측할 필요가 없습니다. 대부분의 지갑은 "transaction reverted" 또는 "execution reverted"와 같은 짧은 오류를 표시하며, 블록 익스플로러는 전체 그림을 제공합니다. Etherscan, BscScan 또는 Solscan에서 실패한 트랜잭션 해시를 열고 리버트 이유 문자열을 찾으세요. "INSUFFICIENT_OUTPUT_AMOUNT" 또는 "Too little received"와 같은 메시지는 슬리피지를 직접적으로 가리킵니다. "TRANSFER_FROM_FAILED"는 종종 승인 또는 세금 문제를 의미합니다. "Out of gas"는 gas 한도가 너무 낮았다는 것을 의미합니다.

세부 정보 없이 "execution reverted"가 표시되면, 계약이 메시지 없이 require check에 실패한 것이며, 이는 세금이 부과되거나 제한된 토큰에서 흔히 발생합니다. execution reverted 오류 원인 및 해결 방법에 대한 우리의 심층 분석은 가장 자주 발생하는 리버트 문자열을 실제 의미에 매핑하여 맹목적으로 재시도하고 다시 gas를 지불하는 대신 조치를 취할 수 있도록 합니다.

각 원인에 대한 진단 및 해결 흐름

이 순서대로 진행하면 거의 모든 실패한 스왑을 해결할 수 있습니다. 첫째, 지갑에 충분한 네이티브 gas 토큰이 있는지 확인하고, 없다면 충전하세요. 둘째, 익스플로러에서 실패한 트랜잭션을 열고 리버트 이유를 읽으세요. 이는 보통 원인을 직접적으로 명시합니다. 셋째, 이유가 출력 금액을 가리킨다면, 슬리피지를 토큰의 세금에 작은 변동성 버퍼를 더한 값보다 약간 높게 설정하되, 샌드위칭을 유발할 극단적인 값으로는 절대 설정하지 마세요.

넷째, Solana에서 트랜잭션이 단순히 사라졌다면, blockhash가 만료되기 전에 우선순위 수수료를 높이고 빠르게 재제출하세요. 다섯째, 매수는 성공하지만 무엇을 변경하든 매도가 리버트된다면, 시도를 중단하세요. 그것은 허니팟 또는 매도 제한이며, 더 많은 gas를 투입하는 것은 더 많은 돈을 잃는 것일 뿐입니다. 원칙은 간단합니다: 오류를 읽고, 원인에 맞춰, 맹목적으로 재시도하는 대신 실제로 문제를 해결하는 한 가지 해결책을 적용하세요.

이 기사는 교육 목적으로만 제공되며 재정적 조언이 아닙니다.