What Is an ERC-20 Token? Explained Simply

What Is an ERC-20 Token and How Does It Work?

ERC-20 is one of the most widely used token standards in the Ethereum ecosystem. It provides a common set of rules that allows fungible tokens to interact consistently with wallets, applications and other smart contracts.

Instead of creating an entirely new blockchain, a developer can deploy an ERC-20 smart contract on Ethereum and use that contract to define a new digital asset.

The token can have its own name, symbol, total supply and additional functionality while continuing to use Ethereum as the underlying blockchain infrastructure.

ERC-20 at a Glance

Feature ERC-20
Token Type Fungible
Blockchain Ethereum and compatible EVM environments
Implemented Through Smart contracts
Typical Uses Utility tokens, governance assets, application currencies and other interchangeable digital units
Native Ethereum Asset? No — native ETH is separate from ERC-20 tokens

What Does ERC-20 Mean?

ERC refers to a category of Ethereum standards proposed for application-level functionality. ERC-20 defines a common interface for fungible tokens.

Fungible means that individual units of the same token are generally interchangeable.

If a user owns 10 units of a standard ERC-20 token, those units are not normally treated as individually unique objects. One unit is intended to be equivalent to another unit of the same token.

This is different from standards such as ERC-721, where individual tokens can represent unique assets.

How an ERC-20 Token Actually Exists

An ERC-20 token is not a separate blockchain.

It exists through a smart contract deployed to Ethereum.

That contract keeps track of information such as token balances and defines how transfers and approvals are handled.

Component Role
Ethereum Provides the blockchain infrastructure
ERC-20 Contract Defines the token’s rules
Token Balance Records how many units an address controls
ETH Used to pay Ethereum transaction fees
Wallet Allows users to view and interact with the token

The Core ERC-20 Functions

The strength of ERC-20 comes from standardization. Wallets and applications do not need to learn a completely different interface for every fungible Ethereum token.

Several functions form the foundation of ERC-20 behavior.

Function Purpose
totalSupply() Returns the total token supply
balanceOf() Returns the balance associated with an address
transfer() Moves tokens from the sender to another address
approve() Allows another address or contract to spend up to a specified amount
allowance() Checks how much an approved spender is currently allowed to use
transferFrom() Transfers tokens using an existing allowance

How a Normal ERC-20 Transfer Works

Suppose Alice owns 100 Example Tokens and wants to send 20 to Bob.

Alice’s wallet prepares a transaction calling the token contract’s transfer function. The contract checks the relevant conditions, reduces Alice’s balance by 20 and increases Bob’s balance by the same amount.

The token itself is not physically moving between devices. The smart contract is updating blockchain state to reflect the new balances.

Because this is an Ethereum transaction, the user also needs enough ETH to pay the associated network fee.

What Are Approvals and Allowances?

ERC-20 also allows token holders to authorize other addresses or smart contracts to use a limited amount of their tokens.

This mechanism is widely used by decentralized applications.

For example, a user may approve a decentralized exchange contract to access up to 100 tokens. The exchange contract can then use transferFrom() within the permitted allowance.

The approval does not automatically transfer all of the tokens. Instead, it grants permission up to the specified amount.

Users should still review approvals carefully because overly broad permissions can increase risk if a contract or connected application is unsafe.

ERC-20 Token Supply Models

Not every ERC-20 token handles supply in the same way.

Supply Model Description
Fixed Supply The full token supply is created according to predefined rules and no additional supply is intended to be minted later
Mintable Supply Authorized functions can create additional tokens
Burnable Supply Tokens can be permanently removed from circulating supply according to contract logic
Capped Supply Minting may be possible, but only until a predefined maximum supply is reached

The supply model is one of the most important design decisions in a token project because it determines who can create additional units and under what conditions.

A Simplified ERC-20 Contract

A basic educational token contract might look conceptually like this:

pragma solidity ^0.8.0;

contract ExampleToken {

    string public name = "Example Token";
    string public symbol = "EXM";

    mapping(address => uint256) public balanceOf;

    constructor() {
        balanceOf[msg.sender] = 1000000;
    }
}

This example is intentionally incomplete and should not be treated as a production-ready ERC-20 implementation.

Real token development normally relies on well-reviewed standard implementations and includes additional logic required by the ERC-20 interface.

ERC-20 vs ETH

ERC-20 tokens and native ETH both operate within the Ethereum ecosystem, but they are technically different.

Feature ETH ERC-20 Token
Type Native Ethereum asset Smart contract-based token
Created Through ERC-20 Contract No Yes
Used for Native Gas Yes No
Custom Supply Logic Controlled by Ethereum protocol rules Defined by the token contract

