ERC-20 vs ERC-721 vs ERC-1155 Token Standards

ERC-20 vs ERC-721 vs ERC-1155: Token Standards

Beginner
Smart Contracts
• ~8 min read
• Updated: 08/08/2025


1) Why token standards exist

Before Ethereum token standards, every token contract was different, forcing wallets and exchanges to custom-integrate
each one. ERC (Ethereum Request for Comments) standards define common interfaces so all compliant tokens work with the
same infrastructure (wallets, dapps, marketplaces) without extra coding.

2) ERC-20 — fungible tokens

ERC-20 is the most widely used token standard for fungible assets,  meaning every token unit is identical and interchangeable.
Think currencies, governance tokens, and stablecoins.

  • Key functions: balanceOf, transfer, approve, transferFrom, allowance.
  • Decimals: Usually 18, but can be set differently.
  • Examples: USDC, DAI, UNI, LINK.

ERC-20 tokens live in a contract’s internal ledger; users don’t “hold” the tokens in their wallet — they hold an account balance
in that contract.

3) ERC-721 — non-fungible tokens (NFTs)

ERC-721 defines non-fungible tokens: each token has a unique tokenId and can represent ownership of a
specific item, digital art, in-game asset, domain name, membership pass.

  • Key functions: ownerOf, transferFrom, safeTransferFrom, tokenURI.
  • Metadata: tokenURI points to JSON describing the NFT (image, attributes, etc.).
  • Examples: Bored Ape Yacht Club, ENS domains.

Unlike ERC-20, each ERC-721 token is unique and can’t be split into decimals.

4) ERC-1155 — multi-token standard

ERC-1155 merges the best of ERC-20 and ERC-721. A single contract can hold multiple token types  both fungible and non-fungible
using a single interface.

  • Batch operations: send multiple token types in one transaction (gas-efficient).
  • Flexible IDs: fungible items might share an ID; unique items have their own.
  • Examples: gaming assets (gold coins = fungible, swords = unique).

This reduces deployment cost and complexity for projects with multiple asset types.

5) Feature comparison table

Feature ERC-20 ERC-721 ERC-1155
Fungible Yes No Yes
Non-fungible No Yes Yes
Batch transfer No No Yes
Gas efficiency Standard Standard High (batching)

6) When to use which

  • ERC-20: currencies, points, governance tokens.
  • ERC-721: unique art, collectibles, identity tokens.
  • ERC-1155: games, marketplaces, multi-asset dapps.

7) Developer notes

  • Use OpenZeppelin contracts: audited, secure, and widely adopted.
  • Follow EIP specs strictly to ensure compatibility.
  • For upgrades, consider proxy patterns or minimal-proxy clones.
  • Test with tools like Hardhat or Foundry before mainnet deploy.

8) Further learning & resources

← Intro to Multi-Sig & Smart Wallets
Anatomy of an Ethereum Transaction →