Ethereum ABI encoder, calldata decoder and ABI inspector
Turn a function signature and arguments into calldata, decode calldata back into readable arguments, or paste an ABI to list its selectors and the standards it implements.
Encoding takes a signature like transfer(address,uint256) and a JSON list of arguments, and gives the 4-byte selector plus the full calldata. Decoding takes calldata (or return data with a type list such as (uint256,address)) and a signature or ABI, and shows each argument with its type.
The inspector lists every function, event and error with its selector or topic, flags selector collisions, and checks the ERC-165, ERC-20, ERC-721 and ERC-1155 interfaces. The decoder is strict: non-canonical encodings are refused rather than guessed.
AI agents can run this through the SwapChan MCP tool evm_abi. Set up MCP
FAQ
- What format do arguments use?
- A JSON list. Numbers can be decimal or 0x hex strings, addresses can be checksummed or one case, and arrays and tuples are nested JSON lists.
- Can it decode a revert?
- Yes. Paste the revert data with the error signature or ABI. Panic codes are explained.
- What does a selector collision mean?
- Two different functions in the ABI share the same 4-byte selector, so a call could reach the wrong one. It is rare but worth knowing about.
- Is it safe?
- Yes. It only reads public data you paste. Nothing is stored or logged, and you never need a private key or seed phrase here.