上周帮朋友查一个BSC地址,发现半年前他在某个“空投领取”页面点过确认,USDT授权额度是无限。项目早跑了,代币还没被转走。
纯粹因为对方还没动手。他以为在TP Wallet里删掉DApp记录就没事了,其实链上allowance还在了。这个误解太常见了。tpwallet 解除授权就是发一笔新的链上交易。把授权额度改成0。打开TP Wallet的,进入“发现”或“工具”里的“授权管理”,选对应公链,连接钱包。列表里会按风险等级列出合约了。
找到那个陌生合约,点“解除授权”或“撤销”,确认Gas费的。BSC上几毛到一两美元吧?ETH主网可能十几美元吧?取决于拥堵。
那次确认后不到一分钟打包,状态变成成功。他授权的是USDT,撤销后我让他在BscScan查allowance,输入钱包地址和合约地址,结果显示0。这才算完成tpwallet 解除授权了。有人撤销后还收到风险提示,多半是缓存或另一个合约的授权没清。建议隔几分钟刷新吧?或者逐个检查。若TP Wallet授权管理没显示,可以换RPC节点。
或者用Revoke.cash辅助,最终都是链上approve(0)。我的判断,授权管理应该每月看一次,特别的是玩新项目、领空投、mint NFT之后。不要因为界面里没有“已连接”就以为安全。解除授权解决的是历史授权。不是防盗万能药。私钥泄露、助记词被拍、恶意签名,撤销授权都救不了。朋友这次运气好。项目方没来得及扫了。
下次未必。





