Solidity · Beginner

ERC-20 vs ERC-721 vs ERC-1155: which token standard should you use?

The three main EVM token standards compared: fungible ERC-20, non-fungible ERC-721, and multi-token ERC-1155. What each is for, how they differ in gas and interface, and how to pick.

By , founder of Monsmith5 min read
ERC-20ERC-721ERC-1155
FungibleYesNoBoth
UnitAmountToken IDID + amount
Batch transferNoNoYes
Typical useCurrency, governanceCollectibles, passesGame items, editions
MetadataNonePer tokenPer ID

ERC-20: interchangeable units

Every unit equals every other unit. Balances are a mapping from address to amount. Use it for currencies, stablecoins, governance tokens, points. Monsmith's ERC-20 tutorial deploys one to Monad testnet.

ERC-721: one of a kind

Each token has a unique ID and an owner. Metadata (image, attributes) is a URI per token. Use it for anything where identity matters: art, membership, deeds, unique game characters.

ERC-1155: many types in one contract

One contract manages many token IDs, each with its own supply. ID 1 might have a supply of a million (gold coins); ID 2 a supply of one (a legendary sword). Batch transfers move several IDs in one transaction, which is much cheaper. Use it for games and for editions.

On Monad specifically

All three deploy unchanged. For parallel execution, ERC-20 and ERC-721 transfers between different parties are independent and run concurrently. ERC-1155 batch operations touch more slots per transaction, so the per-transaction work is larger but there are fewer transactions.

Frequently asked questions

Can an NFT be ERC-1155?
Yes. An ERC-1155 ID with a supply of one behaves as a non-fungible token.
Which is cheaper, ERC-721 or ERC-1155?
For single mints they are similar. For minting or transferring many items at once, ERC-1155's batch functions are significantly cheaper.

Try it in Monsmith

Free, in the browser, no account. Compile, audit, profile, and deploy to Monad.

Open the studio