ERC-20

Last Updated Sep 24, 2026

In One Sentence

ERC-20 is a standard interface for fungible tokens on Ethereum and compatible smart-contract networks.

ERC-20 defines a common way for applications to query and transfer fungible token balances. Within one token, units are treated as interchangeable. The standard specifies functions such as balanceOf, transfer and totalSupply, together with events used to report transfers and approvals.

Amounts and decimals

Contracts account in integer units. If a token reports six decimals, a displayed balance of 1.5 tokens corresponds to 1,500,000 base units. Decimals affect presentation, not the economic value or percentage ownership. Name, symbol and decimals are optional in the original specification, although widely implemented.

Spending permissions

The approve function grants a spender an allowance, and transferFrom lets that spender move tokens within the authorized rules. Approving 100 tokens does not itself send 100 tokens; it creates spending authority. Large allowances can expose later balances if the authorized spender is compromised or malicious.

What ERC-20 leaves open

The interface does not require a fixed supply or forbid administrative controls. A token may add minting, pauses or other restrictions. Its network and contract address matter more than its ticker. ETH itself is not an ERC-20 token, and Ethereum transaction gas is ordinarily paid in ETH, including when transferring ERC-20 assets.