Tx Doctor / EVM error library / Execution reverted (no reason string)
EVM error: Execution reverted (no reason string)
The contract rejected the call and returned no message. That usually means a require() without a reason, a custom error the decoder does not know, or a gas problem deep inside the call.
Why it happens
- The contract's require() check failed without a message, so the revert data is empty.
- A custom error (Solidity 0.8.4+) was thrown — those carry a 4-byte selector instead of readable text, and only the contract's ABI can name them.
- The transaction ran out of gas in an inner call, which surfaces as a bare revert.
- A token transfer inside the call failed silently (fee-on-transfer tokens, blacklists, paused contracts).
How to fix it
- Replay the call in the block explorer's debugger (Tenderly, Etherscan 'Simulate') — it usually names the failing sub-call.
- Check the token involved: paused, blacklisted or fee-on-transfer tokens revert without a message.
- Raise the gas limit by 30–50% and retry once to rule out an out-of-gas revert.
- If you are the developer, match the 4-byte selector against the contract's custom errors.
What it looks like in the wallet or explorer
execution reverted (no data present; likely the contract threw a custom error)
Seeing this right now? Paste the transaction hash — the tool finds the chain and decodes what actually failed.
Diagnose my transaction