100 credits per API call on Flow
2 credits per API call on the other blockchains
You can mint NFTs using either of the following methods:
Minting NFTs using NFT Express
NFT Express is Tatum's feature that helps you mint NFTs easier than minting natively on a blockchain.
- You do not need to enter your private key or signature ID.
NFT Express uses the private key provided by Tatum. - You do not need to hold crypto or keep addresses topped up with crypto to pay for minting transactions.
- To use NFT Express on the mainnet, you have to have a paid pricing plan.
Tatum covers your transaction fees for NFT minting and pays for them from its own blockchain address. Then, the fee amount paid by Tatum is converted to the number of credits, and these credits are deducted from the monthly credit allowance of your paid pricing plan.
The transaction fees and the corresponding numbers of credits deducted from your allowance vary depending on what blockchain you mint NFTs on. - On the testnet, only one credit is deducted from the monthly credit allowance for transaction fee. You can mint NFTs with NFT Express regardless of your pricing plan.
- To use NFT Express on the mainnet, you have to have a paid pricing plan.
With NFT Express, you can choose whether to mint NFTs on the pre-built NFT smart contract provided by Tatum or on your own smart contract.
Use the pre-built smart contract provided by Tatum to mint NFTs
If you want to mint NFTs using the pre-built smart contract, you do not need to deploy your own NFT smart contract. You do not need to provide the address of the NFT smart contract and the token ID in the request body either. The address of the smart contract and the token ID are provided automatically by Tatum.
The token ID is autogenerated. It starts with 0 and is increased by 1 for each new NFT. The token ID is calculated separately for each supported blockchain and its mainnet and testnet.
For more information, see our user documentation.
You can mint NFTs on the pre-built smart contract provided by Tatum on the following blockchains:
- Algorand
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Solana
Depending on what blockchain you use, choose the request body schema to use in the API call.
- To mint NFTs on BNB Smart Chain, Celo, Ethereum, Harmony, Klaytn, or Polygon, use this API with the
MintNftExpress
schema of the request body. - To mint NFTs on Algorand, use this API with the
MintNftExpressAlgorand
schema of the request body.
To be able to burn the minted NFTs any time later, specify the address of the manager account in themanager
parameter.
An NFT minted on Algorand is automatically transferred to your blockchain address. After the NFT is minted, you have to transfer it to the recipient's address. The recipient has to agree in advance to receive your NFT because Algorand charges users for storing NFTs on their addresses, and an Algorand blockchain address by default does not receive NFTs unless explicitly agreed.
This how it works: - To mint NFTs on Tezos, use this API with the
MintNftExpressTezos
schema of the request body. In order to use this function, it is necessary to deploy the contract using NFT Express - The recipient agrees to receive the NFT to their address.
- You transfer the NFT to the recipient's address (use the
transferNftAlgoExpress
schema of the request body).
NOTE: On the mainnet, Tatum covers your transaction fees for the NFT transfer and pays for them from its own blockchain address. Then, the fee amount paid by Tatum is converted to the number of credits, and these credits are deducted from the monthly credit allowance of your paid pricing plan. On the testnet, only one credit is deducted from the monthly credit allowance for transaction fee. - To mint NFTs on Solana, use this API with the
MintNftExpressSolana
schema of the request body.
Solana uses the Metaplex Protocol, a smart contract and metadata standard for creating and working with NFTs. When you mint an NFT on Solana with NFT Express, the pre-built smart contract based on the Metaplex Protocol is used.
When an NFT is minted on Solana, a new blockchain address is created to receive the NFT under the recipient's account address (the one in theto
parameter of the request body). This address is returned in thenftAccountAddress
parameter in the response body, is owned by the recipient's address, and has the same private key.
The response body also returns the address of the minted NFT itself, which is held in thenftAddress
parameter.
Use your own smart contract to mint NFTs
If you want to mint NFTs using your own smart contract, you are going to use an NTF minter, a special blockchain address provided by Tatum that will cover the minting fees. The number of credits equivalent to the fees will be then deducted from the monthly credit allowance of your paid pricing plan.
For more information, see our user documentation and the article in the Tatum blog.
You can mint NFTs on your own smart contract on the following blockchains:
- BNB Smart Chain
- Celo
- Ethereum
- Harmony
- Klaytn
- Polygon
- Horizen Eon
To mint NFTs using your own smart contract, do the following:
- In the table located under this section, find the blockchain address of the Tatum NFT minter for your blockchain and network (mainnet or testnet).
- Add the minter address as an NFT minter to your smart contract.
- Use this API with the
MintNftMinter
schema of the request body.
In the request body, enter the following information:chain
is the blockchain that you use.to
is the blockchain address where to send the minted NFT to.url
is the URL of the NFT metadata.minter
is the address of the NFT minter that you found in Step 1.contractAddress
is the address of your NFT smart contract.tokenId
is the the token ID of the NFT.
For example:{ "chain": "CELO", "to": "0x8ce4e40889a13971681391aad29e88efaf91f784", "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj", "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85", "tokenId": "0123", "minter": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F" }
When you make an API call with this request body, the private key of the NFT minter will be added to the request body automatically:{ "chain": "CELO", "to": "0x8ce4e40889a13971681391aad29e88efaf91f784", "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj", "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85", "tokenId": "0123", "minter": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F", "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2" }
The following table lists the blockchain addresses of the Tatum NFT minters for the testnet and mainnet of the supported blockchains:
Blockchain | Minter address - testnet* | Minter address - mainnet** |
---|---|---|
BNB Smart Chain | 0xc16ae5e8c985b906935a0cadf4e24f0400531883 | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Celo | 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Ethereum | 0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Harmony | 0x8906f62d40293ddca77fdf6714c3f63265deddf0 | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Klaytn | 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Polygon | 0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5 | 0x49678AAB11E001eb3cB2cBD9aA96b36DC2461A94 |
Horizen Eon | 0x53e8577c4347c365e4e0da5b57a589cb6f2ab848 | 0x625805bf8fe714589ea8c90dbc294e656104c7b3 |
*If a minter blockchain address on the testnet does not have sufficient funds to cover the transaction fee, add some amount to it using a crypto faucet of the blockchain.
**To be able to use NFT Express on the mainnet, you have to have a paid pricing plan.
For Ethereum specifically, we recommend an Enterprise Plan because transaction fees on Ethereum are very high.
Minting NFTs natively on a blockchain
When minting an NFT natively on a blockchain, you are using your own smart contract. You are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
You can mint NFTs natively on the following blockchains:
- Algorand
- BNB Smart Chain
- Celo
- Ethereum
- Flow
- Harmony
- Klaytn
- KuCoin Community Chain
- Polygon
- Solana
- TRON
- Tezos
- Horizen Eon
- Flare
- Cronos
- Base
- Avalanche
- Fantom
- Optimism
- Kadena
Depending on what blockchain you use, choose the request body schema to use in the API call.
- To mint NFTs natively on Algorand and:
- To sign the transaction with your private key, use this API with the
MintNftAlgorand
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftAlgorandKMS
schema of the request body.
NOTE:- To be able to burn the minted NFTs any time later, specify the address of the manager account in the
manager
parameter. - An NFT minted on Algorand is automatically transferred to your blockchain address. After the NFT is minted, you have to transfer it to the recipient's address. The recipient has to agree in advance to receive your NFT because Algorand charges users for storing NFTs on their addresses, and an Algorand blockchain address by default does not receive NFTs unless explicitly agreed. For more information about how it works, see the section about minting NFTs on Algorand using the pre-built NFT smart contract provided by Tatum.
- To be able to burn the minted NFTs any time later, specify the address of the manager account in the
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on BNB Smart Chain, Ethereum, Harmony, Klaytn, KuCoin Community Chain, Polygon or Horizen Eon, and:
- To sign the transaction with your private key, use this API with the
MintNft
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftKMS
schema of the request body.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on Celo and:
- To sign the transaction with your private key, use this API with the
MintNftCelo
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftKMSCelo
schema of the request body.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on Flow and:
- To sign the transaction with your private key, use this API with the
MintNftFlowPK
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftFlowMnemonic
schema of the request body. - To sign the transaction with your wallet mnemonic, use this API the
MintNftFlowKMS
schema of the request body.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on Solana and:
- To sign the transaction with your private key, use this API with the
MintNftSolana
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftSolanaKMS
schema of the request body.
NOTE: When an NFT is minted on Solana, a new blockchain address is created to receive the NFT under the recipient's account address. After the NFT is minted, you have to transfer it to the recipient's address. For more information about how it works, see the section about minting NFTs on Solana using the pre-built NFT smart contract provided by Tatum.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on TRON and:
- To sign the transaction with your private key, use this API with the
MintNftTron
schema of the request body. - To sign the transaction with your signature ID, use this API the
MintNftKMSTron
schema of the request body.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on Tezos and:
- To sign the transaction with your private key, use this API with the
MintNftTezos
schema of the request body.
- To sign the transaction with your private key, use this API with the
- To mint NFTs natively on Kadena and:
- To sign the transaction with your private key, use this API with the
MintNftKadena
schema of the request body.
- To sign the transaction with your private key, use this API with the