Skip to main content
← Back to E Definitions

Erc 20 tokens

What Are ERC 20 Tokens?

ERC 20 tokens are a technical standard for creating fungible tokens on the Ethereum blockchain. Within the realm of Digital Assets, this standard dictates a common set of rules and functions that tokens must adhere to, ensuring interoperability and compatibility across the Ethereum ecosystem. A fungible token is one that is mutually interchangeable with any other token of the same type, meaning each unit holds the same value and properties as another. This characteristic is similar to traditional fiat currencies, where one dollar bill is equivalent to any other dollar bill. ERC 20 tokens have become a foundational element for a wide variety of digital assets, from utility tokens used within decentralized applications to stablecoins pegged to real-world assets.

History and Origin

The concept for ERC 20 tokens emerged in 2015 when developer Fabian Vogelsteller proposed a standardized token contract interface on GitHub. At the time, while the Ethereum platform was gaining traction for its smart contracts functionality, a lack of standardization for tokens meant that each newly created token required custom integrations for different platforms, exchanges, and digital wallets. This made broader adoption and interaction challenging63.

Vogelsteller's proposal, known as Ethereum Request for Comment 20 (ERC-20) due to its designation as the twentieth comment in the Ethereum Improvement Proposal (EIP) process, aimed to resolve these interoperability issues by defining a set of common functions61, 62. After community discussion and development, the ERC-20 standard was formalized into an Ethereum Improvement Proposal (EIP-20) and officially adopted in 201760. This standardization proved pivotal, catalyzing the rapid growth of the Ethereum ecosystem and facilitating the proliferation of tokens used in Initial Coin Offerings (ICOs) and the burgeoning space of decentralized finance (DeFi)58, 59.

Key Takeaways

  • ERC 20 tokens are fungible digital assets built on the Ethereum blockchain, adhering to a specific technical standard.
  • The ERC-20 standard ensures interoperability, allowing tokens to seamlessly interact with various decentralized applications, exchanges, and digital wallets within the Ethereum ecosystem.
  • Proposed in 2015 and adopted in 2017, the ERC-20 standard played a crucial role in the expansion of Initial Coin Offerings and the decentralized finance sector.
  • Common functions of ERC 20 tokens include tracking total supply, checking balances, and facilitating transfers.
  • Despite their widespread adoption, ERC 20 tokens face limitations, particularly concerning scalability, transaction costs, and certain security vulnerabilities inherent in the standard's design.

Formula and Calculation

ERC 20 tokens do not involve a financial formula or calculation in the traditional sense, as they are not designed to determine a specific financial outcome like an interest rate or a valuation. Instead, the "formula" for ERC 20 tokens lies in the required set of functions and events that a smart contract must implement to be considered ERC-20 compliant. These functions define how the tokens behave on the Ethereum blockchain.

The core functions mandated by the ERC-20: Token Standard include:

  • totalSupply(): Returns the total number of tokens in existence.
  • balanceOf(address _owner): Returns the token balance of a specified address.
  • transfer(address _to, uint256 _value): Transfers a specified amount of tokens from the calling address to another address.
  • transferFrom(address _from, address _to, uint256 _value): Transfers tokens from one address to another on behalf of the _from address, provided prior approval.
  • approve(address _spender, uint256 _value): Allows a _spender to withdraw a specified amount of tokens from the calling address.
  • allowance(address _owner, address _spender): Returns the amount that _spender is still allowed to withdraw from _owner.

Additionally, the standard specifies two events that must be triggered:

  • Transfer(address indexed _from, address indexed _to, uint256 _value): Triggered when tokens are transferred.
  • Approval(address indexed _owner, address indexed _spender, uint256 _value): Triggered on a successful call to approve().

These functions and events facilitate the consistent management and transfer of fungible tokens across the Ethereum network.

Interpreting the ERC 20

