Skip to main content

ERC721 - Batch Mint NFTs

You can utilize these features of the SDK if your contract implements the ERC72BatchMintable standard.

Mint Many unique NFTs

Provide an array of metadata objects to mint many unique NFTs in a single transaction to a single recipient.

Gas Usage

This method does not provide any significant gas savings over minting each NFT individually.

If you are looking to batch upload and then have other wallets mint the NFTs, see ERC721 - Lazy Minting.

// Address of the wallet you want to mint the NFT to
const walletAddress = "{{wallet_address}}";

// Custom metadata of the NFTs you want to mint.
const metadatas = [{
name: "Cool NFT #1",
description: "This is a cool NFT",
image: fs.readFileSync("path/to/image.png"), // This can be an image url or file
}, {
name: "Cool NFT #2",
description: "This is a cool NFT",
image: fs.readFileSync("path/to/other/image.png"),
}];

const tx = await contract.erc721.mintBatchTo(walletAddress, metadatas);
const receipt = tx[0].receipt; // same transaction receipt for all minted NFTs
const firstTokenId = tx[0].id; // token id of the first minted NFT
const firstNFT = await tx[0].data(); // (optional) fetch details of the first minted NFT

This snippet is for v3 of the SDK. Learn how to upgrade.

View in React SDK Documentation