In this track: Meet smart contracts
beginner · 3 MIN READ

What an ABI describes

The interface tells software how to format requests and results.

LET’S PICTURE IT

A form specifies field types and action names. It does not necessarily reveal every rule the office uses to accept or reject the form.

SEE IT FOR YOURSELF
Build a transfer call from typed fieldsStep 1 / 4
Build a transfer call from typed fieldstransfer(address,uint256)Recipient: 0x0000…0001Raw amount: 100Diagram labels abbreviate addresses; the lab shows full bytes4-byte selectora9059cbbEach box is one byte; this prefix is not a 32-byte wordWord 0 · recipient address12 zero bytes20 address bytes000…0001Left padding preserves the lower-order address valueSelector4 bytesa9059cbbAddress32 bytesword 0Amount32 bytesword 1 → 0x644 + 32 + 32 = 68 bytesThe integer does not contain token decimals or market price

The standard transfer interface takes an address and a raw integer amount. This diagram uses address one and amount one hundred.

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

Functions have typed inputs

An ABI can describe function names, parameters, outputs and mutability information. Applications use it to prepare calldata and interpret returned bytes. A human-friendly parameter name is helpful documentation rather than a complete behavior guarantee.

Events and errors have shapes too

ABI entries can describe events and custom errors. This lets software decode topic/data layouts or revert data under an expected interface. Bytes do not authenticate the honesty of the contract that constructed them.

The implementation enforces behavior

An ABI does not prove that a deployed address uses that implementation or that a permission check is correct. A selector is short enough for collisions, so identifying an action solely by four bytes has limits.

Try an interface locally

Our encoder and decoder use the interface you choose or supply. They show a request’s selector and argument words without calling the blockchain. Read the advanced ABI lesson once these interface basics are comfortable.

TURN UNDERSTANDING INTO PRACTICEOpen the ABI encoder →
QUICK CHECK · NO PRESSURE

Does a supplied ABI prove that a deployed contract is trustworthy?

Your progress stays in this browser.
Keep exploring the original referenceSolidity documentation ↗

Original explanations by EtherTools. Examples are educational and source-linked; this site is independent of the Ethereum Foundation. Our approach.