SwapChan

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.

Related tools