What Is ERC-20?
ERC-20 is a technical standard for creating fungible tokens on the Ethereum blockchain. The acronym stands for Ethereum Request for Comment 20, referring to the proposal number assigned when the standard was first introduced in November 2015 by developer Fabian Vogelsteller.
In simple terms, ERC-20 defines a common set of rules that all Ethereum-based tokens must follow. This standardization is what makes it possible for thousands of different tokens to work seamlessly with the same wallets, exchanges, and decentralized applications.
Before ERC-20, every token contract on Ethereum had its own unique interface. Wallets and exchanges had to write custom code to support each new token. ERC-20 solved this by establishing a universal interface -- if a token follows the standard, it automatically works with every wallet, DEX, and DeFi protocol that supports ERC-20 tokens.
How ERC-20 Tokens Work
At its core, an ERC-20 token is a smart contract deployed on the Ethereum blockchain. The contract maintains a ledger of addresses and their token balances, and it exposes a set of functions that allow anyone to interact with those balances.
The Required Functions
Every ERC-20 token must implement these six functions:
totalSupply()-- Returns the total number of tokens in existence.balanceOf(address)-- Returns the token balance of a specific address.transfer(to, amount)-- Transfers tokens from the caller's address to another address.approve(spender, amount)-- Grants permission for another address (typically a smart contract) to spend a specified number of tokens on your behalf.allowance(owner, spender)-- Returns the remaining number of tokens that a spender is allowed to transfer on behalf of an owner.transferFrom(from, to, amount)-- Transfers tokens from one address to another, using the allowance mechanism. This is how DeFi protocols move your tokens after you approve them.
The Required Events
ERC-20 also requires two events that are emitted (logged) whenever tokens move:
Transfer(from, to, value)-- Emitted when tokens are transferred, including zero-value transfers and minting (wherefromis the zero address).Approval(owner, spender, value)-- Emitted when an approval is set or updated.
These events do not affect contract logic, but they are essential for off-chain services. Block explorers like Etherscan use them to display transaction histories. Wallets use them to update balances in real time. Analytics platforms use them to track token movements across the network.
A Simplified View
Here is what a minimal ERC-20 interface looks like in Solidity:
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
Any contract that implements this interface and follows these rules is a valid ERC-20 token. The actual implementation can vary -- contracts can add extra features like burning, minting, pausing, or governance -- as long as the core interface is preserved.
Why ERC-20 Matters
ERC-20 is arguably the most important standard in the entire cryptocurrency ecosystem. Here is why:
Interoperability
Because every ERC-20 token follows the same interface, the entire Ethereum ecosystem can treat all tokens uniformly. When Uniswap builds a trading interface, it works with every ERC-20 token automatically. When MetaMask adds token display support, it works for all ERC-20 tokens. This interoperability is what enabled the explosion of DeFi, where protocols can compose with each other because they all speak the same token language.
Developer Efficiency
Developers do not need to learn a new API for every token they want to integrate. If your application supports one ERC-20 token, it supports all of them. This dramatically reduces development time and makes the ecosystem more accessible.
Security Through Standardization
The ERC-20 standard has been implemented, audited, and battle-tested by thousands of projects. Libraries like OpenZeppelin provide reference implementations that have secured billions of dollars in value. When you use a standard implementation, you benefit from the collective security review of the entire Ethereum community.
Liquidity and Market Access
Any ERC-20 token can be listed on decentralized exchanges without permission. You do not need to apply for a listing or meet arbitrary requirements. If someone creates a liquidity pool for your token on Uniswap, it becomes instantly tradeable. This open access to liquidity is a fundamental property of the ERC-20 ecosystem.
Famous ERC-20 Tokens
Some of the most valuable and widely used cryptocurrencies are ERC-20 tokens:
Stablecoins
- USDC (USD Coin) -- Circle's dollar-backed stablecoin, one of the most widely held ERC-20 tokens with a market cap regularly exceeding $30 billion.
- USDT (Tether) -- The most traded stablecoin in the world, originally launched on Bitcoin's Omni layer but now predominantly used as an ERC-20 token.
- DAI -- MakerDAO's decentralized stablecoin, maintained through overcollateralized lending positions rather than fiat reserves.
DeFi Governance Tokens
- UNI (Uniswap) -- The governance token for the largest decentralized exchange by volume.
- AAVE -- Governance and utility token for the leading decentralized lending protocol.
- LINK (Chainlink) -- Used to pay Chainlink oracle node operators for providing off-chain data to smart contracts.
- LDO (Lido) -- Governance token for Lido, the largest liquid staking protocol on Ethereum.
Utility Tokens
- SHIB (Shiba Inu) -- Originally launched as a meme token, SHIB became one of the most widely held ERC-20 tokens by number of unique holders.
- APE (ApeCoin) -- The ecosystem token for the Bored Ape Yacht Club community and related projects.
- MATIC (Polygon) -- Used for gas fees and staking on the Polygon network (the ERC-20 version lives on Ethereum mainnet).
These examples illustrate the range of use cases that ERC-20 enables -- from institutional-grade stablecoins to community-driven meme tokens. The standard is flexible enough to support all of them.
ERC-20 vs Other Token Standards
ERC-20 is the most common but not the only token standard on Ethereum. Understanding the differences helps you choose the right standard for your project.
ERC-20 vs ERC-721 (NFTs)
| Characteristic | ERC-20 | ERC-721 | |---|---|---| | Token type | Fungible | Non-fungible | | Interchangeability | Every token is identical | Every token is unique | | Divisibility | Divisible (typically 18 decimals) | Indivisible (always whole units) | | Use cases | Currencies, governance, utility | Digital art, collectibles, deeds | | Supply tracking | Total supply as a single number | Each token has a unique ID |
ERC-721 tokens are non-fungible tokens (NFTs). Each token has a unique identifier and can represent a distinct asset. While one USDC is always equal to another USDC, one CryptoPunk is fundamentally different from another CryptoPunk. Use ERC-721 when each token needs to be individually identifiable.
ERC-20 vs ERC-1155 (Multi-Token)
| Characteristic | ERC-20 | ERC-1155 | |---|---|---| | Token type | Fungible only | Fungible and non-fungible | | Contracts needed | One per token | One for many tokens | | Batch transfers | No native support | Built-in batch operations | | Gas efficiency | Standard | More efficient for multiple token types | | Use cases | Single token projects | Gaming items, mixed collections |
ERC-1155 is a multi-token standard that can represent both fungible and non-fungible tokens within a single contract. It is particularly popular in gaming, where a single contract might manage fungible in-game currency, semi-fungible consumable items, and unique legendary weapons. Use ERC-1155 when your project needs multiple token types managed together.
When to Choose ERC-20
Choose ERC-20 when you need a fungible token -- one where every unit is identical and interchangeable. This covers the vast majority of token use cases:
- Community or governance tokens where each token represents equal voting power
- Utility tokens that grant access to services or platform features
- Reward tokens for loyalty programs or incentive systems
- Stablecoins or wrapped assets that represent off-chain value
- Protocol tokens used for staking, fee sharing, or network participation
If every token in your project is the same as every other token, ERC-20 is the right choice.
Common ERC-20 Extensions
The base ERC-20 standard is deliberately minimal. Over the years, the community has developed widely adopted extensions that add useful functionality:
ERC-2612 (Permit)
Allows token holders to authorize transfers through a signed message instead of an on-chain approve transaction. This eliminates the need for a separate approval transaction before interacting with DeFi protocols, saving users gas and improving the overall experience.
Burnable
Adds a burn function that lets token holders permanently destroy their tokens, reducing the total supply. Deflationary tokens use this mechanism to create scarcity over time.
Mintable
Adds a mint function (restricted to authorized addresses) that creates new tokens after the initial deployment. This is useful for tokens with inflationary schedules, reward distributions, or gradual supply expansion.
Pausable
Adds the ability for an authorized address to pause all token transfers. This is a safety mechanism that lets project teams halt trading in case of a security incident or critical bug discovery.
Snapshot
Records token balances at specific block numbers, allowing governance systems to use historical balances for voting. Without snapshots, a user could vote, transfer their tokens to another wallet, and vote again.
Votes (ERC-5805)
Builds on the snapshot concept to provide a complete on-chain governance framework with delegation support. Token holders can delegate their voting power to another address without transferring their tokens.
The History of ERC-20
Understanding where ERC-20 came from helps explain why it works the way it does:
- November 2015 -- Fabian Vogelsteller submits ERC-20 as a GitHub issue on the Ethereum repository, proposing a standard token interface.
- 2016-2017 -- Early adoption by projects like Golem (GNT), Augur (REP), and Gnosis (GNO). The standard gains traction as developers recognize the benefits of a common interface.
- 2017 -- The ICO boom drives massive adoption of ERC-20. Hundreds of projects raise funds by creating ERC-20 tokens and selling them to investors. This period proves both the power of the standard and the need for better tooling.
- September 2017 -- ERC-20 is formally finalized as EIP-20, moving from draft to accepted status.
- 2018-2019 -- DeFi protocols begin composing with ERC-20 tokens, creating lending markets (Compound, Aave), exchanges (Uniswap), and derivatives platforms.
- 2020 -- "DeFi Summer" demonstrates the full power of ERC-20 composability, with billions of dollars flowing through protocols that all rely on the standard.
- 2021-2023 -- ERC-20 matures with extensions like ERC-2612 (Permit) and integration into Layer 2 networks.
- 2024-2026 -- No-code tools make ERC-20 token creation accessible to non-technical users, democratizing access to token deployment.
How to Create Your Own ERC-20 Token
If you are ready to create your own ERC-20 token, you have several options depending on your technical background and requirements.
For most users, the fastest and safest approach is using a no-code token creator like PresaleHub. You configure your token through a simple web interface, deploy with one transaction, and receive a fully verified contract on Etherscan. The entire process takes under five minutes.
PresaleHub supports all the major ERC-20 extensions -- burnable, mintable, pausable, permit, snapshot, and access control -- so you get a professional-grade token without writing Solidity.
For a complete step-by-step walkthrough, read our guide: How to Create an ERC-20 Token Without Code in 2026.
Conclusion
ERC-20 is the foundational token standard that powers the Ethereum ecosystem. Its simple, standardized interface enables interoperability between thousands of tokens, wallets, exchanges, and DeFi protocols. From stablecoins managing billions in value to community tokens with a few hundred holders, ERC-20 provides the common language that makes it all work.
Whether you are a developer building the next DeFi protocol or a community leader launching your first token, understanding ERC-20 is essential knowledge for participating in the Web3 economy.
Ready to put this knowledge into practice? Create your own ERC-20 token in minutes with PresaleHub -- no Solidity required.