Mint multiple NFTs

/v3/nft/mint/batch

2 credits per API call

Create multiple NFT Tokens and transfer them to destination account. Create and transfer any NFT tokens from smart contract defined in contractAddress.

This API is supported for the following blockchains:

  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • TRON
  • Flare
  • Cronos
  • Base
  • Avalanche
  • Fantom
  • Optimism

This operation works in two modes.

First mode works just like other NFT endpoints. Every time the funds are transferred, the transaction must be signed with the corresponding private key.
No one should ever send it's own private keys to the internet because there is a strong possibility of stealing keys and loss of funds. In this method, it is possible to enter privateKey
or signatureId. PrivateKey should be used only for quick development on testnet versions of blockchain when there is no risk of losing funds. In production,
Tatum KMS should be used for the highest security standards, and signatureId should be present in the request.

Alternatively, using the Tatum client library for supported languages.

Second mode enables you to mint on any custom NFT ERC-721 smart contract, on which specified minter address is approved as a minter. You don't specify private key or signatureId, only minter address, from which the NFT will be minted.

It means you perform mint multiple NFT request with following body:

{
   "to": ["0x80d8bac9a6901698b3749fe336bbd1385c1f98f2"],
   "url": ["ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj"],
   "tokenId": ["9876541124516"],
   "contractAddress":"0x3cbb48f740595ed846abb641adfcd9f04588348d",
   "minter": "0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5",
   "chain": "MATIC"
}

The blockchain fee of the performed transaction is paid from the address connected with built-in private key and is debited in form of credits. The credits are debited only if NFT mint requests are performed with paid API key plan.
We transform fee to the credits in accordance to the rates provided by the Tatum.
If you want to batch mint on ERC-721 contract which is not deployed via Tatum API, your smart contract must contain this method:

mintMultiple(address[] to, uint256[] tokenId, string[] uri): boolean

You can use addresses specified in the bellow table to be used as a minter.

ChainTestnet addressMainnet Address
MATIC0x542b9ac4945a3836fd12ad98acbc76a0c8b743f50xcf9e127455d28e7362380aec1b92ddee8200b295
BSC0xc16ae5e8c985b906935a0cadf4e24f04005318830xcf9e127455d28e7362380aec1b92ddee8200b295
ONE0x8906f62d40293ddca77fdf6714c3f63265deddf00xcf9e127455d28e7362380aec1b92ddee8200b295
ETH0x53e8577C4347C365E4e0DA5B57A589cB6f2AB8480xcf9e127455d28e7362380aec1b92ddee8200b295
CELO0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F0xcf9e127455d28e7362380aec1b92ddee8200b295
KLAY0x80d8bac9a6901698b3749fe336bbd1385c1f98f20xcf9e127455d28e7362380aec1b92ddee8200b295

If there are not enough coins on any testnet address, feel free to send coins there.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string
enum

Type of testnet in query. The default type is based on the currency: ethereum-sepolia for ETH, and flare-coston for FLR. This parameter is valid only for ETH or FLR invocations with a testnet API Key. For mainnet API Key, this value is ignored. The currency/chain must be specified to determine the applicable set of testnet types.

Allowed:
Body Params
string
enum
required

The blockchain to work with

Allowed:
to
array of strings
required

Blockchain address to send NFT token to.

to*
tokenId
array of strings
required

ID of token to be created.

tokenId*
string
required
length between 43 and 42

Address of NFT minter, which will be used to mint the tokens. From this address, transaction fees will be deducted.

url
array of strings
required

The URL pointing to the NFT metadata; for more information, see EIP-721

url*
string
required
length between 42 and 42

Address of NFT token

string
enum

(Celo only) The currency in which the transaction fee will be paid

Allowed:
Headers
string
enum

Type of testnet in header. The default type is based on the currency: ethereum-sepolia for ETH, and flare-coston for FLR. This parameter is valid only for ETH or FLR invocations with a testnet API Key. For mainnet API Key, this value is ignored. The currency/chain must be specified to determine the applicable set of testnet types.

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json