如何清理钱包里的长期代币授权
长期未撤销的代币授权,相当于你给了别人一把你家的钥匙,而且这把钥匙永远不会自己失效。清理它们需要用 Revoke.cash 这类专用工具,把授权额度改成0,然后支付一笔链上Gas费就行了。
授权本身是 DeFi 交互的正常操作,问题在于它不会过期。一个你三年前用过一次就再也没打开过的 DApp,现在可能还保留着对你钱包里某个代币的无限操作权限。如果这个 DApp 被黑,或者它的合约地址被钓鱼网站利用,你的资金就悬了。
前置条件
你记得自己钱包的密码或能连接硬件钱包进行签名。
你准备用来撤销授权的钱包里,有足够对应链上的原生代币(比如在以太坊上操作需要ETH,在BSC上操作需要BNB)来支付Gas费。
你用的工具是公开可信的,不要搜索"代币授权撤销工具"后随便点进不明链接。
步骤1:选择工具并连接钱包
清理授权最常用的工具是 Revoke.cash,它支持以太坊、BSC、Polygon、Arbitrum、Optimism 等100多条链。很多钱包(如 imToken、TokenPocket、Bybit 钱包)内置了它的入口。
做法:
用浏览器打开 Revoke.cash 官网,或者在你钱包的工具箱里找到"授权管理"/"Revoke"功能。
点击"连接钱包"(Connect Wallet),选择你常用的钱包(如 MetaMask、Trust Wallet)。
连接后,在顶部选择你想检查的那条链(比如 Ethereum)。
完成标准:页面加载完毕,显示出你这钱包在这条链上的所有代币授权列表。
步骤2:查看授权列表,识别风险项
连接后你会看到一个列表,每一行代表一笔代币授权,信息通常包括:
代币:被授权的代币名称(如 USDC)。
授权对象(Spender) :谁获得了操作权限(如 Uniswap 的合约地址)。
授权额度(Amount) :允许花多少。如果显示"无限"(Unlimited),意味着对方可以花掉你钱包里这个代币的全部余额。
怎么做:
先看"授权对象"。认不认识的?不认识的、或者看起来很可疑的地址,优先处理。
再看"授权额度"。不限额度(Unlimited)的,优先处理。
按时间排序,从最新的开始看,有助于快速定位近期可能签署的钓鱼授权。
完成标准:确定了一批需要撤销的授权(例如不再使用的 DApp、不认识的合约,或额度设为"无限"的项目)。
步骤3:执行撤销操作
在你决定要撤销的那条授权记录右侧,点击 "撤销"(Revoke)按钮。
钱包会弹出一笔交易请求。仔细核对交易内容——确认你正在将授权额度修改为 0。
点击确认,支付 Gas 费,等待交易上链确认。
如果以后还可能用到同一个 DApp,你不需要撤销,可以点击授权金额旁边的"铅笔"图标,把"无限"改成你愿意授权的具体数额,降低风险。
完成标准:交易在链上确认后,刷新 Revoke.cash 页面,那条授权记录应该从列表中消失,或显示额度为 0。
步骤4:跨链重复操作
EVM 不同链之间的授权是分开的。你在以太坊上的授权和你在 BSC 上的授权没有任何关系。如果多条链都有需要清理的授权,切换网络,重复步骤1-3。
完成标准:所有主要资产链(如 Ethereum、Arbitrum、BSC、Polygon)上的授权列表都清理干净。
常见失败原因
以为断开钱包连接就等于撤销了授权
这是最常见的误解。在 DApp 界面点击"断开连接",只是让这个网站看不到你的钱包地址,并不会撤销链上已授权的合约权限。授权记录是写在链上的,必须通过 Revoke.cash 这类工具发起一笔链上交易把它改掉才行。
风险提醒
撤销授权是一笔链上交易,要花 Gas 费:不是免费的。Gas 费可能从几美元到几十美元不等,取决于当时那条链的拥堵情况。清理之前先算一笔账——如果被授权代币价值不高,撤销的 Gas 费比代币本身还贵,可以考虑暂时放着不管。
无限授权风险集中在特定代币:你给 DAI 做了无限授权,USDC 依然安全。一个授权只针对一个代币。
如何确认清理完成
清理完后,在 Revoke.cash 页面上已经看不到那条授权记录,或者显示的额度为 0。你也可以在对应链的区块浏览器(如 Etherscan)的"Token Approvals"工具里再次核对,确认授权已被撤销。
