ERC-721 vs. ERC-1155: Comparing Ethereum’s NFT Token Standards

ERC-721 and ERC-1155 are the two token standards behind almost every NFT on Ethereum. ERC-721 gives each token its own unique ID inside a dedicated contract, which is why it’s the default for one-of-a-kind art and PFP collections. ERC-1155 lets a single contract manage thousands of token types at once, mixing unique items with stackable ones, which is why game studios and large collections tend to reach for it instead.

The difference isn’t cosmetic. Picking the wrong standard for a 10,000-item drop or a game inventory can mean paying for thousands of separate contract deployments, or moving items one transaction at a time when a single batch call would do. This guide covers what each standard actually is, why both exist, who uses them, and where the real technical differences show up once you’re past the basics.

What Is ERC-721?

ERC-721 is the token standard that made an NFT an NFT. It’s a set of functions a smart contract must implement so every token it mints gets a unique ID, a traceable owner, and a transfer history anyone can verify on-chain.

Non-fungible token (NFT): a blockchain-based token that represents a unique, non-interchangeable asset. Unlike a currency, where one unit is identical to another, each NFT has its own ID and can carry its own metadata. See the official ERC-721 specification for the exact interface.

The standard traces back to CryptoKitties, the 2017 game that let players breed and trade digital cats and, in the process, congested Ethereum badly enough to make headlines. Developer Dieter Shirley, CryptoKitties’ technical lead, went on to co-author the formal EIP-721 specification with William Entriken, Jacob Evans, and Nastassia Sachs, published on January 24, 2018. Its own summary describes it simply as “a standard interface for non-fungible tokens, also known as deeds.”

Mechanically, an ERC-721 contract tracks ownership through two core functions. ownerOf(tokenId) returns the wallet that holds a specific token, and balanceOf(owner) returns how many distinct tokens that wallet holds. Moving a token calls transferFrom or the safer safeTransferFrom, which checks that the receiving address can actually handle NFTs before completing the transfer — and every one of those calls touches exactly one token ID at a time, a detail that matters once volume goes up.

What Is ERC-1155?

ERC-1155 is the standard that lets one smart contract hold many token types, fungible and non-fungible alike, instead of deploying a new contract for every collection. A single ERC-1155 contract might track a unique legendary sword alongside 50,000 identical health potions, with both living under the same address.

Semi-fungible token: a token type where the same ID can behave like a fungible asset (many interchangeable copies, such as in-game currency) or a non-fungible one (a supply of exactly one). ERC-1155 supports both inside a single contract, per the ethereum.org standards page.

The standard came out of Enjin’s work building blockchain games, alongside contributors from Horizon Games and The Sandbox. Witek Radomski, Enjin’s co-founder and the standard’s lead author, has explained the motivation plainly: “the existing ERC-20 and ERC-721 token standards were not flexible enough for the kinds of game items we envisioned,” he said, describing why the team built something new instead of stretching ERC-721 to fit. The formal EIP-1155 specification, co-authored with Andrew Cooke, Philippe Castonguay, James Therien, Eric Binet, and Ronan Sandford, followed on June 17, 2018.

The EIP text spells out the problem directly: standards “like ERC-20 and ERC-721 require a separate contract to be deployed for each token type or collection,” which “places a lot of redundant bytecode on the Ethereum blockchain.” For a studio minting thousands of item types, that redundancy adds up fast in both deployment cost and complexity.

Why Do Both Standards Still Exist?

They solve different problems. ERC-721 optimizes for a clean one-to-one link between a token and its identity. ERC-1155 optimizes for scale — one contract handling many token types — at the cost of that dedicated, per-collection contract.

That trade-off is why provenance-heavy projects still default to ERC-721: a dedicated contract address is part of what collectors and marketplaces treat as a trust signal for fine art and blue-chip collections. Scale-heavy projects lean the other way, and batch operations are where that choice pays off. An ERC-1155 contract can move several token types in one transaction through safeBatchTransferFrom, while ERC-721 only exposes single-token transfers.

The gap in practice is substantial. Horizon Games, one of the studios that helped develop ERC-1155, reported gas savings of 80–90% over individual transfers using an optimization it calls Balance Packing, and clocked transfer speeds above 155 assets per second — figures the team has published on Enjin’s blog. The Sandbox, another early adopter, used the same batching to mint more than 1,500 tokens in a single block.

Who Actually Uses ERC-721 and ERC-1155?

Artists and collectors gravitate to ERC-721; game studios and high-volume projects gravitate to ERC-1155. The split tracks closely with what’s actually being built:

  • 1-of-1 digital art and PFP collections almost always use ERC-721. A dedicated contract per collection, with each token permanently unique, matches how collectors and marketplaces think about provenance.
  • Game studios lean on ERC-1155 for in-game economies — weapons, skins, crafting materials, and currency that need to exist in large, varying quantities alongside genuinely unique items.
  • Ticketing and membership projects can go either way, depending on whether every ticket needs to be individually unique or large batches of identical-tier passes make more sense as one token ID.
  • NFT marketplaces support both today. OpenSea opened dedicated ERC-1155 support on September 11, 2019, when the network already held 208,319 semi-fungible assets and 17 live games were minting through mainnet ERC-1155 contracts, according to OpenSea’s own announcement.

That last point is worth sitting with. ERC-1155 wasn’t a niche experiment that marketplaces eventually tolerated — gaming projects were already running it in production before marketplace support for it even existed.

