Home / Crypto / Tools / Failed Transaction Explainer
READS THE REVERT REASON OFF THE CHAIN

Failed Transaction Explainer

Paste the hash of a transaction that failed and this tells you what actually stopped it, in plain English, along with what to change before you send it again. It replays the exact call against the node and reads the reason the contract gave.

What this reads, and how

Every failed transaction leaves two things behind on the chain: a receipt saying it failed, and the exact call that was made. The receipt on its own tells you almost nothing, which is why block explorers so often show a red cross and no explanation. The reason lives one step further in.

This tool takes the call out of the transaction and runs it again against a node, in a read-only simulation that changes nothing. The contract refuses it a second time, and this time the refusal comes back with the message attached. That message is usually short and written for a developer, so it is matched against the reasons people actually hit and rewritten into a sentence that says what to do.

The failures that account for most of them

Allowance. You approved a spender for one amount and then tried to trade more than that. Tokens do not let a contract move your balance unless you have said it can, and the permission is for a specific number, not for the token in general.

Slippage. The price moved between the moment your wallet built the transaction and the moment it was mined. If the result would have been worse than the tolerance you set, the router throws the trade away rather than fill it. This is a protection doing its job, not a fault.

Balance. You had less than you thought. This catches people out with tokens that charge a fee on every transfer, because the number you last saw and the number you now hold are not the same.

Out of gas. Your wallet estimated the cost by simulating the transaction, then the real thing did more work than the simulation did. This is common on tokens with unusual transfer logic, and on any transaction sent into a fast-moving market.

The contract said no on purpose. Paused, blacklisted, wallet limits, cooldowns, sell restrictions. If a transaction to buy works and the matching sell fails, stop and check the token itself before sending anything else at it.

A failed transaction is information

It is worth being clear about the one case that is not an accident. If your buy went through and your sell keeps reverting, that is the signature of a token designed so that only some people can leave. No amount of gas or slippage fixes it, because it is the intended behaviour. Run the contract through a safety check before you decide the problem is on your side.

Questions people ask

Why did my transaction fail but still cost me gas?

Because the gas paid for the work the network did on your behalf, and it did that work whether or not the contract accepted the result. When a contract reverts, every state change is undone but the computation still happened, so it is still charged. This is the single most common thing people find unfair about how blockchains work, and it is working exactly as designed.

What does "execution reverted" actually mean?

It means the contract deliberately stopped itself. Somewhere in the code a condition was checked, the condition was not met, and the contract threw the whole transaction away rather than carry on. Most of the time the contract also attaches a short reason, which is what this tool reads and translates.

What is the difference between reverted and out of gas?

A revert is the contract refusing. Out of gas is the transaction running past the fuel you gave it before it could finish. This tool tells them apart by comparing gas used against the gas limit: if it burned essentially all of it, it ran out rather than being refused.

Why does it say the hash does not exist?

Almost always because the chain is wrong. The same hash can exist on one chain and not another, and wallets that hold several chains make it very easy to look on the wrong one. Change the chain and try again before assuming the transaction vanished.

My transaction is still pending, not failed. What do I do?

A pending transaction has been broadcast but not mined. If it has been sitting a long time, the gas price you offered is below what the network is currently accepting. Your wallet can either speed it up, which resends the same transaction at a higher price, or cancel it, which sends a zero-value transaction with the same nonce to replace it.

Why does it sometimes say the reason was read against the chain as it is now?

Because replaying a call as it was at an old block is an archive request, and free public nodes will not serve those. When that happens the call is replayed against current state instead, which still gets a reason out of the contract but is a reason about today. If your balance or your approvals have changed since, it can differ from the reason at the time. The tool says so whenever that is what happened rather than presenting the two as the same thing.

Does this need my wallet or a private key?

No. It only reads public data that anybody can read. There is nothing to connect and nothing to sign.

MORE TOOLS
Updated weekly · scanned 22 August

38 new tokens launched this week

We seal the list every week and keep re-checking every token on it, so you can see what actually happened to them rather than only what is trading today.

RISK WARNING Crypto assets are highly volatile and largely unregulated. You can lose everything you put in. Nothing on this page is financial, investment or tax advice, and nothing here is a recommendation to buy or sell any asset. Do your own research and never commit money you cannot afford to lose.