Tx Doctor / EVM リバート事典 / ERC-20 の承認額が不足
EVM エラー:ERC-20 の承認額が不足
ルーターやコントラクトがその数量を引き落とす権限を持っていないため、transferFrom が revert しました。
原因
- スワップや預け入れの前に approve() を送っていません。
- 承認額が以前の取引で使い切られています。
- 呼び出されるルーターとは別のアドレスに承認しています(v2、v3、universal router で異なります)。
- USDT 系のトークンは、新しい額を設定する前に一旦 0 にする必要があります。
解決方法
- 実際に呼ばれるコントラクトに承認してください。失敗取引から spender アドレスをコピーします。
- 正確な額で承認するか、dApp が対応していれば Permit2 / permit 署名を使ってください。
- USDT はまず 0 に承認し、その後に新しい額を承認してください。
ウォレット/エクスプローラーでの表示例
ERC20: insufficient allowance
いまこの問題が出ていますか?トランザクションハッシュを貼ると、チェーンを自動判定して実際に失敗した理由をデコードします。
自分のトランザクションを診断