Interpreting ERC 20 tokens primarily involves understanding their utility and behavior within the Ethereum ecosystem. Since ERC 20 tokens are programmatic, their interpretation depends on the specific design and purpose embedded in their underlying smart contract. For example, a governance token might grant voting rights, while a utility token might provide access to a particular service within a decentralized application.

The most common interpretation revolves around their fungibility and the ease with which they can be transferred and accounted for. The balanceOf function, for instance, provides a clear, real-time snapshot of how many units of a specific ERC 20 token are held by a given digital wallet address. This transparency and standardized accounting are fundamental to how assets are managed and traded in decentralized finance (DeFi) protocols. Understanding the total supply (totalSupply) is also crucial, as it indicates the maximum number of tokens intended to exist, influencing aspects like scarcity and potential inflation, which are key considerations in the broader cryptocurrency market.

Hypothetical Example

Imagine a company, "GreenEnergyCorp," decides to raise capital for a new solar farm project by issuing digital tokens on the Ethereum blockchain. They choose to create ERC 20 tokens, which they name "SolarCoin" (SLR).

GreenEnergyCorp deploys a smart contract that conforms to the ERC-20 standard. This contract defines the total supply of SolarCoins to be 100,000,000 units.

Sarah, an investor, decides to purchase 1,000 SLR tokens. She sends Ether (ETH) to GreenEnergyCorp's specified address, and in return, the smart contract executes a transfer function, crediting 1,000 SLR to Sarah's digital wallet address. The Transfer event is logged on the blockchain, publicly recording this transaction.

Later, Sarah wants to use her SLR tokens to pay for a service offered by a decentralized application that partners with GreenEnergyCorp. The dApp requires Sarah to approve its smart contract to spend a certain amount of her SLR tokens on her behalf. Sarah approves the dApp to spend 50 SLR. When she uses the service, the dApp's smart contract calls the transferFrom function on the SolarCoin contract, moving 50 SLR from Sarah's balance to the dApp's service provider's address. This entire process occurs seamlessly due to the ERC-20 standard, allowing diverse applications to interact with the SolarCoin tokens in a predictable manner, underpinning the ecosystem of decentralized applications.

Practical Applications

ERC 20 tokens have a wide array of practical applications across the Digital Assets landscape. They are predominantly used for:

  • Fundraising: Historically, ERC 20 tokens were the backbone of Initial Coin Offerings (ICOs), enabling startups to raise capital by issuing new tokens to early investors. This has evolved to include Security Token Offerings (STOs), which are digital assets representing traditional securities.
  • Utility Tokens: Many projects issue ERC 20 tokens to grant users access to specific services, features, or content within their decentralized platforms or applications. These tokens are consumed or staked to use the application.
  • Governance Tokens: In decentralized autonomous organizations (DAOs) and DeFi protocols, ERC 20 tokens often confer voting rights, allowing holders to participate in decisions regarding the project's future development and parameters.
  • Stablecoins: A significant portion of the stablecoin market consists of ERC 20 tokens, such as USD Coin (USDC). These tokens are designed to maintain a stable value relative to a fiat currency (e.g., the U.S. dollar) or other assets, providing a stable medium of exchange within the volatile cryptocurrency market57.
  • Tokenization of Assets: ERC 20 tokens facilitate the tokenization of real-world assets, such as real estate or commodities, making them divisible and easily tradable on a blockchain.
  • Decentralized Exchanges (DEXs): ERC 20 tokens are the primary assets traded on decentralized exchanges built on Ethereum, enabling peer-to-peer trading without intermediaries.

The U.S. Securities and Exchange Commission (SEC) has provided interpretive guidance on the application of federal securities laws to digital assets, including ERC 20 tokens, highlighting the importance of understanding the regulatory implications based on how a token is offered and sold, particularly if it qualifies as an "investment contract".55, 56

Limitations and Criticisms

