Logo
Blockchain & Web3

ABI (Application Binary Interface)

The ABI is Ethereum’s contract calling convention: calldata is a 4-byte function selector (the Keccak-256 prefix of the function signature) followed by arguments encoded in 32-byte words — and the JSON ABI is the machine-readable description of that interface.

Anatomy of calldata

A call to transfer(address,uint256) encodes as: selector 0xa9059cbb + the address left-padded to 32 bytes + the amount as a 32-byte big-endian integer. Static types encode in place; dynamic types (strings, bytes, arrays, structs) use offsets pointing to length-prefixed data later in the payload. Signed integers sign-extend; addresses and bools left-pad.

The JSON ABI is the contract’s interface description — every function and event with its parameter names, types, and mutability — which is what wallets, explorers, and SDKs use to turn a human intent into bytes the EVM understands.

Why it matters beyond Ethereum

Understanding the ABI is table stakes for reading calldata, verifying contracts, debugging reverts, and building integrations — and the same pattern (selector + encoded args) appears wherever systems need a compact binary calling convention. Our toolkit encodes and decodes calldata, computes selectors, and validates EIP-55 addresses.

Related Standards

  • •Solidity ABI specification
  • •EIP-55 — mixed-case address checksum

Need help with this?

We consult and build across all of these domains — tell us what you are working on.

Privacy & Cookie Preferences

We use cookies to enhance your experience, analyze site performance, and support our marketing efforts. Your privacy matters, and you can withdraw consent at any time.