ERC-20 tokens are fungible crypto assets that follow a shared Ethereum standard, which makes them easy to transfer, store, and integrate across wallets and DeFi apps. In practice, ERC-20 is the common language that lets token contracts behave consistently, much like fund shares in traditional finance.
Quick answer: ERC-20 is the most widely used standard for fungible tokens on Ethereum and EVM chains. It defines a predictable interface so wallets, exchanges, and protocols can read balances, move tokens, and set permissions without custom code for every asset.
What are ERC-20 tokens?
ERC-20 tokens are fungible tokens that implement the ERC-20 standard on Ethereum. The standard was proposed in November 2015 as EIP-20, and it defines a common interface so applications can interact with tokens in a predictable way.
A useful TradFi analogy is a mutual fund share. You do not need a new settlement process for every brokerage to recognize the share, because the market already agrees on how it behaves. ERC-20 does the same for crypto tokens, except the rules are enforced by smart contracts.
This matters for products such as QINV, which issue portfolio tokens that need to move cleanly between wallets and DeFi apps. When a token follows ERC-20, it can plug into a wide ecosystem instead of being trapped in a custom format.
Key insight: ERC-20 is not a token itself. It is a standard for how fungible token contracts should behave so that other software can understand them.
How do ERC-20 tokens work?
ERC-20 tokens live inside smart contracts. The contract keeps the ledger, validates transfers, and exposes a small set of methods that wallets and protocols can call. If you want a deeper primer on the underlying rails, see what are smart contracts?.
Step 1: The contract tracks balances
Each address has a balance stored in the token contract. A wallet queries balanceOf(address) to display holdings, while the contract itself remains the source of truth. This is similar to a transfer agent maintaining official unit records for a fund.
Step 2: Users send tokens directly or approve spending
A wallet can send tokens using transfer(address,uint256). For DeFi apps, the more common pattern is approve(address,uint256) followed by transferFrom(address,address,uint256), which lets a contract spend only the amount you allowed.
That pattern is the crypto version of limited authorization. You are not handing over the entire account, only granting a specific contract permission to move a capped amount.
Step 3: Apps read events and allowances
Every successful transfer emits a Transfer event, and every approval emits an Approval event. Indexers, analytics tools, and explorers read those events to show balances, histories, and permissions in real time.
What this means in practice: if a wallet, exchange, or lending app understands ERC-20, it can support thousands of tokens without rewriting its core logic for each new asset.
What functions and events does ERC-20 define?
The original ERC-20 specification is small but powerful. It defines 9 methods and 2 events, which is one reason it became the default standard for fungible tokens on Ethereum.
| Type | Name | What it does | Why it matters |
|---|---|---|---|
| Method | name() |
Returns the token name. | Helps wallets and explorers label the asset. |
| Method | symbol() |
Returns the ticker symbol. | Makes the token easy to recognize in interfaces. |
| Method | decimals() |
Returns the display precision. | Lets apps show balances in a human-readable format. |
| Method | totalSupply() |
Returns the total token supply. | Helps users and apps understand scale. |
| Method | balanceOf(address) |
Returns an account balance. | Powers wallet balances and portfolio views. |
| Method | transfer(address,uint256) |
Sends tokens to another address. | Supports peer-to-peer movement and payments. |
| Method | transferFrom(address,address,uint256) |
Sends tokens from an approved address. | Enables DeFi settlement and vault interactions. |
| Method | approve(address,uint256) |
Sets a spending allowance. | Lets users grant limited contract permissions. |
| Method | allowance(address,address) |
Returns remaining approved spending power. | Lets users check how much a contract can still spend. |
| Event | Transfer |
Signals token movement or minting. | Lets indexers track token flows and holdings. |
| Event | Approval |
Signals a new allowance. | Lets wallets show current permissions. |
The standard is intentionally minimal. That keeps implementation simple while preserving enough structure for interoperability across wallets, block explorers, DEXs, lending markets, and fund products.
Why decimals matter
OpenZeppelin notes that ERC-20 commonly uses 18 decimals by default, and that decimals mainly affect display rather than the contract’s internal arithmetic. This is why a token balance may look large in raw on-chain units but normal in the wallet UI.
In other words, 1 token on screen may correspond to 10 ** 18 base units in the contract. The math is still integer-based, but user interfaces translate it into a readable format.
ERC-20 vs other token standards
ERC-20 is the standard for fungible assets, but not every on-chain asset should use it. The right token model depends on whether the asset represents interchangeable units, unique items, or vault shares.
| Standard | Token type | Core use case | How units behave | Example |
|---|---|---|---|---|
| ERC-20 | Fungible | Currency, governance, index shares, stablecoins | Every unit is interchangeable | USDC, governance tokens, portfolio tokens |
| ERC-721 | Non-fungible | Unique items and collectibles | Each token is distinct | NFTs, digital collectibles |
| ERC-1155 | Semi-fungible | Games and mixed inventories | Can mix fungible and unique units | Game assets, batch items |
| ERC-4626 | Tokenized vault | Vault shares and fund-like products | Shares track underlying assets | Yield vaults, indexed strategies |
For most traders and investors, ERC-20 is the asset format you interact with every day, even if you never think about the standard. Stablecoins, governance tokens, and many fund tokens all rely on it because it is the widest common denominator in DeFi.
If you want to see the custody model that makes this work for investors, what is non-custodial finance? is the next useful read.
Why ERC-20 matters in wallets, exchanges, and DeFi
ERC-20 is important because it gives the market a shared operating layer. Wallets can show balances, exchanges can list the asset, DEXs can route swaps, and lending protocols can accept deposits without inventing a new integration for every token.
The biggest practical benefit is composability. A token that follows ERC-20 can move across the ecosystem like a standard financial instrument that every broker and custodian already recognizes.
This is also why stablecoins became so central to DeFi. Circle says USDC is backed 100% by highly liquid cash and cash-equivalent assets and is redeemable 1:1 for US dollars. That combination of on-chain standardization and off-chain reserve design makes ERC-20 tokens useful for payments, trading, and treasury management.
Statistics that show why the standard matters
- The ERC-20 specification defines 9 methods and 2 events, according to EIP-20.
- OpenZeppelin states that ERC-20 typically uses 18 decimals by default, which is why most token UIs display fractional balances cleanly.
- Ethereum documentation says that as of 2024-06-20, at least $83,656,418 worth of ERC-20 tokens had been lost due to the token reception issue.
- Circle states that USDC is backed 100% by liquid cash and cash-equivalent assets and is redeemable 1:1 for US dollars.
Key insight: ERC-20 is powerful because it is simple. A small standard can support a huge range of financial use cases when every app speaks the same language.
Common risks and limitations
ERC-20 is widely adopted, but the standard does not eliminate user error or contract risk. Some of the most important issues come from how tokens are sent, approved, or implemented.
| Risk | What can go wrong | Why it matters | How to reduce it |
|---|---|---|---|
| Token reception issue | Tokens can be sent to contracts that do not handle them correctly. | Funds may be permanently stuck. | Verify the receiving contract and follow the protocol’s deposit flow. |
| Unlimited approvals | A malicious or compromised contract can spend more than intended. | Your allowance can become an attack surface. | Approve only what you need and review allowances regularly. |
| Fake or malicious tokens | Scammers can deploy lookalike tokens with similar names. | You may buy the wrong asset. | Always verify the contract address on a trusted explorer. |
| Misleading decimals | A token can use unusual decimals or display conventions. | Users can misread balances or prices. | Check the contract metadata and the wallet display carefully. |
| Integration bugs | Some apps do not handle edge cases correctly. | Deposits, transfers, or listings may fail. | Use well-audited protocols and tested wallet software. |
Practical tip: most ERC-20 mistakes happen at the interface layer, not the standard itself. The safest approach is to verify the contract address, inspect allowances, and avoid interacting with copycat tokens.
How to verify an ERC-20 token
You do not need to be a developer to check whether a token is really ERC-20. A few simple checks can save you from a bad swap or a mistaken deposit.
Step 1: Confirm the contract address
Find the token’s official contract address from the project website, documentation, or a trusted explorer. Then compare that address against what your wallet or DEX is showing.
Step 2: Inspect the token on a blockchain explorer
Use an explorer such as BaseScan or Etherscan to check whether the contract is verified, whether the symbol and decimals match expectations, and whether the token has real transfer history. If you want a workflow for reading that data, see how to read on-chain data.
Step 3: Review approvals before using DeFi apps
Before approving a token to a smart contract, check the allowance amount and understand why the app needs it. If the request is larger than necessary, reduce it or use a limited approval.
| Check | What good looks like | Red flag |
|---|---|---|
| Contract address | Matches the official project source. | A copycat address from social media or search results. |
| Token metadata | Name, symbol, and decimals look normal. | Odd decimals or suspicious naming. |
| Verification | Source code is verified on the explorer. | Unverified contract with no clear documentation. |
| Transfer history | Real on-chain activity exists. | Thin or fake-looking activity. |
| Allowance | Approval is limited and intentional. | Unlimited permission for an unknown contract. |
What this means in practice: if a token checks out on-chain, it is much easier for wallets, DeFi protocols, and fund products to support it safely.
ERC-20 in QINV’s portfolio tokens
QINV uses ERC-20 because it fits the product model. Portfolio tokens need to be transferable, wallet-friendly, and compatible with the broader DeFi stack, and ERC-20 provides exactly that foundation.
On Base network, that standardization matters even more because users expect low fees, easy wallet support, and simple interactions. QINV can manage the portfolio strategy while the token remains easy to hold, verify, and move on-chain.
This is one reason non-custodial design is so important. The token standard supports a clean user experience, while the underlying vault structure keeps control on-chain rather than inside a private account system.
Frequently asked questions
What makes ERC-20 tokens different from other crypto tokens?
ERC-20 tokens are fungible and follow a shared interface, which means one unit is interchangeable with another. That makes them suitable for currencies, governance assets, stablecoins, and fund shares. Non-fungible standards like ERC-721 are designed for unique items instead.
Why do most DeFi apps support ERC-20 first?
Most DeFi apps support ERC-20 first because it is the most widely adopted fungible token standard on Ethereum and EVM chains. A single integration can support many assets, which reduces development overhead and improves interoperability.
Are ERC-20 tokens always safe to use?
No. ERC-20 is only a standard, not a guarantee of safety or quality. A token can still be malicious, poorly designed, or paired with unsafe approvals, so you should always verify the contract address and review permissions before interacting.
What does approve mean in ERC-20?
approve gives another address permission to spend a limited amount of your tokens. This is useful for DeFi apps that need to execute swaps, deposits, or vault actions on your behalf. It also creates risk if you grant more permission than you intended.
Why do some ERC-20 balances look strange in wallets?
Balances can look strange because ERC-20 uses decimals, often 18, to represent fractional units. The contract stores integers, and the wallet converts those integers into human-readable amounts. If the decimals are unusual, the displayed balance may look confusing until you check the token metadata.
Can ERC-20 tokens be used on Base network?
Yes. ERC-20 is an Ethereum standard, and it works across EVM-compatible networks like Base. That is one reason Base is attractive for token products: the standard is already familiar to wallets, explorers, and DeFi apps.
Final take
ERC-20 is the shared language behind most fungible crypto assets. It makes tokens easy to transfer, integrate, and verify, which is why it became the default building block for wallets, DeFi apps, and on-chain fund products.
For investors, the real value of ERC-20 is not technical novelty. It is interoperability, liquidity, and compatibility with the tools you already use.
This article is for educational purposes only and does not constitute financial or investment advice.


