> For the complete documentation index, see [llms.txt](https://bloxxa-1.gitbook.io/bloxxa-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bloxxa-1.gitbook.io/bloxxa-guide/technical-guide/markdown/nft-erc-1155.md).

# NFT ERC-1155

NFT ERC-1155: Creation and Management of Multiple Tokens

With **NFT ERC-1155**, you can create both unique and fungible tokens. This standard allows you to manage multiple types of tokens (both fungible and non-fungible) within a single smart contract, making it ideal for tokenizing game items, collectible cards, and other assets that can be either unique or mass-produced.

**How to Create an NFT ERC-1155:**

1. **Fill in the required parameters:**
   * **name** — the token’s name.
   * **symbol** — the token’s symbol.
   * **initialSupply** — the initial supply of tokens.
   * **uri** — the token’s metadata, which can be customized for different token types (e.g., image, description).
   * **owner** — the token owner’s address.
2. **ERC-1155 Contract Functions:**
   * **mint(to, id, amount, data)** — a function to mint tokens, allowing you to create both single NFTs and mass tokens.
     * `to`: the recipient’s address.
     * `id`: the token ID.
     * `amount`: the number of tokens to mint.
     * `data`: additional minting data.
   * **safeTransferFrom(from, to, id, amount, data)** — safely transfers tokens from one user to another.
   * **balanceOf(owner, id)** — returns the number of tokens of a specific type owned by a user.
   * **setApprovalForAll(operator, approved)** — grants an operator the authority to manage all of the owner’s tokens.
   * **uri(id)** — returns the URI for the specific token's metadata.
3. **Administrative Functions:**
   * **createBatch(to\[], ids\[], amounts\[], data)** — allows minting multiple types of tokens in one transaction.
   * **burn(from, id, amount)** — destroys tokens of a specific type from a user’s balance.
   * **setURI(newURI)** — changes the URI for the metadata of all tokens in the contract.

This standard is useful for gaming, collectibles, and applications where managing multiple token types in one contract is essential.
