How it works
ERC-20 defines a set of required functions in a Solidity contract: total supply, balance of an address, transfer, approval, and allowance. A token contract that implements those functions is automatically compatible with any tool that expects ERC-20. The standard was proposed in 2015 and has become the basis for tens of thousands of tokens including most stablecoins (USDT, USDC, DAI) and project tokens.
Example
USDC is an ERC-20 token. Its contract address on Ethereum is fixed; anyone can verify its code, see the total supply on chain, and read every transfer. Sending USDC to another address calls the transfer function. Approving Uniswap to spend your USDC calls the approve function. The same patterns work for thousands of other tokens, which is what makes wallets like MetaMask universal across them.
Why it matters
ERC-20 created the template for a permissionless token economy. Anyone can deploy a new token and have it work with the entire Ethereum ecosystem without coordination. The downside is that the standard makes scam token creation trivial: most ERC-20 token addresses on chain are either honeypots, rug pulls, or zero-liquidity vanity contracts. Always verify the contract address against the project’s official documentation before sending funds or signing approvals.