Ethereum Token Standards
ERC-20 vs ERC-721: Tokens vs NFTs
The key difference between ERC-20 and ERC-721 is fungibility. ERC-20 tokens are interchangeable. ERC-721 tokens are unique. Here's everything you need to know to pick the right standard.
One-sentence answer: Use ERC-20 when every unit of your token is equal and interchangeable (like money). Use ERC-721 when each token needs to be unique and distinguishable (like a piece of art or a property deed).
At a Glance
| ERC-20 | ERC-721 (NFT) | |
|---|---|---|
| Fungibility | Fungible - all units identical | Non-fungible - each token unique |
| Token ID | No individual ID - tracked by balance | Each token has a unique tokenId |
| Divisibility | Yes - up to 18 decimal places | No - whole units only |
| Typical supply | Millions to trillions of units | Tens to thousands of unique tokens |
| Metadata | Optional token-level metadata | Required per-token metadata (name, image, attributes) |
| Primary use cases | Currencies, governance, utility, rewards | Art, collectibles, gaming assets, identity |
| DEX tradeable | Yes (Uniswap, Curve, etc.) | No DEX - traded on NFT marketplaces (OpenSea) |
| Key interfaces | transfer, approve, allowance, balanceOf | transferFrom, ownerOf, tokenURI, safeTransferFrom |
| Notable examples | USDC, LINK, UNI, SHIB, PEPE | CryptoPunks, Bored Apes, ENS names |
ERC-20: Fungible Tokens
ERC-20 is the standard for fungible tokens - tokens where every unit is identical. If you hold 100 USDC and I hold 100 USDC, our tokens are worth the same and behave identically. There is nothing special about any individual unit.
This makes ERC-20 perfect for anything that acts like money or a tradeable asset:
- Stablecoins - USDC, DAI, USDT
- Governance tokens - UNI, AAVE, COMP (holders vote on protocol changes)
- Utility tokens - LINK (Chainlink oracle payments), GRT (The Graph queries)
- Meme tokens - SHIB, PEPE, DOGE (ERC-20 variant)
- Reward tokens - loyalty points, in-game currencies, platform rewards
ERC-20 tokens are tradeable on DEXes like Uniswap and listed on centralised exchanges (Coinbase, Binance). Their price is determined by market supply and demand.
ERC-721: Non-Fungible Tokens (NFTs)
ERC-721 tokens - commonly called NFTs (Non-Fungible Tokens) - are unique. Each token has its own tokenId, and no two tokens in a collection are interchangeable. Token #1 is different from Token #2, even if they look similar.
Each ERC-721 token links to a tokenURI - a URL pointing to metadata (JSON file) that describes the token's name, image, and attributes. This is how NFTs display their artwork and traits.
Common use cases:
- Digital art - CryptoPunks, Bored Ape Yacht Club
- Domain names - ENS (.eth names)
- Gaming assets - unique weapons, characters, land parcels
- Membership passes - event tickets, club access
- Real-world asset representation - property deeds, certificates
NFTs are traded on dedicated marketplaces like OpenSea and Blur, not on DEXes like Uniswap.
ERC-1155: The Hybrid Standard
ERC-1155 combines both standards. A single contract can hold multiple fungible tokens (like gold coins and silver coins in a game) and multiple non-fungible items (unique swords) simultaneously. It is popular in blockchain gaming because it reduces gas costs by batching multiple token types in one contract. For most token launches, you won't need ERC-1155 - use ERC-20 for fungible tokens and ERC-721 for NFTs.
Which Standard Should You Use?
Use ERC-20 if…
Every unit should be equal and interchangeable. You want your token tradeable on Uniswap. You're creating a currency, governance token, utility token, or meme coin. This is the most common token standard.
Use ERC-721 if…
Each item should be provably unique. You're creating collectibles, digital art, membership passes, or gaming assets where individual identity matters. You'll need an NFT marketplace, not a DEX.
Ready to launch your ERC-20 token?
Deploy a fungible token on Ethereum in under 5 minutes - no coding required.