메타마스크에서 토큰 승인을 취소하려면 지갑 연결만 끊지 말고, 승인 내역에서 해당 네트워크와 컨트랙트를 골라 취소 거래를 보내야 해요. 취소도 블록체인에 기록되는 거래라서 네트워크 수수료가 들고, 완료된 뒤 승인 한도가 0 또는 목록에서 제거된 상태인지 다시 확인해야 합니다.
이 글은 2026년 9월 7일 기준으로 이더리움 메인넷과 MetaMask Portfolio가 지원하는 EVM 네트워크에서 ERC-20 토큰 승인을 정리하려는 사용자를 대상으로 해요. NFT의 전체 운영자 승인, 서명형 Permit, 이미 탈취된 시드 문구는 대응 방식이 다르므로 뒤의 예외를 함께 확인하세요.
연결 해제와 토큰 승인 취소는 왜 다른가요?
웹사이트에 지갑을 연결하면 사이트가 공개 주소와 잔액을 보고 거래 요청을 띄울 수 있어요. 반면 토큰 승인은 특정 스마트 컨트랙트가 정해진 한도 안에서 내 토큰을 대신 옮길 수 있도록 블록체인에 남긴 권한입니다. 브라우저에서 연결을 끊어도 이미 기록된 승인은 없어지지 않아요.
예를 들어 탈중앙화 거래소에서 토큰을 교환할 때는 거래소 라우터 컨트랙트가 토큰을 가져갈 수 있도록 먼저 승인하는 경우가 많습니다. 서비스 이용에는 필요한 절차지만, 사용이 끝난 컨트랙트에 큰 한도가 계속 남아 있으면 그 컨트랙트나 연결된 서비스가 침해됐을 때 피해 범위가 커질 수 있어요. MetaMask도 연결 해제와 승인 취소가 서로 다른 작업이라고 설명합니다.
사이트를 더 이상 보이지 않게 하는 것이 목적이면 연결 해제, 컨트랙트가 토큰을 가져갈 권한을 없애려면 승인 취소가 필요해요. 수상한 서명을 했거나 자산 이동이 이미 시작됐다면 승인 취소만 기다리지 말고 안전한 새 지갑으로 남은 자산을 옮기는 대응도 검토해야 합니다.
취소 전에 세 가지를 먼저 확인하세요
지갑 주소와 네트워크가 맞는지 봅니다
승인은 네트워크마다 따로 기록돼요. 이더리움에서 만든 승인을 Polygon이나 BNB Smart Chain 화면에서 찾을 수는 없습니다. 여러 계정을 쓰고 있다면 현재 연결한 주소가 실제로 승인을 준 주소인지도 확인해야 해요. 같은 모양의 토큰이라도 네트워크가 다르면 컨트랙트 주소와 승인 상태가 다릅니다.
토큰 이름보다 컨트랙트 주소를 확인합니다
승인 도구에 표시되는 서비스 이름이나 토큰 기호만 믿지 마세요. 사기 토큰은 익숙한 이름과 기호를 흉내 낼 수 있습니다. 지갑 활동 내역, 블록 탐색기의 승인 거래, 사용했던 서비스의 공식 문서에서 토큰 컨트랙트와 권한을 받은 spender 주소를 대조하는 편이 안전해요. 처음 보는 링크를 검색 광고에서 열기보다 MetaMask 공식 도움말이나 해당 네트워크의 공식 탐색기에서 출발하세요.
취소 수수료를 낼 네이티브 코인이 있는지 봅니다
승인을 없애는 작업은 보통 승인 한도를 0으로 바꾸는 온체인 거래예요. 그래서 이더리움이면 ETH, Polygon이면 네트워크가 요구하는 네이티브 가스 자산이 필요합니다. 토큰 잔액은 충분해도 가스 자산이 없으면 취소 거래가 제출되지 않아요. 당장 취소해야 할 위험이 없다면 네트워크 혼잡이 덜할 때 진행할 수 있지만, 악성 권한이 의심되면 수수료 절약보다 남은 자산 보호를 먼저 판단해야 합니다.
메타마스크 토큰 승인을 취소하는 순서
- 공식 경로에서 승인 관리 화면을 엽니다. MetaMask 도움말에서 안내하는 Portfolio 승인 관리 기능이나 해당 네트워크 블록 탐색기의 Token Approval Checker로 이동해요. 북마크나 직접 확인한 공식 도메인을 사용하세요.
- 정리할 지갑 주소와 네트워크를 선택합니다. 주소 앞뒤 몇 글자만 보지 말고 전체 주소를 복사해 대조하세요. 하드웨어 지갑을 MetaMask에 연결해 썼다면 그 하드웨어 계정 주소를 선택해야 합니다.
- 토큰과 spender를 함께 확인합니다. 승인 금액, 토큰 컨트랙트, 권한을 받은 컨트랙트 주소, 최근 이용 여부를 살펴봐요. 기억나지 않는다고 곧바로 사기라고 단정하지 말고 과거 거래의 승인 트랜잭션과 연결해 봅니다.
- 취소할 항목만 선택합니다. 계속 사용하는 서비스의 승인을 지워도 자산 자체가 사라지지는 않지만, 다음 이용 때 다시 승인하고 가스비를 낼 수 있어요. 급하지 않은 정리라면 오래 쓰지 않은 서비스와 불필요한 무제한 승인부터 줄이는 편이 이해하기 쉽습니다.
- 지갑에서 거래 내용을 다시 읽고 제출합니다. 네트워크, 상호작용할 컨트랙트, 요청 기능, 예상 수수료가 방금 고른 항목과 맞는지 확인해요. 화면이 다른 사이트로 이동했거나 알 수 없는 서명을 추가로 요구하면 승인하지 말고 닫습니다.
- 블록 확인 뒤 결과를 새로고침합니다. 지갑에 ‘제출됨’이 떴다는 것만으로 끝난 것은 아니에요. 블록 탐색기에서 거래가 성공했는지 보고, 승인 관리 화면을 다시 열어 한도가 0이거나 해당 승인이 사라졌는지 확인하세요. ethereum.org의 토큰 접근 권한 취소 안내도 취소 거래 뒤 목록을 다시 확인하라고 안내합니다.
어떤 승인을 먼저 취소해야 하나요?
모든 승인을 무조건 한꺼번에 지우는 것보다 위험과 사용 필요를 같이 보는 편이 좋아요. 아래 표는 정리 순서를 정하기 위한 기준이지, 특정 컨트랙트의 안전을 보증하는 목록은 아닙니다.
| 상태 | 먼저 볼 위험 | 권장 판단 |
|---|---|---|
| 모르는 spender, 큰 승인 한도 | 악성 사이트 또는 과거 피싱 가능성 | 주소를 대조한 뒤 우선 취소하고 다른 권한도 점검 |
| 오래 쓰지 않은 서비스의 무제한 승인 | 장기간 남은 불필요한 노출 | 재사용 계획이 없다면 취소 고려 |
| 자주 쓰는 공식 서비스의 제한 승인 | 한도 안의 권한은 여전히 남음 | 사용 필요, 한도, 재승인 비용을 함께 판단 |
| 가치 없는 수상한 토큰만 표시 | 토큰 자체의 링크·교환 유도 | 토큰과 상호작용하지 말고 별도의 승인 존재 여부만 확인 |
지갑에 낯선 토큰이 들어온 상황이라면 그 토큰을 팔거나 보내려 하지 말고, 수상한 에어드롭을 건드리지 않고 처리하는 순서부터 확인하는 편이 안전해요.
취소 거래가 실패하거나 승인이 그대로 보일 때
먼저 거래 상태를 확인하세요
지갑에서 취소를 눌렀는데 목록이 그대로라면 같은 버튼을 연달아 누르지 마세요. 거래 해시를 블록 탐색기에 붙여 넣고 Pending, Success, Failed 가운데 어느 상태인지 확인합니다. Pending이면 같은 nonce의 거래가 처리될 때까지 뒤 거래가 밀릴 수 있어요. 이때는 메타마스크 거래가 계속 대기 중일 때 확인할 순서를 참고해 중복 제출을 피하세요.
실패 원인을 나눠 봅니다
- 가스 자산 부족: 토큰이 아니라 해당 네트워크의 가스 자산 잔액을 확인합니다.
- 네트워크 혼동: 승인이 기록된 체인과 현재 선택한 체인이 같은지 확인합니다.
- 거래 실패: 실패한 거래는 승인 상태를 바꾸지 않지만 사용한 가스비는 반환되지 않을 수 있어요. 실패 이유를 확인한 뒤에만 다시 시도합니다.
- 목록 캐시: 탐색기에서 거래 성공을 확인했다면 승인 관리 화면을 새로고침하거나 지갑을 다시 연결해 현재 값을 조회합니다.
- 다른 권한 유형: ERC-20 allowance를 지웠어도 NFT의 operator 승인이나 Permit 계열 권한이 따로 남을 수 있어요. 도구가 어떤 권한 유형과 네트워크를 지원하는지 확인합니다.
이미 수상한 승인을 했다면 취소만 하면 충분한가요?
승인만 노출됐고 시드 문구나 개인 키가 안전하다면 해당 승인 취소가 추가 토큰 이동을 막는 핵심 조치가 될 수 있어요. 그러나 자산이 이미 빠져나갔거나, 시드 문구를 입력했거나, 악성 프로그램이 설치된 기기에서 지갑을 썼다면 상황이 달라집니다. 승인 취소는 과거 거래를 되돌리지 못하고, 유출된 개인 키도 바꾸지 못해요.
- 안전한 별도 기기에서 새 지갑을 만들고 복구 정보를 오프라인으로 보관합니다.
- 남은 자산을 새 지갑으로 옮길지 위험과 수수료를 빠르게 판단합니다.
- 기존 지갑의 ERC-20, NFT, Permit 등 남은 권한을 네트워크별로 확인합니다.
- 거래 해시, 주소, 사이트 URL, 화면 기록을 보존하고 거래소 계정도 관련됐다면 비밀번호와 2단계 인증을 점검합니다.
블록체인 전송을 되돌려 주겠다며 선입금이나 시드 문구를 요구하는 사람에게 응답하지 마세요. ethereum.org의 사기 대응 안내도 되돌릴 수 없는 거래와 2차 복구 사기를 분명히 경고합니다.
ERC-20 승인만 보고 끝내면 안 되는 경우
승인 관리 화면에 아무것도 없다고 해서 지갑의 모든 권한이 사라진 것은 아닙니다. 도구마다 조회하는 표준과 네트워크 범위가 다르기 때문이에요. ERC-20의 allowance는 대체 가능한 토큰의 지출 한도이고, NFT는 특정 토큰 한 개의 승인이나 컬렉션 전체를 다루는 operator 권한을 사용할 수 있습니다. 한 화면이 ERC-20만 보여 준다면 NFT 권한은 별도 탭이나 네트워크 탐색기에서 확인해야 해요.
Permit 계열은 먼저 메시지에 서명하고, 그 서명을 나중에 온체인 거래에 제출해 승인을 만드는 방식입니다. 서명 자체가 아직 제출되지 않았다면 일반 allowance 목록에 바로 나타나지 않을 수도 있어요. 서명 화면에 표시된 대상 컨트랙트, 토큰, 금액, 만료 시각과 nonce를 확인해야 하며, 단순히 웹사이트 연결을 끊는 것으로 서명 데이터가 회수되지는 않습니다. 이미 서명한 내용이 무엇인지 모른다면 해당 토큰과 지갑 제공자의 공식 안내를 확인하고, 남은 자산을 별도 지갑으로 옮겨야 하는 위험인지 판단하세요.
또한 한 서비스가 여러 네트워크에서 같은 이름으로 운영되더라도 승인은 서로 독립적이에요. 이더리움 승인을 지운 뒤 Arbitrum이나 Polygon의 동일 서비스 승인이 그대로 남을 수 있습니다. 자주 사용했던 네트워크를 목록으로 적고 주소를 하나씩 조회하면 빠뜨릴 가능성이 줄어요. 이 과정에서 네트워크를 바꿀 때마다 가스 자산과 취소 거래 해시도 별도로 기록해 두면 완료 여부를 다시 확인하기 쉽습니다.
취소 전후에 기록해 두면 좋은 정보
승인 정리는 자산을 옮기는 거래보다 결과가 눈에 덜 띄어 같은 작업을 반복하기 쉬워요. 특히 여러 네트워크와 계정을 관리한다면 아래 항목만 간단히 남겨도 중복 거래와 주소 혼동을 줄일 수 있습니다.
- 지갑 주소와 네트워크 이름
- 토큰 이름이 아닌 토큰 컨트랙트 주소
- 권한을 받은 spender 컨트랙트 주소
- 취소 전 승인 한도와 취소 거래 해시
- 블록 탐색기에서 확인한 성공 여부와 확인 시각
이 기록에는 시드 문구나 개인 키를 절대로 넣지 마세요. 고객센터에 문의할 때도 공개 정보인 지갑 주소와 거래 해시만으로 먼저 설명할 수 있습니다. 누군가 문제 해결을 위해 시드 문구, 개인 키, 원격 제어, 화면 공유를 요구한다면 공식 지원인지와 무관하게 중단하는 편이 안전해요.
앞으로 승인 위험을 줄이는 방법
승인을 전혀 하지 않으면 많은 디앱을 이용하기 어렵습니다. 목표는 승인을 무조건 피하는 것이 아니라, 필요한 서비스에 필요한 범위만 주고 사용이 끝나면 정리하는 거예요.
- 승인 화면에서 무제한 금액이 기본값이라면 실제 사용할 금액으로 제한할 수 있는지 확인합니다.
- 큰 자산을 보관하는 지갑과 디앱을 자주 연결하는 지갑을 나누면 한 번의 실수로 노출되는 범위를 줄일 수 있어요.
- 지갑 연결을 끊은 뒤에도 승인은 남을 수 있으므로, 자주 사용하는 네트워크의 승인 목록을 정기적으로 점검합니다.
- 승인 전 도메인, 토큰, spender 주소, 요청 금액을 확인하고 이해되지 않는 서명은 거절합니다. MetaMask Warning·Malicious 경고가 떴을 때 볼 항목도 승인 전에 함께 적용할 수 있어요.
취소가 끝났다면 마지막 확인은 간단해요. 올바른 주소와 네트워크에서 승인 한도가 0인지, 취소 거래가 성공했는지, 같은 서비스가 다른 토큰이나 NFT 권한도 갖고 있지 않은지 차례로 보세요. 이 세 가지가 맞아야 “연결을 끊었다”가 아니라 “온체인 권한을 정리했다”고 말할 수 있습니다.