Read EVM input data without a network request
The first four calldata bytes are a function selector, while the remaining bytes use Ethereum's ABI encoding. Supply an ABI or function signature to interpret those bytes, or use raw mode for values that have no selector. Integer outputs retain exact decimal and hexadecimal forms.
How to decode calldata
- Choose ABI, function-signature, selector, or raw-value mode and paste the required local inputs.
- Run the decoder and inspect the selector, canonical signature, nested arguments, integer forms, and checksummed addresses.
- Review any exact approval, zero-address, Permit2, or non-zero-value label while keeping the decoder's non-simulation boundary in mind.
Unknown selectors and contract behavior stay unknown
The tool does not use RPC, fetch verified ABIs, resolve proxy implementations, consult a remote selector directory, or simulate execution. A supplied signature can be wrong for the destination contract even when the bytes decode successfully.
Frequently asked questions
- Can calldata be decoded without an ABI?
- Only when you know the function signature or raw Solidity types. An unknown four-byte selector remains unknown without that local context.
- What does maximum approve mean?
- For approve(address,uint256), it means the amount equals 2^256 minus 1. The tool reports that exact fact without predicting contract behavior.
- Does successful decoding prove the target contract will execute this function?
- No. The decoder does not inspect the destination bytecode, proxy state, call context, or reverts.
- Is calldata uploaded for decoding?
- No. ABI parsing and decoding run locally with the dynamically loaded ethers library.