ERC-20 is the technical standard that defines the rules and functions all fungible tokens on the Ethereum blockchain must implement to ensure compatibility with wallets, exchanges, and smart contracts. The acronym stands for Ethereum Request for Comment number 20 — the proposal number under which it was originally submitted to the Ethereum community in 2015 by Fabian Vogelsteller and Ethereum founder Vitalik Buterin.
WHY A TOKEN STANDARD MATTERS
Before ERC-20, developers creating tokens on Ethereum had to build completely custom smart contracts with unique function names and interfaces. A wallet wanting to support ten different tokens needed ten completely different codebases. The ERC-20 standard solved this by defining a universal interface a common set of functions every compliant token must implement. Now a single wallet integration supports every ERC-20 token automatically.
THE SIX REQUIRED ERC-20 FUNCTIONS
total Supply(): Returns the total number of tokens in existence. balanceOf(address): Returns the token balance of a specific address.
transfer(address, amount): Transfers tokens from the sender to a recipient.
transferFrom(address, address, amount): Allows a third party (like a DEX smart contract) to transfer tokens on your behalf after approval.
approve(address, amount): Grants permission to another address to spend up to a specified token amount.
allowance(address, address): Returns how many tokens have been approved for a third-party spender.
MAJOR ERC-20 TOKENS
Virtually every significant DeFi token is ERC-20: USDT (Tether), USDC, DAI, LINK (Chainlink), UNI (Uniswap), AAVE, SHIB, and thousands more. When MetaMask asks you to "approve" a token before using it in DeFi, that is the ERC-20 approve() function granting the protocol permission to move your tokens.
ERC-20 BEYOND ETHEREUM
The ERC-20 interface has been adopted across all EVM-compatible chains BNB Smart Chain tokens follow BEP-20 (essentially identical), Polygon uses ERC-20, Avalanche C-Chain uses ERC-20, making cross-chain token standards highly consistent.