Tx Doctor / EVM 回滚错误库 / ERC-20 授权额度不足
EVM 错误:ERC-20 授权额度不足
路由或合约没有被授权动用这么多代币,transferFrom 因此回滚。
为什么会这样
- 兑换或存款之前没有发 approve()。
- 授权额度已经被更早的交易用掉了。
- 授权给了另一个路由地址,而不是被调用的这个(v2、v3、universal router 各不相同)。
- USDT 类代币需要先把额度重置为 0 才能设新值。
怎么解决
- 授权给真正被调用的那个合约——到失败交易里复制 spender 地址。
- 按精确额度授权,或者在 dApp 支持时用 Permit2 或 permit 签名。
- USDT 先 approve 0,再 approve 新额度。
钱包或区块浏览器里显示的样子
ERC20: insufficient allowance
现在就遇到这个问题?粘贴交易哈希,工具会自动找到所在链并解码真正失败的原因。
诊断我的交易