For a deeper explanation of this distinction, read
Ethereum vs Ether: What Is the Difference Between Ethereum and ETH?.

Why ERC-20 Became So Important

Standardization made ERC-20 easier to integrate across the Ethereum ecosystem.

A wallet that understands the standard can display many different ERC-20 assets. A decentralized application can interact with tokens through familiar functions. Developers can also build infrastructure without creating a unique integration model for every asset.

That interoperability helped ERC-20 become a foundation for many Ethereum-based applications.

Can Anyone Create an ERC-20 Token?

Technically, developers can deploy their own ERC-20 smart contracts to Ethereum or an appropriate test environment.

However, creating the contract is only part of the process.

A serious project also needs to decide how supply works, who controls privileged functions, whether minting or burning is possible, how ownership is managed and how the contract will be tested before production deployment.

For beginners, working on a testnet first is usually much more appropriate than immediately deploying experimental code with real assets involved.

The
EtherFree Ethereum Token Creation Course
covers this process from token design and smart contract structure through testing and deployment preparation.

Common ERC-20 Design Decisions

Two ERC-20 contracts can follow the same standard while behaving very differently.

Decision Question to Ask
Initial Supply How many tokens should exist at deployment?
Minting Can more tokens be created later?
Burning Can tokens be permanently removed?
Permissions Which addresses can perform administrative actions?
Supply Cap Should there be a hard maximum?
Ownership Who controls privileged contract functions?

ERC-20 Security Considerations

Using a standard does not automatically make every token contract safe.

Problems can still appear through custom code, incorrect permissions, unsafe administrative functions or interactions with other contracts.

Developers should pay particular attention to minting permissions, ownership controls, upgradeability and any custom transfer behavior.

Whenever possible, projects should avoid unnecessarily rewriting standard functionality that already exists in established and reviewed implementations.

ERC-20 Development Workflow

A practical development process usually follows a sequence rather than jumping directly to production deployment.

Step Action
1 Define the token’s purpose and supply model
2 Select a suitable ERC-20 implementation
3 Configure token name, symbol and supply rules
4 Test transfers, permissions and edge cases
5 Deploy to a test environment
6 Review contract security and deployment parameters
7 Prepare production deployment only after testing is complete

ERC-20 vs ERC-721 vs ERC-1155

ERC-20 is not the only Ethereum token standard.

ERC-20 is designed for fungible assets. ERC-721 is commonly used for individually unique tokens, while ERC-1155 can support multiple asset types within a single contract architecture.

Standard Best Known For
ERC-20 Fungible tokens
ERC-721 Unique non-fungible tokens
ERC-1155 Managing multiple token types through one standard

We will examine these differences in more detail in a dedicated comparison guide.

Final Thoughts

ERC-20 provides a standardized way to create fungible digital assets on Ethereum.

The Ethereum network provides the blockchain infrastructure, while the ERC-20 smart contract defines the token’s supply, balances, transfers and permissions.

The standard makes tokens easier for wallets and applications to understand, but developers still need to make important decisions about supply, access control, security and deployment.

Before building an ERC-20 project, it is also useful to understand
how Ethereum smart contracts work,
because the token itself is ultimately implemented through smart contract logic.

Questions and Answers About ERC-20 Tokens

What is an ERC-20 token?

An ERC-20 token is a fungible digital asset implemented through a smart contract that follows the ERC-20 interface on Ethereum.

Is ETH an ERC-20 token?

No. Native ETH is Ethereum’s protocol-level asset. ERC-20 tokens are separate assets created through smart contracts.

Can an ERC-20 token have a fixed supply?

Yes. A developer can design a token with a fixed supply or use contract logic that allows additional minting under specific conditions.

What is an ERC-20 allowance?

An allowance defines how many tokens an approved address or smart contract is permitted to spend on behalf of a token holder.

Does creating an ERC-20 token require a new blockchain?

No. The token operates using Ethereum’s existing blockchain infrastructure.

Should ERC-20 contracts be tested before deployment?

Yes. Testing transfers, permissions, supply rules and failure conditions is an important part of preparing any token contract for production use.

Website |  + posts

With over a decade of experience in the publishing industry under her belt, Valeria Robasciotti is more than qualified to be the head of content and editor-in-chief at a prestigous publishing house. During her time working with books, she's edited and published hundreds of them. Even though she excels as being hardworking and an excellent manager, what she's most passionate about is reading and writing--which makes her even better suited for the job.