토큰 승인(Token Approval)은 스마트 컨트랙트에 지갑의 특정 토큰을 사용할 수 있는 권한을 부여하는 것입니다. 많은 DeFi 및 NFT 작업에는 승인이 필요하지만, 악성 컨트랙트를 승인하거나 사용하지 않는 승인을 너무 오래 취소하지 않으면 자산이 도난당할 위험이 있습니다. 온체인 도구를 사용하기 전에, 먼저 바이낸스 공식 사이트에서 기본을 배우고, 바이낸스 공식 앱을 받는 것을 권장합니다. Apple 사용자는 iOS 설치 가이드를 참고하여 안전하게 자산을 관리할 수 있습니다.

토큰 승인이란?
Uniswap에서 USDT를 ETH로 교환할 때, Uniswap의 컨트랙트는 당신의 USDT에 직접 접근할 수 없습니다 — 먼저 "승인"해야 합니다. 이것이 토큰 승인의 역할입니다.
승인의 본질은 블록체인에 "이 컨트랙트 주소가 특정 토큰을 최대 X만큼 사용하는 것을 허가합니다"라고 말하는 것입니다. 일반적인 승인 유형에는 다음이 있습니다:
- 제한 승인: 특정 수량만 승인; 소진되면 재승인 필요
- 무제한 승인: 컨트랙트가 해당 토큰의 전체 잔액을 사용할 수 있도록 승인 (대부분의 DApp이 기본적으로 무제한 승인을 요청)
- 개별 NFT 승인: 컨트랙트가 특정 NFT 하나를 전송하도록 허용
- 전체 NFT 승인(SetApprovalForAll): 컨트랙트가 특정 컬렉션의 모든 NFT를 전송하도록 허용
무제한 승인은 편리하지만(매번 승인할 필요 없음) 더 위험합니다 — 컨트랙트가 해킹되거나 그 자체가 악성이라면, 해당 유형의 모든 토큰이 빠져나갈 수 있습니다.
지갑의 모든 승인을 확인하는 방법은?
토큰 승인을 확인하는 여러 도구가 있습니다:
Revoke.cash 사용
- revoke.cash에 접속
- 지갑을 연결하거나 지갑 주소를 입력
- 확인할 블록체인을 선택 (Ethereum, BSC, Polygon 등)
- 페이지에 모든 토큰 승인 기록이 표시됩니다:
- 승인된 컨트랙트 주소
- 승인된 토큰 유형
- 승인된 수량 (제한/무제한)
- 승인 시간
Etherscan 사용
- etherscan.io/tokenapprovalchecker에 접속
- 지갑 주소를 입력
- ERC-20, ERC-721(NFT), ERC-1155 승인을 각각 확인
기타 도구
- DeBank: 지갑 개요에서 고위험 승인을 표시
- Rabby 지갑: 승인 관리 기능 내장
- 체인 익스플로러: BscScan, PolygonScan 등 모두 유사한 Approval Checker를 보유
위험한 토큰 승인을 취소하는 방법은?
Revoke.cash를 통해 승인을 취소하는 단계:
- revoke.cash를 열고 지갑을 연결
- 승인 목록을 검토하고 취소해야 할 승인을 식별
- 대상 승인을 찾아 오른쪽의 "Revoke" 버튼을 클릭
- MetaMask에서 트랜잭션 확인이 팝업됨 — 확인을 클릭
- 온체인 트랜잭션이 확인될 때까지 대기하면 승인이 취소됨
승인 취소에는 소액의 Gas 수수료가 필요합니다 — 이는 온체인 작업의 필요한 비용입니다.
Etherscan을 통해 취소하는 단계:
- Approval Checker에서 취소할 승인을 찾기
- "Revoke" 클릭
- 지갑을 연결하고 트랜잭션을 확인
어떤 승인이 고위험인가요?
다음 승인은 우선적으로 취소해야 합니다:
- 인식할 수 없는 컨트랙트 주소: 승인한 기억이 없는 컨트랙트
- 비주류 프로토콜에 대한 무제한 승인: 소규모 프로젝트의 컨트랙트는 공격에 더 취약
- 더 이상 사용하지 않는 DApp: 사용을 중단했지만 승인이 여전히 활성화된 프로토콜
- 고가치 토큰의 무제한 승인: USDT, USDC 등 스테이블코인의 무제한 승인은 가장 높은 위험
- SetApprovalForAll: 이 승인은 컨트랙트가 모든 NFT를 전송할 수 있도록 허용 — 승인 대상이 신뢰할 수 있는지 확인
좋은 승인 습관을 만드는 방법은?
승인 위험을 줄이기 위한 일상적인 조치:
- 제한 승인을 사용하세요: 각 트랜잭션에 필요한 양만 승인 — 기본으로 무제한을 사용하지 마세요
- 정기적으로 확인하세요: 주간 또는 월간으로 Revoke.cash에서 승인을 검토
- 신속하게 취소하세요: DApp 사용이 끝나면 즉시 승인을 취소
- 지갑을 분리하세요: 새 프로젝트에는 전용 지갑 사용; 메인 지갑은 신뢰할 수 있는 프로토콜과만 상호작용
- 승인 세부사항을 읽으세요: MetaMask에서 Approve 요청이 팝업되면 승인되는 토큰과 수량을 주의 깊게 확인

자주 묻는 질문
승인을 취소한 후에도 DApp을 사용할 수 있나요?
승인을 취소하면 해당 DApp은 더 이상 토큰을 사용할 수 없습니다. 다음에 사용할 때 재승인이 필요합니다. 지갑의 자산에는 영향을 미치지 않습니다.
승인 취소에 얼마나 Gas가 드나요?
승인 하나를 취소하는 데 보통 30,000-50,000 Gas가 필요합니다. Gas Price가 30 Gwei일 때 약 0.001-0.002 ETH입니다. 비용이 들지만, 자산 도난 위험에 비하면 미미합니다.
토큰 승인과 지갑 연결의 차이는?
지갑 연결(Connect Wallet)은 DApp이 주소와 잔액만 읽을 수 있게 하며 자산 이전은 수반되지 않습니다. 토큰 승인(Approve)은 실제로 컨트랙트가 자산을 사용하도록 허용하므로 훨씬 더 위험합니다.
Approve와 Permit의 차이는?
Approve는 Gas가 필요한 온체인 트랜잭션입니다. Permit은 Gas가 필요 없는 오프체인 서명이지만 마찬가지로 토큰 사용 권한을 부여합니다. Permit은 더 미묘하여 모르는 사이에 사기성 서명을 하게 될 수 있습니다.
승인을 한 번도 확인한 적이 없는데 — 지금이라도 괜찮나요?
괜찮습니다. 즉시 Revoke.cash로 확인하고 불필요한 승인을 모두 취소하세요. 다수의 의심스러운 승인이 발견되면 자산을 새 지갑으로 이전하는 것을 고려하세요.
보안 주의사항
- 신뢰하지 않는 컨트랙트 주소를 절대 승인하지 마세요
- 바이낸스 공식 사이트 같은 중앙화 플랫폼을 사용할 때는 토큰 승인이 필요 없음 — 자산은 플랫폼이 관리
- 고가치 자산은 하드웨어 지갑에 보관하여 온체인 상호작용을 최소화
- Pocket Universe 같은 보안 플러그인을 설치하여 악성 승인 요청을 자동 탐지
- 의심스러운 승인을 발견하면 즉시 취소하고 자산을 이전
- 이해하지 못하는 트랜잭션이나 메시지에 절대 서명하지 마세요