ERC-20 vs. ERC-721 token differences

Jan 18, 2026, 11:22 PM|ASK

Messages

1

Errors

0

~

Traces

7

LLM Cost

$0.0015

**ERC‑20 vs. ERC‑721** | Aspect | ERC‑20 | ERC‑721 | |--------|--------|----------| | **Token type** | Fungible (each token is interchangeable with any other) | Non‑fungible (each token is unique and distinguishable) | | **Standard purpose** | General‑purpose cryptocurrency or utility token on Ethereum | Unique digital assets such as collectibles, NFTs, game items, deeds | | **Balance representation** | Single integer/decimal balance per address (e.g., 100 USDT) | Mapping of token IDs to owners; an address can own many distinct IDs | | **Transfer function** | `transfer(address to, uint256 amount)` – moves a quantity of tokens | `transferFrom(address from, address to, uint256 tokenId)` – moves a specific token ID | | **Metadata** | Optional, usually via separate contracts (e.g., name, symbol, decimals) | Built‑in metadata (tokenURI) that points to JSON describing the individual asset | | **Use‑cases** | Stablecoins, governance tokens, utility tokens, ICOs | Art NFTs, virtual land, in‑game items, certificates, identity tokens | | **Interoperability** | Widely supported by wallets, exchanges, DeFi protocols | Supported by NFT‑aware wallets, marketplaces (OpenSea, Rarible), gaming platforms | | **Supply** | Often large and divisible (e.g., 18‑decimal precision) | Fixed per token ID; total supply equals number of minted IDs | | **Smart‑contract functions** | `totalSupply()`, `balanceOf(address)`, `allowance()`, `approve()` | `ownerOf(uint256 tokenId)`, `balanceOf(address)`, `tokenURI(uint256)` | **Key takeaway:** - **ERC‑20** tokens are interchangeable and behave like traditional money—one token is the same as any other. - **ERC‑721** tokens are unique, each with its own identifier and metadata, making them ideal for representing distinct digital assets (NFTs).

Jan 18, 11:22:15 PMView Trace