NFT - How to Mint NFTs

To mint an NFT, first you need a Collection to which said NFT must belong. Once you have the Collection SmartContract, minting NFTs just takes a few steps.

Minting an NFT

  1. Select the network you want the NFTs to exist.
  2. Have ready a Collection (SmartContract) for your NFT to belong.
  3. Have ready an address with its privatekey with native assets. Required to pay for the minting.
    1. If a Minter address was added to the Collection SmartContract, Tatum pays on your behalf. Your account will be charged accordingly.
  4. Get ready the metadata JSON file.
  5. Mint the NFT.

Example request to mint an NFT (CELO Testnet)

Step_1: Upload the Image and the Metadata JSON file

//First upload the NFT image
curl --location --request POST '' \
--header 'x-api-key: {API_KEY}' \
--form 'file=@"/Users/{username}/Documents/tatum_nft_example.jpeg"'
    "ipfsHash": "bafkreif6ifegpj74w6biowzzbswqwvg6c5t6hhtwsrmpxhweg6yn7zxm7e"

//After that, create a JSON file and upload this new file
//File format:
//  {
//    "name": "Tatum NFT for Diagram example",
//    "description": "This is an NFT minted as an example.",
//    "image": "ipfs://bafkreif6ifegpj74w6biowzzbswqwvg6c5t6hhtwsrmpxhweg6yn7zxm7e"
//  }

curl --location --request POST '' \
--header 'x-api-key: {API_KEY}' \
--form 'file=@"/Users/{username}/Documents/Tatum_NFT_example.json"'
    "ipfsHash": "bafkreiebg3ugqtumak2ueyf2j2sbggt47hxjvbozkxbgyssebufmbgp3fa"

Step_2: Mint the NFT

curl --location --request POST '' \
--header 'x-api-key: {API_KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chain": "CELO",
"tokenId": "001",
"to": "0x40245fa66666508e4121f4400819eef4b08ac4bf",
"url": "ipfs://bafkreiebg3ugqtumak2ueyf2j2sbggt47hxjvbozkxbgyssebufmbgp3fa",
"contractAddress": "0x0935a78C8a268c8ED0590E5A8d4409f7604Bed1A", // Your NFT Collection
"minter": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F", // If there's no "minter", PrivateKey must be used instead.
"feeCurrency": "CELO"
    "txId": "0xd16536eea02ddffd2deee2db5e2c053ee429526758420477781082c7a5465aa7"


chainThe network on which the NFT will be minted.
contractAddressThe address of your NFT Collection/SmartContract.
minterThe address of the Tatum NFT minter that you have added as a minter to your smart contract.
toThe blockchain address of the recipient to whom the NFT will be sent.
tokenIdThe identifier of the NTF that will be minted.
urlThe URL of the metadata (image, audio, video, etc) to be included in the NFT.


Find the transaction in Celo Alfajores Explorer.

Tatum Minter role addresses

MainnetBSC, Celo, Ethereum, Harmony, Klaytn, Polygon0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94