ERC-20 (short for Ethereum Request for Comments 20) is a standard developer's use for deploying tokens on the Ethereum network, which has the ability to interact with smart contracts.
The ERC-20 standard provides developers with rules for the Ethereum network, making it easy to deploy tokens with features such as transactions and dApp interactions.
Introduced to the community in November 2015, within an Ethereum Improvement Proposal (EIP-20) by Vitalik Buterin and Fabian Vogelsteller, ERC-20 outlines the rules and functions of the standard, aiming to support developers in building and developing dApps within the Ethereum ecosystem.
A fungible token is one that lacks uniqueness and can be exchanged for any other token of the same name. For example, 1 ETH is equivalent to any other circulating 1 ETH in the market.
The ERC-20 standard is the most widely adopted standard in the cryptocurrency market overall, specifically within the Ethereum network, with tens of thousands of tokens circulating under the ERC-20 standard. Therefore, it can be said that the applicability and importance of this standard significantly impact the crypto space.
Ethereum is a flexible blockchain with numerous applications, mainly due to its ability to execute smart contracts. These smart contracts have various potential uses. For instance, they can be grouped together to build decentralized applications (dApps), which are applications based on blockchain. They can also be used to initiate cryptocurrencies running on the Ethereum blockchain.
According to the EIP-20 proposal, an ERC-20 token is generated through a smart contract, ensuring that the token can only be traded when and if the smart contract terms are met. Therefore, ERC-20 prevents transactions where either party has malicious intentions.
If you plan to create your own cryptocurrency on Ethereum and want it to be widely used, it must be compatible with everything running on the blockchain. It needs to work with dApps, blockchain games, crypto wallets, and other services designed for Ethereum tokens.
Thus, the ERC-20 standard was created to enhance interoperability with smart contracts, making transactions and financial activities more transparent and secure. According to the EIP-20 proposal, developers can use APIs to enable dApps to apply ERC-20 rules in DeFi activities. Consequently, the growth of the Ethereum ecosystem has been significantly supported by the use of APIs for the ERC-20 standard.
ERC-20 provides a set of coding functions. Cryptocurrency tokens that implement these functions are known as ERC-20 tokens because they adhere to this standard. These functions are divided into three categories: getters, functions, and events.
Getters simply return information and do not modify anything. There are three getters:
Total Supply: Returns the total number of existing tokens.
Balance: Returns the number of tokens owned by an address/account.
Allowance: Allows an account to spend a certain number of tokens belonging to another owner. For example, if address A grants an allowance of 50 tokens to address B, then address B can spend up to 50 tokens on behalf of address A.
Functions perform an action. There are also three functions:
Transfer: Moves tokens from the sender's address to the recipient's address.
Approve: Sets the allowance amount that a spender can use.
TransferFrom: Transfers tokens from the sender to the recipient using the allowance mechanism.
Events are emitted when an action occurs. There are two events:
Transfer: Emitted when tokens are sent from the sender to the recipient.
Approval: Emitted when the owner approves a number of tokens for a spender to use.
The ERC-20 standard consists of nine mandatory functions:
Name: The token's name must be unique and not duplicate other token names.
Symbol (Ticker): The token's symbol. Unlike the Name, the Symbol can be the same across different tokens.
Decimals: The smallest decimal unit in which the token can be transacted.
TotalSupply: This function represents the total number of tokens in circulation.
BalanceOf: Function that shows the balance of a specific wallet.
Transfer: Function that transfers tokens to a particular wallet address.
TransferFrom: Function that transfers tokens from one wallet address to another.
Approve: Function that allows a third party to spend a certain amount of the owner's tokens.
Allowance: This function lets the token owner modify the Approve function, such as the amount of tokens permitted.
By combining all these functions, users can create an ERC-20 token compatible with smart contracts. Users can query the total supply, check balances, make transactions, and grant approvals to dApps for financial activities.
Additionally, the flexibility of the ERC-20 standard is an advantage, as its rules are not confined to a specific framework. This allows projects and developers to implement various types of ERC-20 tokens with different functionalities in the market. For example:
Governance tokens: UNI (Uniswap), SUSHI (SushiSwap)
Stablecoins: USDT, USDC, and many other functions within the crypto market.
Fungibility
Each token following the ERC-20 standard is interchangeable and has the same value. For example, if a user holds any 1 USDC, it can be used to buy, sell, or exchange with other tokens, much like using a 10,000 VND bill to purchase fish. This fungibility allows ERC-20 tokens to function as a monetary asset, as holders prefer tokens without individual distinctions, which would otherwise hinder their replaceability and reduce the standard's utility.
Flexibility
ERC-20 tokens are highly flexible due to their ability to interact with smart contracts. This enables their use across various purposes and applications. For instance, ERC-20 tokens can be used as assets in AMM transactions, staked to earn interest, or employed in yield farming.
Scam Risk
Despite ERC-20's aim to facilitate easy token creation for smart contract interaction, many have exploited this maliciously. Developers can create meme coins with smart contracts designed for honeypots, rug pulls, or unrestricted minting at any time. Therefore, users should be cautious when participating in the DeFi space, as many projects are initially set up to deceive and disguised as promising ventures. Thorough research is essential before investing.
Scalability
The ERC-20 standard is limited to the Ethereum network, which suffers from poor scalability. This impacts the operations and transactions of ERC-20 tokens. There have been instances where transferring tokens on the Ethereum network cost up to $100 in transaction fees, reducing the demand for ERC-20 tokens and pushing users toward Layer 2 networks with lower fees.
Ethereum has several token standards. Besides ERC-20, two other significant token standards are ERC-721 and ERC-1155. Here's what makes them different:
ERC-20 is a fungible token standard. Fungible tokens are identical in type and value. Cryptocurrencies are an example of fungible tokens.
ERC-721 is a non-fungible token (NFT) standard. NFTs are used to represent something unique, such as a digital collectible.
ERC-1155 is a multi-token standard. It is a smart contract interface that can manage multiple types of tokens. ERC-1155 tokens can perform functions similar to both ERC-20 and ERC-721 tokens.
Given the sheer number of ERC-20 tokens in existence—over 500,000, according to Etherscan—it's impossible to cover them all. These tokens include some of the largest cryptocurrencies, smaller projects, and a fair share of scams. The ease of creating a token on Ethereum means the quality of these projects can vary significantly.
Here are some of the most notable ERC-20 tokens and their purposes:
Wrapped Bitcoin (WBTC): A tokenized version of Bitcoin that can be used on the Ethereum blockchain. It's backed 1:1 by Bitcoin reserves.
Polygon (MATIC): A Layer 2 blockchain that extends Ethereum by providing faster, cheaper transactions. It operates alongside Ethereum.
Shiba Inu (SHIB): A popular meme token with a dedicated fanbase, though not highly regarded as an investment or serious crypto project.
Uniswap (UNI): A decentralized cryptocurrency exchange operating via smart contracts without central authority, allowing users to swap cryptocurrencies.
Tether (USDT), USD Coin (USDC), and Binance USD (BUSD): Stablecoins pegged to the U.S. dollar, designed to maintain a stable value of $1.
It's worth noting that some of these cryptocurrencies are available on multiple blockchains, not just as ERC-20 tokens. For example, Tether exists as an ERC-20 token on Ethereum but is also available on Solana, Algorand, and several other blockchains.
The future of ERC-20 is expected to continue contributing to the development of the Ethereum ecosystem. This standard has empowered developers to build on Ethereum, facilitating network effects that have led to the emergence of many new assets. As the Ethereum ecosystem continues to grow, the ERC-20 standard will likely play an important role in its development.