
ERC-20 is a technical standard that defines a common set of functions every fungible token on Ethereum must implement. It specifies how to check a balance, transfer tokens, approve a third party to spend on your behalf, and emit standard events when these things happen. Because every ERC-20 token speaks the same interface, wallets, DEXs, and any other contract can interact with them without custom code per token.
The standard is what made the explosion of DeFi possible. A single Uniswap pool contract can list any ERC-20 against any other because the pool just calls the standard functions. The same goes for lending protocols, yield aggregators, and bridges. ERC-20 has been so successful that other chains adopted the same interface—BEP-20 on BNB Chain, FA12 on Tezos, and many more—to inherit the ecosystem of tooling.
ERC-20 is for fungible tokens, where every unit is identical and divisible. NFTs use a different standard, ERC-721, where each token is unique. ERC-1155 is a hybrid that supports both in one contract. Newer standards like ERC-4626 build on top of ERC-20 to standardize yield-bearing vaults. Almost any token you encounter on Ethereum or its rollups follows one of these patterns, which is why integrating a new token rarely requires more than pasting in a contract address.