关闭交易页面、断开钱包连接,甚至把币从某个应用取回来,都不代表之前给出的花费权限已经消失。真正要查的是:在这条链上,这个合约现在还能动用你哪一种资产、多少数量。撤销也不是点完按钮就结束,还要确认改动已经生效。

本文在原有授权检查方法上,补充撤销后的复查、交易失败和签名风险。适用于常见 EVM 网络的代币与 NFT 授权,不是所有钱包权限的总清除器。只读查询不需要助记词、私钥,也不需要向本站连接钱包。若资产正在自行转出,先看已经出现异常转账时,不要慢慢整理整个授权列表。

Revoke.cash 官方代币授权撤销指南网页截图
真实网页截图:Revoke.cash 的代币授权撤销教程,截于 2026-09-03。本文不会要求你在本站连接钱包。 原始页面

先找对地址和网络,再看是谁有权限

从钱包自己的账户页复制完整公开地址,记下当前网络;用自己保存的书签进入授权检查工具,不从陌生私信或“紧急撤销”广告进入。可以先在 Revoke.cash 等支持该网络的工具输入公开地址,以只读方式看列表。查询的是别人或旧账户的地址,结果当然不能说明当前账户是否安全。

一个地址在不同 EVM 网络上可能长得完全一样,但资产和授权记录分开存在。Ethereum 上查不到某笔 BNB Smart Chain 授权很正常。先选发生过交互的网络,再核对代币合约;主网与测试网也不能混看。网络拿不准时,先读钱包网络与 RPC 核对。

一条记录至少分清三个地址

  • Owner 是拥有资产的账户,应当与你正在检查的地址相同。
  • Token 是代币合约,或 NFT 系列合约。名称和图标可以仿冒,不能替代合约地址。
  • Spender / Operator 是获准动用资产的一方。它可能是路由合约,并不一定就是网站上显示的品牌名。

打开原授权交易,结合当时使用过的应用以及项目官方公开的合约地址核对 spender。区块浏览器标签和“代码已验证”只能提供线索,不能证明合约没有漏洞。遇到相似名称但地址不同,不要替它找理由,也不要根据一个陌生合约名认定已经被盗。

哪些值得先处理

优先看持有真实资产的代币、曾经使用但已停用的应用、已经核实有风险的 spender,以及不再需要的无限额度。不认识的垃圾代币不值得为了“清空列表”逐个支付 gas,更不要进入代币名称里的兑换网址。先确认这项权限是否对应你实际持有、以后还可能接收的资产。

额度、单个 NFT 与整组权限,不是一回事

看到的权限怎样理解撤销后看哪里
ERC-20 allowance某个 spender 对一种代币的可用额度;无限额度不是“只够这次交易”。同一 owner、token、spender 的当前额度为 0。
ERC-721 单个 NFT 授权针对特定 token ID,不等于整个系列。这个 token ID 的单独获批地址已清除。
setApprovalForAll常见于 ERC-721 / ERC-1155,operator 可操作该系列中该账户的资产,范围比一个 NFT 大。该 owner 与 operator 的整组权限为 false。
Permit / Permit2可能包含尚未提交上链的签名,也可能已经变成链上权限。按具体签名类型检查,不能只看普通额度。

清掉单个 NFT 的授权,不代表整组 operator 权限也被清掉;反过来同样要检查。标准名称只是帮助理解的起点,特殊代币、智能账户或钱包的账户委托还可能有其他规则。看不懂钱包所展示的权限类别时,暂停该笔操作,比猜一个相似按钮更稳妥。

手动撤销时,签名窗口应当改变什么

只读查清之后,才有理由让钱包参与。以下说的是单项、手动的链上撤销,不是给自动管理服务追加长期权限。

  1. 在确认过域名的工具中选择那条授权,连接拥有资产的同一账户,并让钱包和工具选中同一网络。
  2. 确认钱包里有该网络用于手续费的原生资产。不要套用另一条链的币种或某篇旧教程里的固定 gas 数字;以当前钱包估算为准。
  3. 点击该条记录的撤销,展开钱包请求详情。普通 ERC-20 撤销通常是给代币合约调用 approve(spender, 0);NFT 整组撤销通常是 setApprovalForAll(operator, false)。这里只帮助识别含义,不要求新手手填合约参数。
  4. 核对请求的账户、网络、合约、目标 spender / operator 和权限变化。交易的 To 往往是代币或 NFT 合约,不是被撤销的 spender;spender 在调用参数里。别因为这两个地址不同就把正确交易改成转账。
  5. 普通撤销不应要求先把资产转到“安全地址”、领取代币、交保证金或交出助记词。请求若夹带转账、新额度、账户委托或你无法解释的批量动作,拒绝并重新检查入口。
  6. 确认是自己预期的权限变更后,再由自己在钱包中批准。保留交易哈希,等待链上结果,不要只截一张工具的成功提示。

撤销仍可能消耗手续费,也不能追回已经转走的资产。不要因为费用很低就把一组不认识的调用一次性签完。

成功提示之后,还要做一次独立复查

先在对应网络的区块浏览器打开撤销交易哈希,确认它属于自己的账户,并且状态是成功。Pending 只是等待处理;Failed / Reverted 表示这笔变更未成功,支付过 gas 也不能算撤销完成。

接着重新读取那一组权限:同一条链、同一 owner、同一代币合约、同一 spender。ERC-20 看当前 allowance 是否为 0;NFT 则按上表分别检查单个 token ID 与整组 operator。不要拿另一种代币的“0”,证明这笔授权已经取消。

