
ERC‑20 is a technical standard on the Ethereum blockchain for creating fungible tokens. It defines the basic functions and interaction interfaces that a token must implement, ensuring compatibility across different smart contracts.
As the core standard of the Ethereum ecosystem, ERC‑20 underpins the issuance and circulation of hundreds of thousands of tokens, providing a unified asset layer for decentralized applications (dApps). Its emergence enables developers to rapidly build practical tokens, DeFi products, and other blockchain services that all follow the same set of rules, thereby achieving a high degree of network compatibility.
In this article we systematically review the origins of ERC‑20, its core interfaces, and its practical role in DeFi, NFTs and other parts of the ecosystem. The goal is to help readers quickly grasp the technical highlights and compatibility mechanisms of the token standard. Subsequent sections will dive into common implementation details and security considerations, so a careful read is recommended.
What does ERC‑20 mean?
ERC‑20 (Ethereum Request for Comment 20) was proposed by Ethereum developer Fabian Vogelsteller on November 19 2015. The formal name of the proposal is Ethereum Improvement Proposal 20 (EIP‑20), and it was created to provide a unified specification for issuing, creating, and deploying interchangeable tokens on Ethereum.
- ERC stands for “Ethereum Request for Comment,” a method for developers to suggest enhancements to the blockchain.
- 20 is the identifier of this particular proposal in the comment list.
Fungible tokens have a “one‑to‑one” indistinguishable exchange property, and ERC‑20 supplies the standard interface for such tokens. At the end of 2017, EIP‑20 received formal recognition as an Ethereum Improvement Protocol (EIP), further cementing its status within the ecosystem. Since then, ERC‑20 has become the technical foundation for the majority of tokens on the Ethereum network.
How ERC‑20 works
The ERC‑20 standard divides token functionality into getter functions, state‑changing functions, and events, ensuring that contract interactions are consistent and easy to use.
Getters (query functions)
| Function | Description |
|---|---|
| **totalSupply** | Returns the total number of tokens that have been minted, helping users understand the overall supply. |
| **balanceOf(address _owner)** | Retrieves the token balance of a specific address. |
| **allowance(address _owner, address _spender)** | Returns the amount of tokens that the spender is authorized to transfer on behalf of the owner. |
State‑changing functions
| Function | Description |
|---|---|
| **transfer(address _to, uint256 _value)** | Moves `_value` tokens from the caller’s address to `_to`. |
| **approve(address _spender, uint256 _value)** | Grants `_spender` the right to spend up to `_value` tokens in the future. |
| **transferFrom(address _from, address _to, uint256 _value)** | Transfers tokens from `_from` to `_to` provided that the caller has been granted sufficient allowance. |
Events (logs)
| Event | When it is emitted |
|---|---|
| **Transfer(address indexed _from, address indexed _to, uint256 _value)** | Emitted after a successful token transfer. |
| **Approval(address indexed _owner, address indexed _spender, uint256 _value)** | Emitted when an allowance is set or changed. |
Through these interfaces, ERC‑20 tokens achieve plug‑and‑play interoperability across wallets, exchanges, and various dApps, providing the low‑level scaffolding for DeFi, governance, gaming, and many other use cases.
Creating an ERC‑20 token
An ERC‑20 token is essentially a smart contract deployed on Ethereum. The contract code embeds minting and distribution logic, making the token creation process automated and transparent.
Example workflow
- Deploy the contract: The developer submits smart‑contract code that complies with the ERC‑20 interface.
- Accept fiat via SEPA/SWIFT: The contract (or an accompanying off‑chain service) can be configured to accept a capped amount of fiat, for example USD 10,000 transferred through SEPA or SWIFT.
- Mint tokens: For every USD 1,000 received, the contract automatically mints a predefined number of tokens (e.g., 100 tokens per USD 1,000) and assigns them to the contributor.
- Complete distribution: If the fundraising target is USD 1 million, the system would generate 100 000 ABC tokens and allocate them proportionally to all participants.
This process resembles a traditional initial public offering (IPO), but it is decentralized, requires no intermediary, and investors directly hold project equity in token form.
ERC‑20 can also serve as governance tokens, utility tokens, reward mechanisms, and more. The programmable nature of smart contracts enables features such as timed releases, dividend distributions, and automatic incentives.
What is gas?
In the Ethereum ecosystem, gas is the unit used to measure the computational resources required to execute a transaction or smart contract. Gas fees are priced in gwei (1 gwei = 10⁻⁹ ETH), and users pay with ETH to obtain the necessary computation power.
- Pricing mechanism: Miners (or validators, after the transition to proof‑of‑stake) select the gas price they are willing to accept based on network congestion. Transactions with a price that is too low may be ignored, creating a market‑driven supply‑and‑demand dynamic.
- Anti‑spam protection: Requiring gas fees makes it costly to flood the network with malicious transactions, helping protect the blockchain from attacks.
Consequently, gas fees are a critical economic incentive that enables decentralized computation and maintains network security on Ethereum.
Tax note: In many jurisdictions, profits from buying, selling, or exchanging cryptocurrencies are taxable events. Users should consult local tax regulations and consider reporting crypto gains in accordance with applicable laws.
Types of ERC‑20 tokens
Because the ERC‑20 standard is generic, it can represent a wide variety of asset classes:
| Category | Example tokens | Primary purpose |
|---|---|---|
| **Stablecoins** | USDT, USDC | Pegged to fiat currencies to provide price stability. |
| **Governance tokens** | MKR, AAVE | Holders can participate in protocol governance votes. |
| **Utility tokens** | BAT, LINK | Used to access platform services or pay fees. |
| **Asset‑backed tokens** | wBTC, PAXG | Represent real‑world assets (Bitcoin, gold) as ERC‑20 tokens. |
| **Game/Metaverse tokens** | ENJ, SAND | Manage virtual economies, in‑game items, and digital land. |
These tokens work seamlessly in wallets, exchanges, and dApps, dramatically increasing liquidity and fostering innovation throughout the Ethereum ecosystem.
Differences between ERC‑20, ERC‑721, and ERC‑1155
| Standard | Token type | Key characteristics |
|---|---|---|
| **ERC‑20** | Fungible token | Homogeneous and interchangeable; suitable for currency, governance, etc. |
| **ERC‑721** | Non‑fungible token (NFT) | Each token is unique; commonly used for digital collectibles and artwork. |
| **ERC‑1155** | Multi‑token standard | A single contract can manage both fungible and non‑fungible tokens, ideal for gaming and composite assets. |
Together, these three standards form a rich digital‑asset ecosystem on Ethereum, addressing a broad spectrum of business requirements.
Advantages and disadvantages of ERC‑20 tokens
Advantages
- Interoperability: Can be freely exchanged and combined across the entire Ethereum ecosystem.
- Security: Backed by the immutable and decentralized nature of the Ethereum blockchain.
- Customizable: Developers can set supply caps, decimal precision, and add specialized functions.
- Transparent transactions: All transfers and approvals are recorded on‑chain and publicly queryable.
- High liquidity: Most exchanges list ERC‑20 tokens, making buying and selling straightforward.
- User‑friendly tooling: Wallets such as MetaMask and MyEtherWallet lower the barrier to entry.
Disadvantages
- Limited functionality: Standardization can require additional contract layers for complex business logic.
- Potential vulnerabilities: Poorly written smart contracts may expose security risks.
- Gas fee volatility: Transaction costs can rise sharply during periods of network congestion.
- Incomplete compatibility: Some centralized exchanges still do not fully support every ERC‑20 token.
- Governance opacity: If a project’s governance framework is weak, token dumping or insider trading may occur.
Despite these challenges, ERC‑20 remains a cornerstone technology that drives innovation across the Ethereum landscape.
---
At this point we have provided a comprehensive overview of the ERC‑20 concept, its operational mechanisms, creation workflow, and its relationship to other token standards. For further details, feel free to search for previous articles by Bitaigen (比特根) or continue reading the related content below. Thank you for your attention and support!
Note for U.S. users: When accessing cryptocurrency services, be sure to use Binance.US rather than the global Binance platform, as the former complies with U.S. regulatory requirements.
Fiat reference: All fiat amounts mentioned above are expressed in USD and can be transferred internationally via SEPA (for Euro‑zone participants) or SWIFT for other regions.
Related Reading
- Step-by-Step Guide: Transfer USDT from OKX to Binance (TRC‑20, ERC‑20, BEP‑20)
- Perp DEX Guide: Decentralized Perpetual Contracts Explained
- Perp DEX: Decentralized Perpetual Contract Exchange
💡 Register on Binance with referral code B2345 for the maximum trading fee discount. See Binance complete guide.