궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

기초지식코인 기초

이더리움 거래가 실패하면 보낸 코인과 가스비는 어떻게 될까

EVM 거래 실패 때 상태 변경은 되돌아가지만 이미 실행에 쓴 가스는 지불되는 이유를 영수증과 잔액으로 확인합니다.

난이도 입문기초 카테고리와 설명 방식 기준
실패 도장이 찍힌 실행에서 자산이 돌아오는 화살표와 소모된 가스 용기를 분리한 거래 리버트 그림
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

실패 receipt의 status와 gas used를 먼저 확인합니다.
자산 상태 변경 롤백과 실행 수수료를 구분합니다.
revert 이유를 찾기 전 같은 거래를 반복하지 않습니다.

EVM 거래가 되돌려지면(revert) 그 실행에서 생긴 저장 상태 변경과 가치 이동은 한꺼번에 원래대로 돌아갑니다. 하지만 검증자가 거래를 블록에 넣고 EVM이 조건을 검사하며 돌린 계산에는 가스가 쓰였으므로, 보낸 사람은 실제 사용한 가스만큼 수수료를 냅니다. 탐색기에서 상태가 실패인지, 보낸 금액과 토큰 잔액이 그대로인지, 사용 가스와 실효 가스 가격이 얼마인지 봐야 ‘코인은 돌아왔는데 수수료는 빠졌다’는 결과를 제대로 이해할 수 있습니다.

블록 포함과 실행 성공은 다른 상태입니다

서명한 거래가 블록에 들어가면 논스(nonce)가 소비되고 검증자가 EVM 실행을 시도합니다. 영수증 상태가 0이라면 블록에는 들어갔지만 실행은 실패한 것입니다. 대기 중이거나 버려진 거래와 달리, 확정된 실패 거래는 기록에 남고 같은 논스를 다시 쓸 수 없습니다.

ethereum.org는 거래를 상태를 바꾸는 서명된 지시로, 가스를 계산 비용으로 설명합니다. 계약의 require 조건, 권한, 잔액, 마감 시각이 맞지 않거나 REVERT 연산 코드가 실행되면 성공 상태를 만들 수 없습니다. 탐색기의 빨간 표시만 보고 네트워크가 거래를 받지 않았다고 말해서는 안 됩니다.

실패 거래는 실행 결과를 되돌립니다. 그렇다고 그 실패를 계산해 확인한 작업까지 공짜가 되지는 않습니다.

JOBCOIN 해설

그림으로 보기거래 요청부터 블록 확인까지
거래 요청, 블록 포함, 후속 블록 확인을 구분한 거래 처리 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. 블록 포함과 실행 성공은 다른 상태입니다

    서명한 거래가 블록에 들어가면 논스(nonce)가 소비되고 검증자가 EVM 실행을 시도합니다.

  2. 되돌아가는 것과 남는 것을 나눕니다

    REVERT가 최상위 거래를 실패시키면, 그 실행에서 바뀐 계약 저장소와 토큰 이동, 내부 호출의 상태가 모두 되돌아갑니다.

  3. 잔액 감소를 가스와 송금액으로 나눠 봅니다

    실패한 뒤 보낸 사람의 이더가 줄었다면 먼저 사용 가스 × 실효 가스 가격을 계산해 보세요.

설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

되돌아가는 것과 남는 것을 나눕니다

REVERT가 최상위 거래를 실패시키면, 그 실행에서 바뀐 계약 저장소와 토큰 이동, 내부 호출의 상태가 모두 되돌아갑니다. EIP-140은 되돌림이 일어나면 상태 변경과 로그가 사라진다고 정의합니다. 그러니 실패한 영수증에 성공한 Transfer 이벤트가 최종 로그로 남았다고 읽으면 안 됩니다.

반대로 거래 해시, 보낸 사람의 논스 증가, 블록 포함 사실, 가스 소비와 수수료는 남습니다. maxFeePerGas 전체가 늘 청구되는 것은 아니고 실제 사용 가스와 수수료 규칙에 따라 계산됩니다. 쓰지 않은 가스는 보통 돌려받지만 이미 쓴 계산 비용은 돌아오지 않습니다.

