Web3 Dictionary Logo
Web3 Dictionary
Contribute

Categories

AllBlockchainDappsDAOsDeFiNFTsRegulationSecuritySmart ContractsTokenomicsWalletsWeb3 GamingOthers
  1. Web3 Dictionary
  2. Smart Contracts
  3. Application Binary Interface
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

Smart ContractSolidityBytecodeFunction Selector
Web3-Explorer Logo

Scale Blockchain Infra

AD

Smart contracts, protocol integrations, and scalable architecture for high-performance Web3 products.

See Blockchain Services

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?

  1. When a contract is compiled, the compiler generates an ABI and bytecode.
  2. The ABI lists all functions, their parameters, types, and return values.
  3. DApps and wallets use the ABI to encode function calls into hex data.
  4. The EVM uses this hex data to execute the correct logic in the contract.
  5. 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-20 ABI to call the balanceOf function.
  • Etherscan uses an ABI to provide a "Read/Write Contract" interface.
  • A developer uses web3.js or ethers.js with an ABI to build a frontend.

External References

  • Solidity ABI Specification
  • Web3.js Contract Interaction