Despite their widespread adoption and utility, ERC 20 tokens have several notable limitations and criticisms, primarily stemming from the underlying architecture of the Ethereum blockchain and the standard's design choices:

  • Scalability and High Gas Fees: A significant criticism is related to Ethereum's scalability challenges. When the network experiences high traffic, transaction processing times can increase, and the associated gas fees can become prohibitively expensive, impacting the usability and affordability of transacting with ERC 20 tokens54.
  • Security Vulnerabilities: While the ERC-20 standard itself provides a robust framework, the complexity of smart contracts written to implement these tokens can introduce security flaws. Historically, issues like re-entrancy attacks or unintended token losses have occurred due to errors in contract coding or interactions with non-compliant contracts51, 52, 53. The design of ERC-20's transfer() and approve() functions has also been highlighted as a potential vulnerability, leading to a risk of permanent fund loss if tokens are sent to contracts not designed to receive them directly49, 50.
  • Lack of Built-in Error Handling for Transfers: The transfer() function in the ERC-20 standard does not natively include a callback mechanism to notify recipient smart contracts of incoming token transfers. This can lead to tokens being permanently lost if they are sent to a smart contract address that is not specifically designed to handle ERC 20 token reception47, 48.
  • Centralization Concerns in Token Distribution: While the underlying blockchain is decentralized, the initial distribution and ongoing governance of many ERC 20 token projects can exhibit significant centralization, raising concerns about control and censorship.
  • Regulatory Uncertainty: The classification of ERC 20 tokens as securities or non-securities remains a complex and evolving area in many jurisdictions. This regulatory ambiguity creates challenges for projects and investors alike45, 46.

These limitations highlight ongoing efforts within the blockchain community to develop new standards and improve existing ones to address these concerns.44

ERC 20 Tokens vs. ERC-721 Tokens

While both ERC 20 tokens and ERC-721 tokens are standards for digital assets on the Ethereum blockchain, their fundamental difference lies in their fungibility.

ERC 20 tokens are fungible, meaning each token is identical and interchangeable with any other token of the same type. For example, one USD Coin (USDC) is exactly equivalent to any other USDC token. They are primarily used for assets where units are indistinguishable, such as currencies, voting shares, or standardized units of value. This fungibility makes them suitable for applications requiring divisible and interchangeable assets, like payments, trading on exchanges, or pooled liquidity in decentralized finance protocols.

In contrast, ERC-721 tokens are non-fungible, meaning each token is unique and distinct from every other token, even within the same smart contract. They are used to represent ownership of unique assets, whether digital or physical. Examples include digital art, collectibles, unique in-game items, or property deeds. The uniqueness of each ERC-721 token ensures that it cannot be replaced by another, making it ideal for proving singular ownership and authenticity. The distinct properties of ERC-721 tokens mean they are not designed for direct exchange with each other in the way ERC 20 tokens are, but rather for individual ownership and transfer.

FAQs

What does "ERC 20" stand for?

ERC stands for "Ethereum Request for Comment," and 20 refers to the proposal identification number assigned to this specific standard. It is a technical guideline for tokens on the Ethereum blockchain.

Are ERC 20 tokens a cryptocurrency?

ERC 20 tokens are a type of digital asset or cryptocurrency built on the Ethereum blockchain. Ether (ETH) is the native cryptocurrency of the Ethereum network, used to pay gas fees for transactions, while ERC 20 tokens are created on top of this network following a specific standard.

Can ERC 20 tokens be sent to any Ethereum address?

While ERC 20 tokens can be sent to any valid Ethereum address, care must be taken when sending them to smart contracts. If a receiving smart contract is not specifically designed to handle ERC 20 token transfers, the tokens may become permanently inaccessible. It is crucial to verify the recipient address and its compatibility before initiating a transfer.

What are some popular examples of ERC 20 tokens?

Many well-known digital assets are ERC 20 tokens, including stablecoins like USD Coin (USDC), and various utility and governance tokens used across the decentralized finance (DeFi) ecosystem.123, 456789101112131415, 161718192021, 2223242526272829303132333435363738394041