DEVELOPER LAB · RUNS IN YOUR BROWSER

Revert data decoder

Make sense of Error, Panic and custom error bytes.

Standard Error and Panic are recognized automatically. Custom errors need a declaration. Decoding does not authenticate the error’s source.

HOW THE CONCEPT WORKS · SEPARATE TEACHING EXAMPLE
Follow a revert and decode its error dataStep 1 / 4
Follow a revert and decode its error dataRequested actionTransfer 100 raw unitsExample inputsAvailable balance40 raw unitsCheck the ruleA deliberately failing local scenario, not a live transactionCondition fails100 > 40Request rejectedRollbackNo successful transferConsumed gas still mattersTop-level failure and a caught nested failure have different contextsError selector0x08c379a04 bytesMessage tailNot enough tokensDynamic string encodingCustom errors and Panic use different selectors and schemasDecoded messageNot enough tokensA diagnostic clueFurther evidenceCaller and code pathRelevant stateError bytes can be constructed by code; decoding is not authentication

This fictional call requests a transfer of one hundred raw units while the relevant balance is forty.

Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.

How to use this revert decoder

Decode standard Solidity revert data and custom errors from a supplied declaration. Handles Error(string), Panic(uint256) and ABI-encoded custom errors without network requests. Start with the prefilled example, change an input, and run the calculation. Invalid values produce an explanation rather than a misleading result.

What the result means

These results describe your supplied inputs. They do not query a blockchain, check balances, estimate current network conditions, or submit transactions. Read understand why a call reverted for the meaning and limits of the calculation.