ERC-20 is Ethereum's prevailing fungible token standard. ERC-20 (Ethereum Request for Comments 20) tokens are tokens that provide standardized API functionalities within their smart contracts including inter-account transferrability, token balance querying, and approvability for third-party spending.
As a fungible token standard, ERC-20 provides a common token creation framework for fungible tokens on Ethereum Virtual Machine (EVM)-based blockchains. ERC-20 was first proposed by Fabian Vogelstellar together with Vitalik Buterin in 2015. The standard's requirements for compliant fungible token smart contracts include: 'TotalSupply', 'BalanceOf', 'Transfer', 'TransferFrom', 'Approve', 'Allowance', 'Transfer', and 'Approval'.