Mcap -- BTC -- ETH -- SOL -- BNB -- XRP -- F&G -- View Market
Loading prices…

ERC-20

The Ethereum token standard that lets any smart contract define a fungible token with a consistent interface. The technical reason most 'crypto' is not actually a coin.

Ethereum 3 min read

ERC-20 is the token standard on Ethereum. It defines a minimum set of functions (transfer, balanceOf, approve, allowance, totalSupply) that a smart contract has to implement to be recognised as a fungible token by wallets, exchanges, and other contracts. Anyone can deploy an ERC-20 token. The standard is about 30 lines of Solidity and there is no approval process. You pay for the contract deployment in gas and that is it.

Most of what people refer to as “crypto” is actually an ERC-20 token or its equivalent on another EVM chain. USDC is ERC-20. USDT on Ethereum is ERC-20. UNI, LINK, SHIB, PEPE, AAVE, MKR, SUSHI — all ERC-20. There are thousands of them. The standard was proposed by Fabian Vogelsteller in November 2015 (the “ERC” prefix means “Ethereum Request for Comments”) and it is arguably the single most economically consequential document in Ethereum’s history, because it is what enabled the 2017 ICO boom and the entire token economy that followed.

Why the Standard Matters

Before ERC-20, every token project had its own interface. A wallet that wanted to display a balance had to hardcode support for each new token. An exchange that wanted to list a new token had to integrate a bespoke contract. This was manageable when there were ten tokens and untenable once there were ten thousand.

ERC-20 solved this by standardising the function signatures, so any wallet that knew how to talk to one ERC-20 contract could talk to all of them. That interoperability is what let MetaMask, Etherscan, Uniswap, and every DeFi protocol handle new tokens without any integration work. A new token listed today is automatically recognised by the entire ecosystem the moment its contract is deployed, because the tools are written against the standard rather than the specific contract.

The Sharp Edges

The standard is old and it has some well-known quirks. The approve pattern — you grant a contract permission to spend your tokens, then call another function that uses that allowance — is the source of most wallet-drainer exploits. Malicious contracts can trick users into approving unlimited spends and then withdraw the balance at any point in the future. This is the most common way people lose money to fake airdrop sites.

There is also no built-in hook for the receiving contract to react to an incoming transfer, which has caused edge cases where tokens sent to contracts that were not expecting them get locked forever. The ERC-777 and ERC-1363 standards proposed fixes but never caught on; ERC-20 is too entrenched to displace.

For practical purposes, just assume any token you encounter on Ethereum or an EVM chain is ERC-20 unless someone specifies otherwise, and pay attention to what permissions you grant when interacting with token contracts.