# ERC-1155: many token types and batch transfers in one contract

ERC-1155 lets one contract manage multiple token types, each identified by an ID with account balances. Those types can represent interchangeable items, unique items or a mixture. It supports batched transfers and balance queries. The interface alone does not guarantee scarcity, fixed metadata or a particular game or asset right.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md)

Canonical: https://degreesofsatoshi.com/encyclopedia/erc-1155-multi-tokens/
Published: 2026-10-02
Substantively modified: 2026-10-02
Independently verified by an automated reviewer: 2026-10-02T15:10:23.134Z

AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied.

## Key facts

- **Accounting:** Balances are tracked for account-and-token-ID pairs ([ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md))
- **Batching:** Several IDs and amounts can move in one operation ([ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md))
- **Permission:** Operator approval can cover all the owner’s types in that contract ([ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md))

## One contract can describe a whole inventory

ERC-1155 associates balances with token IDs. A particular ID might represent many identical tickets, while another represents a unique item with a supply of one. The application decides how each type is issued and used.

This differs from ERC-721’s single-owner-per-token-ID model. With ERC-1155, more than one account can hold a quantity of the same ID when the implementation makes that type fungible.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md); [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md)

## Example: transfer two potions and one sword together

In an illustrative game, ID 10 represents potions and ID 20 represents swords. An account holding five potions and one sword can batch-transfer quantities two and one to another account.

After a successful transfer, the sender holds three potions and no swords; the recipient’s corresponding balances increase. The operation records IDs and quantities together, avoiding ambiguity about which amount belongs to which type.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md)

## Batching changes the interface, not the need for permission

The standard specifies receiving checks for contract destinations and both single and batch transfer events. Software needs to handle the relevant event shape rather than assuming every transfer log describes one item.

Its operator approval is broad within that contract. Approving an operator is not merely acknowledging that a game can display an inventory; it can authorize that operator to move the owner’s token types according to the contract rules.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md); [Interacting with smart contracts](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/interacting/index.md)

## The application supplies scarcity and real-world meaning

A token type is not inherently scarce just because it uses a multi-token standard. Inspect issuance and administrative rules before drawing conclusions about the maximum number of items.

Metadata may point to external descriptions or media. The standard does not establish that a game will remain available or that an item represents a legally enforceable outside claim.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md); [Introduction to smart contracts](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/index.md)

## Questions

### Can ERC-1155 represent both fungible tokens and NFTs?

Yes. A single contract can manage many types, and an implementation can give one ID many interchangeable units while another has a unique unit.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md)

### Does a batch transfer always cost less?

Batching can share overhead, but the cost depends on the implementation and operation. The standard does not promise a universal fee reduction for every case.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md); [Gas and fees](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/gas/index.md)

### Does an ERC-1155 approval apply to only one item?

The standard operator approval applies across the owner’s token types in that contract. It should not be confused with an approval for just one chosen ID.

Evidence: [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md)

## Claims and scope

### erc-1155-multi-tokens-quick-answer

ERC-1155 lets one contract manage multiple token types, each identified by an ID with account balances. Those types can represent interchangeable items, unique items or a mixture. It supports batched transfers and balance queries. The interface alone does not guarantee scarcity, fixed metadata or a particular game or asset right.

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### erc-1155-multi-tokens-fact-accounting

Accounting: Balances are tracked for account-and-token-ID pairs

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### erc-1155-multi-tokens-fact-batching

Batching: Several IDs and amounts can move in one operation

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

### erc-1155-multi-tokens-fact-permission

Permission: Operator approval can cover all the owner’s types in that contract

Scope: {"collection":"ethereum","dataAsOf":null,"blockHeight":null}

## Sources

- [ERC-1155: Multi Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-1155.md) — Ethereum Request for Comments. Defines per-ID balances, batched transfers, receiver checks and operator-wide approval. Locator: Abstract; specification; safe transfer rules; metadata; approval. Retrieved: 2026-10-02T14:35:55.247570+00:00.
- [ERC-721: Non-Fungible Token Standard](https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md) — Ethereum Request for Comments. Defines token-specific ownership, transfer approvals, metadata pointers and receiving-contract checks. Locator: Specification; metadata extension; transfer and operator methods. Retrieved: 2026-10-02T14:35:55.241155+00:00.
- [Interacting with smart contracts](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/interacting/index.md) — ethereum.org contributors. Supports read-only calls, state-changing transactions, ABI decoding and limits of simulation. Locator: Reading; writing; understanding contract ABIs; events and logs; simulating. Retrieved: 2026-10-02T14:35:40.398262+00:00.
- [Introduction to smart contracts](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/index.md) — ethereum.org contributors. Supports contract code/state, deterministic rules, illustrative vending logic, external-data limits and multisignature access. Locator: What is a smart contract; a digital vending machine; limitations; multisig. Retrieved: 2026-10-02T14:35:40.398357+00:00.
- [Gas and fees](https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/gas/index.md) — ethereum.org contributors. Supports gas units, ETH/gwei units, base/priority fees, resource limits and charges for executed failed transactions. Locator: How are gas fees calculated; base fee; gas limit. Retrieved: 2026-10-02T14:35:40.393022+00:00.

## Revision history

- 2026-10-02: First publication after primary-source research and independent automated verification.

## Cite this entry

Degrees of Satoshi editorial project. “ERC-1155: many token types and batch transfers in one contract.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/erc-1155-multi-tokens/