工具列表可能存在缓存或索引延迟。交易已成功但列表仍显示旧额度时,先刷新并检查查询网络、账户和合约是否一致,再用可信浏览器或另一个只读入口核对当前状态。对熟悉合约的读者,浏览器里的只读查询与写入交易是两种操作;普通用户不必为了核验而进入 Write Contract 手动发交易。

仅看到一条过去的 Approval 事件还不够,它是历史变化记录,不一定是现在的权限。后面可能又有一次授权;因此应比较最新状态。保留交易哈希与复查时间,日后能分清“这次没撤成功”和“之后又重新授权”。

如果当前额度已经为 0,却记得自己刚签过可疑的 Permit,继续读下一节。授权页面显示干净,不能替你证明从来没签过链下消息。

钱包授权撤销后仍有风险:别漏掉尚未上链的签名

普通 approve 是链上交易;ERC-2612 Permit 则可以先签一份消息,由持有签名的一方随后提交。签名是否仍可用,涉及对应代币、网络、owner、spender、额度、deadline 和 nonce。没有当场扣 gas,不等于没有授予资产权限。

ERC-2612 的说明把有效签名与 nonce、有效期联系起来。把当前 allowance 改成 0,并不能据此推断未使用的 Permit 也已经失效。若签名仍有效,之后仍可能被提交,重新建立授权;具体失效方式要看该代币的实现,不能套一个“全部取消签名”的万能按钮。

先保留钱包可见的请求详情:签名类型、网络、验证合约、spender、额度和截止时间。不要公开分享原始可执行签名,更不要发助记词给所谓安全客服。Revoke.cash 的 Permit 说明指出,工具无法列出你签过的全部链下签名;相关取消入口也不能当成已签名历史清单。只有确认自己签了可疑请求,才按工具与代币支持的具体方式处理,并等待链上结果。

Permit2 还多一层权限

需要区分代币授予 Permit2 合约的普通额度,以及 Permit2 内部面向应用的权限。Permit2 说明解释了这两层;只看到其中一层被清除,不应写成“所有授权都已作废”。

如果只是撤掉代币到 Permit2 的额度,再次给它授权前还要复核内部权限及可能仍有效的签名。若不清楚可疑请求属于哪一种,停止用该地址新增授权,保留证据并找钱包或协议的官方安全支持。本站无法远程保证某一张签名已经失效。

撤销卡住时,先分清是哪一种情况

列表空白,或者网络不在工具里

先排除地址、网络、资产类型和查询服务覆盖范围。空列表也可能是读取失败;它不是“没有任何风险”的证明。不要为了让列表出现而向陌生页面导入私钥。

钱包提示手续费不足

确认缺的是这条链的原生手续费资产,而不是被授权的代币。如果没有泄露私钥或持续异常转出的迹象,再按正常渠道准备必要手续费。若每次补入原生币都会立即被转走,停止反复补钱,转到下一节处理。

交易一直 Pending,或已经失败

Pending 时仍可能保留原权限。先用哈希检查同账户是否有更早的待处理交易;了解原因后,再参考钱包官方的替换或加速说明。不要连续点撤销制造更多等待中的交易。Failed / Reverted 时,记录错误、确认原权限,查明余额、合约限制或网络问题后再决定是否重试。

撤销后应用不能交易了

这是权限减少后可能出现的正常结果,不代表必须恢复无限额度。确实还要使用这个应用时,重新确认入口和 spender,只给这次需要的权限。若你原本就是要退出该应用,停在这里即可。

已经出现异常转账时,不要继续给旧地址补钱

先拒绝剩余请求并离开可疑页面,保存公开交易哈希、时间、网络和钱包显示的权限详情。断开连接能减少继续互动,但不能撤销已有的链上权限。若只是已确认的代币授权风险,可按前文处理相关权限并复查;撤销与攻击交易可能竞争先后,不能保证一定赶得上。

如果助记词或私钥曾输入陌生页面、发给别人,或者多个资产持续被自动转走,应把问题按可能的账户控制权泄露处理。撤销单项权限修不好被复制的密钥。不要接受“再打一点 gas 就能救回”的私信,不要让远程协助者接管电脑。

在可信、未受影响的设备与官方钱包环境中处理恢复方案;若确认密钥泄露,新的账户应使用全新生成的助记词,而不是在原助记词下多建一个地址。资产迁移本身也需要核对网络、收款地址和正在发生的攻击;存在自动扫币迹象时,先联系钱包或协议的官方安全支持,不要在旧地址上反复试转。已经损失的资产只能保留记录并寻求正规协助,任何“保证追回”都不应作为付款理由。

下一次授权前,留下足够用的记录

记下当时为什么授权、哪条链、代币和 spender 地址,以及是否仍需要它即可。不必按固定天数为所有垃圾资产逐个撤销,也不用为了得到“安全评分”购买不明服务。停用应用、换钱包用途,或看到经过核实的安全公告时,再检查相关权限。

下一次签名窗口出现时,先比较它与这次操作的目的:只打算查看余额,却被要求授权花费;只打算添加网络,却出现 Permit,都应停下来。撤销是减少已知权限的方法,不是之后可以放心签所有请求的保证。

进一步核对原始说明

chainsentry 独立安全读物;2026-09-08 修订。说明针对常见权限模式,不构成账户安全保证。