Etherscan 查我的所有 Token Approvals|Approval Checker 完整教程

Etherscan 内置 Token Approval Checker 工具,能列出你钱包给所有合约授权过的 Token 与额度。本文按 6 步教你打开它、读懂它、识别危险授权、决定哪些要立刻撤销。

发布于 2026-05-08 · 约 10 分钟 · Etherscan 用法

Etherscan 怎么查我的所有 Token Approvals?直接答:打开 etherscan.io/tokenapprovalchecker → 输入你的钱包地址或连接 MetaMask → Etherscan 自动扫描该地址所有 ERC20 / ERC721 / ERC1155 历史授权 → 按 Token 与 Spender 分组列出当前有效授权与限额 → 对每条授权可一键调用 approve(spender, 0) 撤销。整套流程 30 秒打开,关键点是要分清「无限授权」(unlimited)与「有限额度」——它们的风险等级完全不同。

如果你撤销可疑授权后想把 USDT 暂存到交易所避免再次风险,可顺路准备 币安官网 的实名账号,并用 币安官方App 看 USDT 充币地址。下载入口在 下载页

什么是 Token Approval

A:ERC20 标准里有一个 approve(spender, amount) 方法——它授权某个第三方地址(spender)从你账户里转走最多 amount 数量的代币。这是 DEX 交易的前置必经步骤——你不能直接让 Uniswap Router 转你账户里的 USDT,必须先 approve 一次给它。

概念 解释
approve 你给 spender 一个「最多能从我这转走多少」的额度
transferFrom spender 后续按这个额度从你账户里实际转
allowance 当前剩余的可转额度(approve - 已 transferFrom)

A:核心风险:approve 一次终身有效,直到你主动 set 为 0 或 spender 用完额度。如果合约升级出现漏洞、或者你授权的合约本身是钓鱼合约——授权额度内的资产可被随时转走。

第 1 步:打开 Approval Checker

地址栏手敲 etherscan.io/tokenapprovalchecker,回车。也可以从 etherscan.io 顶部 More → Tools → Token Approvals 进入。

第 2 步:输入地址或连接钱包

页面有两种用法:

方式 操作 隐私
输入地址 粘贴 0x 开头 42 位地址 不连钱包,只查
连接 Web3 点 Connect to Web3 连 MetaMask 后能直接撤销

A:只想查不想撤——选输入地址;想查后立刻撤——连钱包第一次接触建议先用「输入地址」方式纯查看,避免误触发签名

第 3 步:读懂列表字段

含义
Asset 哪种 Token(带 logo、符号、合约地址)
Type ERC20 / ERC721 / ERC1155
Approved Spender 你授权给谁(合约或地址)
Allowance 已授权额度(数字或 Unlimited)
Last Updated 最近一次 approve 的时间
Action 撤销按钮(连钱包后可用)

第 4 步:识别 Unlimited Approval

Allowance 列里如果显示「Unlimited」(实际值是 2^256-1,约 1.16e77),说明这是无限授权

风险等级 Allowance 类型
100-1000 USDT 限额 DEX 一次性兑换
10000-50000 USDT 多次兑换默认
Unlimited DEX 默认勾选「Unlimited」
极高 NFT setApprovalForAll NFT 市场对整个 collection 的全权

A:Unlimited 不等于会被偷走,但意味着「只要 spender 合约出事,你这个币就出事」——所以原则是用完即撤。

第 5 步:识别危险 Spender

Spender 类型 信任等级
Uniswap V3: Router 较高(开源、审计、大量用户)
Uniswap Universal Router 较高
1inch Router 较高
OpenSea Conduit 中(NFT 市场标准)
不知名合约
钱包地址(EOA) 极高风险(必为钓鱼)

A:最重要的红旗Spender 是 EOA(普通钱包地址)而不是合约——这是 100% 钓鱼。正常 DEX、NFT 市场全是合约,不可能是钱包。

第 6 步:撤销授权

连接 MetaMask 后,点对应行的「Revoke」按钮——

  1. Etherscan 调起 MetaMask 弹窗
  2. 弹窗显示:调用代币合约的 approve(spender, 0) 方法
  3. 你确认 Gas(ETH 主网约 0.0005-0.002 ETH)
  4. 签名
  5. 等 12 个区块确认(约 2-3 分钟)
  6. 重新刷新 Approval Checker 页面,该条授权消失或显示 Allowance=0

A:一次撤销 = 一笔交易 = 一次 Gas 花费——批量撤销要一笔笔签。省 Gas 的做法:在 ETH Gas 低谷期(凌晨 UTC 0-6 点)批量做。

ETH 主网撤销 Gas 太贵的替代方案