Key Technical Differences Between the Two Standards

The table below covers where ERC-721 and ERC-1155 diverge once you’re past the definitions. Each row lines up with a section covered in more detail further down.

AspectERC-721ERC-1155
Tokens per contractOne collection per contractUnlimited token types per contract
FungibilityAlways non-fungibleFungible, non-fungible, or both
Balance checkbalanceOf(owner) — count of tokensbalanceOf(owner, id) — count of one token type
TransfersOne token per transactionBatch transfers via safeBatchTransferFrom
MetadataOne URI per token IDOne URI template shared across all IDs
Typical deployment costHigher per collection (new contract each time)Lower per item at scale (one contract, many IDs)
Best fitUnique, high-provenance assetsHigh-volume or mixed-supply items

Metadata and Storage

ERC-721 typically gives each token its own metadata URI, set individually or derived from the token ID. ERC-1155 instead defines a single URI template with an {id} placeholder that clients substitute at query time, so one string like https://example.com/metadata/{id}.json serves every token type in the contract. That shared template is part of why ERC-1155 collections deploy cheaper — there’s less unique data written on-chain per item.

Royalties Work the Same Way on Both

Neither standard bakes in creator royalties on its own. Both typically add them through ERC-2981, an optional extension that lets a contract advertise a royalty percentage for marketplaces to read. Worth knowing: ERC-2981 signals the intended royalty — it doesn’t force a marketplace to pay it, which is why royalty enforcement still varies across platforms regardless of which token standard a collection uses.

Common Mistakes When Choosing a Standard

Picking ERC-721 for a large gaming catalog is the most common misstep. Deploying a new contract for every item type, then moving each one individually, turns what should be a handful of batch transactions into hundreds of separate ones. Our guide to minting an NFT breaks down what that per-transaction cost actually looks like across Ethereum, Polygon, and other chains.

The opposite mistake shows up in fine-art drops. Using ERC-1155 for a small, high-value 1-of-1 collection works technically, since a token ID with a supply of one is still unique. But some collectors and marketplaces still treat a dedicated ERC-721 contract as the stronger provenance signal for blue-chip pieces, so the choice can affect perceived value as much as function.

Custom implementations carry their own risk, too. Gas-saving tricks like Balance Packing pack multiple token balances into a single storage slot, which is efficient but adds logic that’s easy to get subtly wrong. Before that kind of custom contract touches real funds, an independent security audit is worth treating as required rather than optional — the same rule that applies to any custom contract built on Ethereum.

How Do You Check Who Owns a Token?

Verifying ownership means calling the contract directly — ownerOf(tokenId) for ERC-721, or balanceOf(owner, id) for ERC-1155 — through the standard eth_call JSON-RPC method rather than a full transaction. Wallets, marketplaces, and explorers run this constantly; every time a page shows who owns an NFT, something just made that call.

Running the node behind that call is the part most teams outsource rather than build. A provider such as NOWNodes offers RPC access to Ethereum and 120-plus other networks, so a marketplace can check ownership or balances without syncing and maintaining its own Ethereum client. That matters beyond Ethereum itself, too: both standards get reused with near-identical code on other EVM-compatible chains, including BNB Smart Chain and Polygon, often under names like BEP-721 and BEP-1155, since those networks run the same virtual machine the originals were written for.

Conclusion

The choice between ERC-721 and ERC-1155 comes down to one question: does this project need a dedicated contract per unique item, or one contract that can handle many item types and quantities at once? Single, high-provenance drops still lean ERC-721. Games, large collections, and anything minting or moving items in bulk lean ERC-1155, largely because of the gas savings batch transfers make possible.

Neither standard is being phased out, and plenty of serious projects use both side by side — an ERC-721 contract for a flagship collection, an ERC-1155 contract for everything that spins off it. Match the standard to how the tokens actually get created and moved, not the other way around.

FAQ

Can a Single Project Use Both ERC-721 and ERC-1155?

Yes. It’s common for a project to issue a flagship 1-of-1 collection under ERC-721 while handling companion items — badges, currency, crafting materials — through a separate ERC-1155 contract.

Is ERC-1155 Replacing ERC-721?

No. Adoption has grown steadily since OpenSea added ERC-1155 support in 2019, but ERC-721 remains the standard of choice for unique, high-value collections where a dedicated contract matters to collectors.

Does Deploying an ERC-1155 Contract Cost More Than ERC-721?

Deploying either contract once costs roughly the same. The savings show up afterward: minting or transferring many tokens through one ERC-1155 contract costs far less in total gas than deploying and moving the equivalent number of separate ERC-721 tokens.

Can an Existing ERC-721 Collection Be Converted to ERC-1155?

Not directly. The token IDs, ownership records, and contract address are all tied to the original ERC-721 contract, so a switch means launching a new ERC-1155 contract and migrating holders, not upgrading the collection in place.

Do Wallets Support ERC-1155 the Same Way They Support ERC-721?

Most modern wallets and marketplaces support both, but ERC-1155 has had less time to become the default. Older or simpler wallet software occasionally displays semi-fungible balances less clearly than one-of-one ERC-721 tokens.

Which Standard Costs Less in Gas for a Single Mint?

For minting one token, the difference is small either way. The gap opens up at volume — batch minting or transferring many ERC-1155 tokens in one call is where the standard’s gas savings actually show up, not in a single isolated mint.