What Is ERC-20?
ERC-20 is the technical standard for fungible tokens created using the Ethereum blockchain. A fungible token is interchangeable with another token—where the well-known non-fungible tokens (NFTs) are not interchangeable.
ERC-20 allows developers to create smart-contract-enabled tokens that can be used with other products and services. These tokens are a representation of an asset, right, ownership, access, cryptocurrency, or anything else that is not unique in and of itself but can be transferred.
- Ethereum Request for Comment 20 (ERC-20) is the implemented standard for fungible tokens created using the Ethereum blockchain.
- ERC-20 guides the creation of new tokens on the Ethereum blockchain so that they are interchangeable with other smart contract tokens.
- Since its implementation, most tokens have been created using the ERC-20 standard in the Ethereum ecosystem.
History of ERC-20
Smart contracts were becoming more popular in 2015, but several issues needed to be addressed. Because anyone could make a token, many were being created. However, there wasn't a way to ensure that all the different tokens could be created, used, or exchanged by everyone using the blockchain. Without a standardized token methodology, every application would need its own token. Users would need to find a way to convert them back and forth between the hundreds of apps being developed.
How the Standard Started
ERC-20 was proposed by developer Fabin Vogelstellar in 2015 to address the need for a standard within smart contracts on the Ethereum blockchain. Vogelstellar submitted the proposal via the project's Github page as an Ethereum Request for Comment (ERC). As it was the twentieth comment, it was assigned the designation ERC-20.
Following the procedure used by the Ethereum developer community, the proposal was approved and implemented in 2017 as Ethereum Improvement Proposal 20 (EIP-20). However, it is still called ERC-20 because that's how it was known until it was approved.
Because the request was approved and implemented, smart contract tokens implemented on the Ethereum blockchain must conform to this standard if the developers want them to be interchangeable.
ERC-20 is a list of functions and events that must be implemented into a token for it to be considered ERC-20 compliant. These functions (called methods in the ERC) describe what must be included in the smart-contract-enabled token, while events describe an action. The functions a token must have are:
- TotalSupply: The total number of tokens that will ever be issued
- BalanceOf: The account balance of a token owner's account
- Transfer: Automatically executes transfers of a specified number of tokens to a specified address for transactions using the token
- TransferFrom: Automatically executes transfers of a specified number of tokens from a specified address using the token
- Approve: Allows a spender to withdraw a set number of tokens from a specified account, up to a specific amount
- Allowance: Returns a set number of tokens from a spender to the owner
The events that must be included in the token are:
- Transfer: An event triggered when a transfer is successful
- Approval: A log of an approved event (an event)
The following functions are optional and are not required to be included, but they enhance the token's usability:
- Token's name (optional)
- Its symbol (optional)
- Decimal points to use (optional)
"Token" and "Cryptocurrency" are often used interchangeably; all cryptocurrencies are tokens, but not all tokens are cryptocurrencies. Tokens often represent assets and rights that are external to a blockchain. Token, in the context of ERC-20 compliance, simply means a blockchain representation of something that meets the standards set by the Ethereum community to be considered a smart contract standard-compliant token.
So, what does this all mean? The functions and events are programming language, such as:
function name () public view returns (string)
function balanceOf (address _owner) public view returns (uint256 balance)
These functions provide a common interface for tokens so that they can be easily accessed, recognized, and used. This reduces the confusion users and application interfaces would have if every token were to have its own way of displaying information. Additionally, the code functions assist in determining the number of tokens in circulation, storing and returning balances, making transfer and withdrawal requests, granting approval, and agreeing to automated transfers.
Plenty of well-known digital currencies use the ERC-20 standard. Some popular examples are:
- Tether USD (USDT)
- USD Coin (USDC)
- Shiba Inu (SHIB)
- Binance USD (BUSD)
- BNB (BNB)
- DAI Stablecoin (DAI)
- HEX (HEX)
- Bitfinex LEO (LEO)
- MAKER (MKR)
Goals of ERC-20
The ERC-20 standard has an important roll within the blockchain; it defines a common list of rules that Ethereum tokens using smart contracts must adhere to. Some of these rules include how the tokens can be transferred, how transactions are approved, how users can access data about a token, and the total supply of tokens.
This compliance is also necessary for Ethereum to keep the promise of scalability; it ensures compatibility between the many different tokens created using the Ethereum ecosystem.
Consequently, this token standard empowers developers of all types to accurately predict how new tokens will function within the larger Ethereum system. This simplifies the task for developers; they can proceed with their work, knowing that every existing project won't need to be redone every time a new token is released. Additionally, new projects won't need to worry about compatibility with old projects as long as the token follows the rules.
Fortunately, most token developers have fallen in line with ERC-20 rules, meaning that most of the tokens released through Ethereum are ERC-20 compliant.
BEP-2 vs. ERC-20
ERC-20 is the standard for tokens in the Ethereum ecosystem. Many other tokens, blockchains, and ecosystems have derived from Ethereum. One such ecosystem and blockchain belongs to Binance, the cryptocurrency exchange. The team behind Binance created its own blockchain, the Binance Chain, from an Ethereum fork.
Binance developers then created their own standard for tokens created using their blockchain. This standard is called BEP-2 and is similar to ERC-20 in that it guides token creation for use on the Binance Chain.
Binance also has created a side chain that runs alongside the Binance Chain called the Binance Smart Chain. This chain is compatible with ERC-20 tokens, the Ethereum Virtual Machine, and the Binance Chain; however, it uses a newer standard called BEP-20, which creates cross-chain compatibility.
What Does ERC-20 Mean?
ERC-20 is Ethereum Request for Comment, number 20. ERC-20 is the standard for smart contract tokens created using Ethereum.
What's the Difference Between ETH and ERC-20?
Ether (ETH) is the native token used by the Ethereum blockchain and network as a payment system for verifying transactions. ERC-20 is the standard for creating smart contract-enabled fungible tokens to be used in the Ethereum ecosystem.
What Is an ERC-20 Wallet?
An ERC-20 wallet is a wallet that lets you manage ERC-20 compliant tokens.
The Bottom Line
To address growing concerns that multiple tokens would not be transferrable on the Ethereum blockchain, a proposal for standards was made and implemented in 2015. Called Ethereum Request for Comment (ERC) 20, the standard guides token creation so that tokens compatible with the Ethereum blockchain are interchangeable.
Investing in cryptocurrencies and other Initial Coin Offerings (“ICOs”) is highly risky and speculative, and this article is not a recommendation by Investopedia or the writer to invest in cryptocurrencies or other ICOs. Since each individual's situation is unique, a qualified professional should always be consulted before making any financial decisions. Investopedia makes no representations or warranties as to the accuracy or timeliness of the information contained herein.