실패 거래 결과
항목 일반적 결과 확인 위치
이더 송금액 이동 되돌림 주소 잔액·실행 추적
토큰 잔액 변경 되돌림 계약의 balanceOf
이벤트 로그 실패한 실행분 미반영 영수증 로그
보낸 사람 논스 소비 계정 거래 횟수
가스 수수료 쓴 만큼 지불 사용 가스·실효 가격

잔액 감소를 가스와 송금액으로 나눠 봅니다

실패한 뒤 보낸 사람의 이더가 줄었다면 먼저 사용 가스 × 실효 가스 가격을 계산해 보세요. 계약에 보내려던 이더는 실행이 성공하지 않았다면 목적지에 남아 있으면 안 됩니다. 지갑 화면 캐시 말고, 같은 블록 이후의 주소 잔액과 영수증을 조회합니다. L2에서는 실행 가스 말고도 L1 데이터 수수료가 따로 표시될 수 있어 항목 구성이 다릅니다.

토큰 교환이 실패하면 넣으려던 토큰과 받으려던 토큰의 잔액은 거래 전과 같고, 체인 기본 가스 토큰만 줄어드는 경우가 흔합니다. 승인 거래가 먼저 성공하고 교환만 실패했다면 승인 한도는 앞선 거래에서 이미 바뀌었을 수 있으니 두 TxID를 각각 봐야 합니다.

  • TxID를 올바른 체인에서 엽니다.
  • 영수증 상태와 블록 확인 수를 봅니다.
  • 사용 가스·실효 가격·L2 수수료를 확인합니다.
  • 거래 전후 토큰 잔액과 승인 한도를 조회합니다.
  • 되돌림 사유나 실행 추적을 확인합니다.

원인을 모르는 채로 다시 보내지 않습니다

승인 한도 부족, 마감 시각 경과, 가격 변동 허용폭 초과, 계약 일시정지, 접근 권한, 잘못된 입력처럼 논리 조건이 원인이라면 가스 한도를 올려도 계속 실패합니다. 가스 부족인지 계약의 되돌림인지는 영수증의 가스 사용률, 오류 데이터, 모의 실행으로 가려냅니다. 프런트엔드에 뜬 짧은 오류 문구만으로 결론 내리지 마세요.

프록시 계약은 현재 구현 계약이 바뀌어 이전 모의 실행과 결과가 다를 수 있습니다. 호출한 받는 주소, 입력 데이터의 함수 선택자, 인자를 검증된 소스와 맞춰 보세요. 같은 버튼을 자꾸 누르면 논스만 다른 실패 거래와 수수료가 늘어날 수 있습니다.

지원 문의에는 영수증 증거를 냅니다

거래소나 디앱 고객지원에는 TxID, 체인, 지갑 주소, 하려던 기능, 영수증 상태, 오류 데이터를 알려 주세요. 시드나 개인 키는 진단에 필요하지 않습니다. 실패했으니 자금이 다 사라졌다는 주장이나, 환불해 줄 테니 다시 서명하라는 개인 메시지는 경계해야 합니다.

사용자 화면에는 ‘실패’ 표시와 함께 자산 상태는 되돌아갔고 실행 수수료는 쓰였다는 설명이 있어야 합니다. L2나 계정 추상화 환경은 수수료를 내는 주체나 번들러 구조가 다를 수 있으니 해당 네트워크 문서도 확인하세요. 일반적인 이더리움 규칙을 모든 체인에 숫자까지 그대로 적용하지 않습니다.

자주 묻는 질문

실패 거래에서 보내려던 ETH는 사라지나요?

최상위 실행이 되돌려졌다면 송금액 이동도 되돌아갑니다. 다만 사용한 가스 수수료는 냅니다.

가스 한도를 높이면 모든 실패가 해결되나요?

아닙니다. 가격 변동 허용폭, 권한, 마감 시각 같은 논리 조건으로 되돌려진 거래는 가스를 올려도 풀리지 않습니다.

실패한 스왑 전에 해 둔 토큰 승인도 롤백되나요?

승인과 교환이 서로 다른 거래였다면 승인 성공은 그대로 남을 수 있습니다. TxID를 하나씩 확인하세요.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. Transactionsethereum.org
  2. EIP-140 REVERT instructioneips.ethereum.org
작성 방식과 확인 범위
출처 수집
원문 링크 2개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

투자·세무 판단은 전문가와 상의하세요. 제도와 거래소 안내는 바뀔 수 있으니 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →