Library · Crypto, word by word · Infrastructure and development
What is an ABI?
An ABI (application binary interface) is the description of a smart contract's functions and events, plus the rules for encoding calls to them as bytes. Wallets and apps use it to turn 'send 10 tokens to this address' into data the contract can read, and to decode what comes back.
What it means for you
When your wallet shows a readable summary of a transaction, it is decoding the data with an ABI. If no ABI is available, you may only see raw hex, which means signing something you cannot read. A decoded function name is a label chosen by the developer, not proof that the code does what the name says.
A common mistake: “If my wallet shows the function name 'claim', the transaction just claims a reward.”
In fact: The name comes from matching the call's first four bytes against an ABI. A developer can give any name to any code, so the label alone does not tell you what the contract will do with your tokens.
How it works
The ABI specification is the standard way to interact with contracts on Ethereum, from outside the chain and between contracts. A call's data begins with a 4-byte function selector: the first four bytes of the Keccak-256 hash of the function's signature, such as transfer(address,uint256). The arguments follow, encoded in 32-byte words; fixed-size types sit in place, while strings and arrays are referenced by offsets. A JSON form of the ABI lists every function, event and error with its input and output types, which is what tools load to encode calls and decode event logs.
Source: Solidity docs: Contract ABI Specification · checked 4 October 2026
Related words
Educational content, not financial advice. Written by hand and checked against the source named above. Something wrong? Tell us and we reply within two business days.