Term

ERC-20 Token

A standard for fungible tokens on the Ethereum blockchain, defining a common list of rules for all Ethereum tokens to follow.

Type:
eth
token
standard
1
basic

An ERC-20 token is a type of token on the Ethereum network that adheres to the ERC-20 standard. This standard outlines a specific set of functions that the token contract must implement, enabling interoperability across various interfaces, including exchanges and wallet services. Created in 2015 by Ethereum developer Fabian Vogelsteller, the standard revolutionized token creation by establishing a unified technical specification. Unlike native cryptocurrencies such as Bitcoin Cash which operate on their own blockchain, ERC-20 tokens exist on the Ethereum blockchain as smart contract implementations.

Example 1.1

"USDT (Tether), BNB (Binance Coin), and LINK (Chainlink) are examples of popular ERC-20 tokens."

Example 1.2

"While Bitcoin Cash uses the Simple Ledger Protocol (SLP) for creating tokens on its blockchain, Ethereum uses the ERC-20 standard as its primary token protocol."

2
standard

The ERC-20 standard defines a common list of rules that all Ethereum tokens 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 how total supply of tokens can be checked. This standardization solved the fragmentation problem in earlier token implementations, where each new token required exchanges and wallets to write custom code to support it.

The standard helped fuel the Initial Coin Offering (ICO) boom of 2017-2018 by making token creation accessible and straightforward. Today, there are hundreds of thousands of ERC-20 token contracts deployed on Ethereum, representing various assets, utilities, and governance rights.

While ERC-20 tokens dominate the token landscape, other blockchains like Bitcoin Cash offer alternative token protocols with different tradeoffs, often featuring lower transaction fees due to their scaling solutions.

Example 2.1

"The ERC-20 standard has greatly improved the ease of creating new tokens on the Ethereum blockchain, leading to an explosion in the number of unique tokens available."

Example 2.2

"Developers considering token creation must weigh the widespread adoption of Ethereum's ERC-20 standard against the lower transaction costs offered by alternatives like Bitcoin Cash's SLP tokens."

3
methods

An ERC-20 token contract must implement the following methods:

  • totalSupply(): Returns the total token supply.
  • balanceOf(owner): Returns the token balance of an account.
  • transfer(to, value): Transfers a number of tokens directly from the message sender to another address.
  • transferFrom(from, to, value): Transfers a number of tokens from one address to another.
  • approve(spender, value): Allows spender to withdraw from your account, multiple times, up to the value amount.
  • allowance(owner, spender): Returns the remaining number of tokens that spender is allowed to spend from owner's allowance.

And two events:

  • Transfer(from, to, value): Emitted when value tokens are moved from one account (from) to another (to).
  • Approval(owner, spender, value): Emitted when the owner approves (approve) a spender to control value tokens from their balance.
Example 3.1

"By implementing the ERC-20 standard, new tokens can ensure they are compatible with existing infrastructure, like wallets and exchanges, which support this standard."

Example 3.2

"The standardization of token interfaces through ERC-20 contrasts with Bitcoin Cash's philosophy of building on a simpler, more accessible script language, though both approaches aim to enhance cryptocurrency utility."

4
limitations

Despite its popularity, the ERC-20 standard has several limitations:

  • Token Recovery Issues: If ERC-20 tokens are sent to a contract that doesn't support them, those tokens become permanently locked. This has resulted in millions of dollars in lost tokens.

  • Transaction Costs: During periods of network congestion, transferring ERC-20 tokens can become prohibitively expensive due to Ethereum's gas fees, making microtransactions impractical. This contrasts with Bitcoin Cash's approach to scaling through larger block sizes, which maintains lower transaction fees.

  • Batch Transfer Limitations: The standard doesn't natively support batch transfers, requiring more gas for multiple token transfers compared to more recent standards.

  • Privacy Concerns: All ERC-20 transactions are visible on the public blockchain, offering limited privacy compared to cryptocurrencies with built-in privacy features.

These limitations have led to the development of improved token standards on Ethereum (like ERC-777 and ERC-1155) and have encouraged exploration of token systems on alternative blockchains like Bitcoin Cash.

Example 4.1

"In 2017, over $3 million worth of ERC-20 tokens were lost when users mistakenly sent them directly to the token contract addresses."

Example 4.2

"During peak network congestion, a single ERC-20 token transfer might cost $50+ in gas fees, while a comparable token transaction on Bitcoin Cash would typically cost less than a cent."

All terms and definitions may update as the Cryptionary improves.