ERC-1155: Packing a Whole Game Inventory into One Transfer
A sword and a stack of potions do not behave like the same kind of asset. ERC-1155 gave them a shared contract and a way to travel together, without making every item unique.

3-Minute Fast Briefing
- The ParadoxERC-1155 can track several token types, each with its own balances, inside one contract.
- The Turning PointA batch pairs item IDs with quantities and sends them from one address to another.
- The LegacyA common transfer interface does not guarantee permanent artwork, game compatibility or limited supply.
Chronological Timeline
The proposal brings fungible and non-fungible token types into one interface.
Co-author Witek Radomski announces the standard’s finalization after community development.
The inventory did not fit one category
Imagine handing another player a bag containing one special sword and three identical potions. The sword matters as an individual object; the potions matter as a quantity. This is an illustration, not a record of a particular game trade. It is also a useful way into ERC-1155: a token interface designed to hold different kinds of assets together instead of treating every inventory as a single currency or a collection of unique objects.[1]
The proposal was created on June 17, 2018. A year later, Enjin’s Witek Radomski announced that it had reached Final status. He described work at Enjin dating to 2017, followed by a community standardization effort. The specification names six authors. What began with game-item requirements became a shared interface that wallets and applications could implement, rather than a format reserved for one game.[1][2]
An ID tells you what; a balance tells you how many
An ERC-1155 contract keeps a balance for each account and token ID. In our imaginary inventory, one ID can stand for a potion type with many interchangeable copies, while another can represent a sword whose total supply is restricted to one by the implementation. Merely assigning an ID does not make an item rare. Its issuance rules still determine whether more copies can appear.[1]
This does not mean that ERC-721 needed a new contract for every individual NFT. An ERC-721 collection can already contain many distinct tokens in one contract. The difference is that ERC-1155 lets an ID identify a type with a quantity, so fungible and non-fungible assets can share the same accounting structure. The question changes from “which unique token?” to “which type, and how many?”.[1]
The bag travels as a batch
The standard’s safeBatchTransferFrom operation takes lists of IDs and corresponding quantities. One sender can move the sword and three potions to one recipient in a single call. This can reduce the overhead of separate transactions for different item types. It is not automatically a two-way trade: payment or an exchange of assets in the opposite direction requires additional application logic.[1]
Receiving contracts also participate. Under the standard’s normal safe-transfer rules, the receiving contract must return the expected acceptance value; rejection makes the transaction revert. That handshake helps catch incompatible recipients. It is not a guarantee that the recipient can later send the items back out: OpenZeppelin’s implementation guide explicitly tells developers to add outgoing-transfer functionality too.[1][3]
Ownership is only one part of the game
ERC-1155 standardizes balances, transfers and their event records, not a sword’s combat behavior. Metadata can point to a separate JSON document containing the name, image and properties. The specification allows that separation; it does not require every picture or game rule to live permanently on-chain. Another game must still decide whether it recognizes the item and what the item does there.[1]
There is a similarly important boundary around permission. The standard setApprovalForAll operation authorizes an operator over a holder’s tokens in that contract, rather than just one chosen potion. Convenience comes with a scope that the interface must make understandable. ERC-1155’s enduring contribution is a common grammar for a mixed inventory. The game, the imagery and the decision to grant control still need their own rules.[1]
Connected Stories in this Universe
Explore the chain reaction of historical breakthroughs, blunders, and legends.

The $170,000 Digital Cats That Broke Ethereum: The 2017 CryptoKitties Mania
Breeding digital cats, $170K Dragon purchases, and a 25% traffic spike that paralyzed global Ethereum transactions — the legendary CryptoKitties crisis.
Read story →
CryptoPunks: The Owner Was On-Chain. Where Was the Image?
A copied portrait did not change its owner. But recording ownership was only part of keeping CryptoPunks on Ethereum.
Read story →Sources & References
- [1]Source 1: ERC-1155 specification: balances, batches, receivers and metadataEthereum Improvement Proposals · 2018-06-17Accessed 2026-09-22
- [2]Source 2: Witek Radomski announces Final status in 2019Enjin · 2019-06-17Accessed 2026-09-22
- [3]Source 3: OpenZeppelin: implementing items and receiver contractsOpenZeppelinAccessed 2026-09-22