All errors

Contract reverts

ERC20: transfer amount exceeds allowance


What it means

A contract (a router, a staking contract, a bridge) tried to pull your tokens, but you have not approved it to move that much. Token transfers by third parties require an explicit approval first, and the approval is per token, per spender.

How to fix it

Approve the token for the contract first, for at least the amount you are moving, then retry the action. If you previously approved a smaller amount, a new approval is needed. This is the single most common reason a first swap or stake fails.

Still stuck?

Paste your transaction hash and get the exact decoded reason for your failure, free.

Decode my transaction

For the full walkthrough of why transactions fail, read the complete error guide.