ERC-20 ist das technische Regelwerk, dem die meisten Token im Ethereum-Netzwerk folgen. Statt eine einzelne Coin zu beschreiben, definiert der Standard eine gemeinsame Schnittstelle, also Funktionen und Events, die ein Smart Contract implementieren muss, damit Wallets, Exchanges und andere Anwendungen jeden konformen Token auf dieselbe Weise ansprechen können.
Der Standard, 2015 von Entwickler Fabian Vogelsteller vorgeschlagen und als EIP-20 formalisiert, verlangt sechs Kernfunktionen: das Abfragen der Gesamtmenge, das Auslesen eines Kontostands, das direkte Übertragen von Token, das Übertragen im Auftrag eines anderen Kontos, das Genehmigen eines festgelegten Betrags für einen Dritten sowie das Prüfen dieser verbleibenden Allowance. Zwei Events, Transfer und Approval, protokollieren die Aktivität on-chain, damit Guthaben zuverlässig nachvollzogen werden können. Die meisten Token ergänzen zudem optionale Metadaten: einen Namen, ein Tickersymbol und einen Decimals-Wert, der die Teilbarkeit des Tokens festlegt.
Weil die Schnittstelle standardisiert ist, kann eine einzige Wallet oder dezentrale Exchange Tausende ERC-20-Token unterstützen, ohne für jeden Token eine eigene Integration zu bauen. Jeder Token besitzt eine eigene Contract Address, anhand derer Software einen Token vom anderen unterscheidet. Das Approve/TransferFrom-Muster wird von DeFi-Protokollen breit genutzt, ist aber auch eine wiederkehrende Quelle für Phishing-Risiken, da Nutzer unbemerkt unbegrenzte Ausgabenrechte an einen bösartigen Contract erteilen können. Spätere Standards, darunter permit-basierte Genehmigungen, wurden entwickelt, um dieses Risiko zu verringern.