方案 成本 说明
等 ETH Gas 低谷 0.0005 ETH/笔 凌晨等
L2(Arbitrum/Optimism) 0.0001 ETH/笔 仅当授权也在 L2
BSC 0.00005 BNB/笔 仅当授权也在 BSC
Polygon 0.001 MATIC/笔 极低
Revoke.cash 批量 UI 同主网 仅 UI 更好,Gas 不变

注意:每条链的授权各自独立。ETH 主网上的授权要在 ETH 主网撤;BSC 上的要在 BSC 撤。详见 Token approval 分类。

实战:紧急清理可疑授权

步骤 操作
1 打开 etherscan.io/tokenapprovalchecker
2 输入钱包地址(不连接,先查)
3 看到任何 Spender 是 EOA → 立即清理
4 看到 Unlimited 给陌生合约 → 立即清理
5 切到「Web3」连 MetaMask
6 一笔笔点 Revoke 签名
7 紧急情况:剩余资产先转到新干净钱包

A:如果你不确定是否被钓——把代币转到新钱包是「最终保险」——新钱包没有任何历史授权,资产 100% 安全。授权撤销只是清理旧风险面,转走是釜底抽薪。

第 7 步:定期审计建议

频率 动作
每月 看一遍 Approval Checker,撤超过 30 天没用的
每季度 把 Unlimited 全部 set 回限额
每年 整理钱包,把不活跃账户的资产合并

风险提示

撤销授权本身不会丢资产,但撤销时如果不慎签了别的合约调起的钓鱼弹窗(如 Permit、setApprovalForAll),反而授出新风险一定看清 MetaMask 弹窗里的目标合约——应该是代币合约(如 USDT 合约),不是别的地址。

如果想把链上资产转去交易所暂存,可借助 币安官网 的 USDT 充币地址。

实操核对清单

  • [ ] 已打开 etherscan.io/tokenapprovalchecker
  • [ ] 已用「输入地址」方式纯查(不连钱包)
  • [ ] 已分辨 Unlimited / 限额 / setApprovalForAll
  • [ ] 已识别 EOA Spender(钓鱼)
  • [ ] 已批量撤销可疑授权
  • [ ] 已定 monthly 提醒做下次审计

一站式回顾

A:Etherscan Token Approval Checker 是最权威的「我授权过谁」入口核心 4 个动作:开 Checker、输地址查、识别 Unlimited 与 EOA、批量 Revoke。核心 1 个心法:用完即撤,不留 Unlimited 给非紧凑使用的合约

如果想了解 Revoke.cash 这个第三方 UI 工具的批量撤销玩法,可看 Token approval 分类。

常见问题

Approval Checker 能查 BSC、Polygon 上的授权吗?

A:不能。etherscan.io/tokenapprovalchecker 只查 ETH 主网授权。BSC 要用 bscscan.com/tokenapprovalchecker,Polygon 要用 polygonscan.com/tokenapprovalchecker——每条链各自独立

我能不能在不花 Gas 的情况下「软撤销」授权?

A:不能。撤销授权 = 在链上调用 approve(spender, 0) = 必然花 Gas。链下撤销不存在——授权数据在链上,必须发交易修改。省钱的做法是 batch(一次签多笔)或选低 Gas 时段

我撤销的授权 spender 又能再让我授权吗?

A:能。撤销只清理「已授权额度」,不阻止未来再授权——下次你在 DEX 兑换时会再弹一次 approve。这是 ERC20 标准的设计。如果想永久阻止,需要用「黑名单 spender」之类的非标准合约。

Approval Checker 显示的 Unlimited 实际是什么数字?

A:2^256 - 1,即 ~1.157920892373162e77。这是 uint256 的最大值,被很多 DEX 默认作为「无限」的实现方式。单笔交易转走不可能超过你账户余额,但理论上额度无限

我连接钱包查授权会泄漏什么信息?

A:泄漏「你拥有这个地址的私钥」。单纯输入地址不连钱包不会泄漏——但点 Revoke 时连了钱包,Etherscan 知道你是这个地址的所有者(之前是匿名查)。对隐私要求高的可以用「输入地址 + 单独在 MetaMask 里手动撤」的组合

Permit 签名(EIP-2612)能在 Approval Checker 里看到吗?

A:能但不直接。Permit 是离线签名 + 链上 transferFrom,本身不立即生成 approve 事件——直到 spender 用 Permit 链上调 transferFrom 时才生成 Approval Event。这就是 Permit 钓鱼骗局的隐蔽性来源。详见 Token approval 分类的 Permit 漏洞篇。

撤销 setApprovalForAll 跟撤 approve 一样吗?

A:方法不同但流程一样。ERC20 撤销调 approve(spender, 0);ERC721/ERC1155 撤销调 setApprovalForAll(operator, false)。Etherscan Approval Checker 自动识别 Token 类型并调用对应方法。

文档发布于 2026-05-08,下次复测计划 2026-08-08(约每 90 天回访一次,确认 Etherscan Approval Checker 路径与字段未变)。