Smart Contracts
Application Binary Interface
ABI stands for Application Binary Interface. It defines how to interact with smart contracts and is usually represented in JSON.
Last Updated
2026-03-19
Related Concepts
What is ABI?
An ABI is a JSON-formatted interface that defines how to interact with a smart contract. It serves as an "instruction manual" for external applications to call functions and interpret data from the blockchain.
How does ABI work?
- When a contract is compiled, the compiler generates an ABI and bytecode.
- The ABI lists all functions, their parameters, types, and return values.
- DApps and wallets use the ABI to encode function calls into hex data.
- The EVM uses this hex data to execute the correct logic in the contract.
- Results from the contract are decoded back into readable data using the ABI.
Why does ABI matter?
Without an ABI, external software cannot communicate with a smart contract because it wouldn't know the function names or data formats. It enables the composability and interoperability that define the Web3 ecosystem.
Key features of ABI
- Standardized JSON format
- Defines function signatures and types
- Describes contract events
- Required for dApp-to-contract interaction
- Independent of the contract's source code
Examples of ABI
- A wallet uses an
ERC-20ABI to call thebalanceOffunction. - Etherscan uses an ABI to provide a "Read/Write Contract" interface.
- A developer uses
web3.jsor ethers.js with an ABI to build a frontend.
