import "@thirdweb-dev/eip/ERC1155.sol"
import "@thirdweb-dev/contracts/extension/multicall.sol";
import "@thirdweb-dev/contracts/extension/interface/IMintableERC1155.sol";

Enable minting multiple NFTs at once in a single transaction by Implementing ERC1155, IMintableERC1155, and Multicall extensions.

This is an extension which is detectable in the dashboard if the smart contract implements the ERC1155, Multicall and ERC1155Mintable extensions.

View on GitHub


This is an example smart contract which will have ERC1155BatchMintable detected on it in the dashboard. It also highlights the functions which can be (optionally) overridden to add custom logic.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/eip/ERC1155.sol";
import "@thirdweb-dev/contracts/extension/interface/IMintableERC1155.sol";
import "@thirdweb-dev/contracts/extension/Multicall.sol";
contract Contract is ERC1155, IMintableERC1155, Multicall {
string memory _name,
string memory _symbol
function mintTo(
address to,
uint256 tokenId,
string calldata uri,
uint256 amount
) external override {
// Your custom implementation here

Base Contracts Implementing This Extension