"NFT" stands for "Non-Fungible Token", which means that each token is unique and irreplaceable. NFTs are described by the ERC-721 standard on the Ethereum blockchain or by the equivalent standard on the other blockchains.
NFTs can be used for nearly any digital asset or good to ensure authenticity and scarcity, for example:
Each NFT-related API its own set of the blockchains. The list of the supported blockchains is provided in the API description further in this section.
100 credits per API call on Flow
2 credits per API call on the other blockchains
Deploy an NFT smart contract on the blockchain. In a deployed NFT smart contract, you can mint NFTs (one NFT at a time or multiple NFTs at once), burn, and transfer NFTs.
Smart contracts are standardized and audited. You can review the code of a deployed NFT smart contract here (if the contract is deployed on Flow) or here (if the contract is deployed on any other supported blockchain).
This API is supported for the following blockchains:
General NFT smart contracts
By default, an NFT smart contract is deployed as a general NFT smart contract compatible with OpenSea royalties. This is a standard NFT contract with AccessControl
and Ownable
, enhanced with NFT batch minting. NFTs minted on this smart contract are compatible with OpenSea and its royalty structure.
You can enable public minting for smart contracts. By default, public minting is disabled, which means that only the blockchain address whose private key was used to create the smart contract or the blockchain addresses added to the smart contract as NFT minters will be able to mint NFTs for the contract. To enable public minting and allow anyone to mint NFTs on top of the smart contract, deploy the contract with the publicMint
parameter set to true
in the request body.
NFT smart contracts and NFT Express
If you want to use NFT Express to mint NFTs on the deployed smart contract, deploy the smart contract as a general NFT smart contract.
After you have deployed the NFT smart contract, add the Tatum minter address as an NFT minter to your smart contract.
For the complete information about using NFT Express on your smart contract, see "Use your own smart contract to mint NFTs" in Mint an NFT.
Signing a transaction
When deploying an NFT 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.
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "name": "My ERC721",
- "symbol": "ERC_SYMBOL",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
2 credits per API call
Allow a blockchain address (the minter
parameter in the request body) to mint NFTs on your NFT smart contract (the contractAddress
parameter in the request body).
NOTE: Use this API only when you are using NFT Express with your own smart contract. For more information, see "Use your own smart contract to mint NFTs" in Mint an NFT.
Do not use this API in any other case.
This API is supported for the following blockchains:
Signing a transaction
When allowing a blockchain address to mint NFTs, 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.
chain required | string The blockchain to work with |
contractAddress required | string = 42 characters The blockchain address of the NFT smart contract |
minter required | string = 42 characters The blockchain address to add to the smart contract as an NFT minter |
fromPrivateKey required | string = 66 characters The private key of the blockchain address that has priviledges to add an NFT minter to the NFT smart contract (the owner of the smart contract or a blockchain address that was granted such priviledges) |
nonce | number >= 0 The nonce to be set to the transaction; if not present, the last known nonce will be used |
object (CustomFee) The custom defined fee; if not present, will be calculated automatically | |
feeCurrency | string (Celo only) The currency in which the transaction fee will be paid |
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "minter": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
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:
NFT Express is Tatum's feature that helps you mint NFTs easier than minting natively on a blockchain.
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.
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:
Depending on what blockchain you use, choose the request body schema to use in the API call.
MintNftExpress
schema of the request body.MintNftExpressAlgorand
schema of the request body.manager
parameter.transferNftAlgoExpress
schema of the request body).MintNftExpressSolana
schema of the request body.to
parameter of the request body). This address is returned in the nftAccountAddress
parameter in the response body, is owned by the recipient's address, and has the same private key.nftAddress
parameter.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:
To mint NFTs using your own smart contract, do the following:
MintNftMinter
schema of the request body.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.{ "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 |
*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.
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:
Depending on what blockchain you use, choose the request body schema to use in the API call.
MintNftAlgorand
schema of the request body.MintNftAlgorandKMS
schema of the request body.manager
parameter.MintNft
schema of the request body.MintNftKMS
schema of the request body.MintNftCelo
schema of the request body.MintNftKMSCelo
schema of the request body.MintNftFlowPK
schema of the request body.MintNftFlowMnemonic
schema of the request body.MintNftFlowKMS
schema of the request body.MintNftSolana
schema of the request body.MintNftSolanaKMS
schema of the request body.MintNftTron
schema of the request body.MintNftKMSTron
schema of the request body.The MintNftExpress
schema lets you mint NFTs on BNB Smart Chain, Celo, Ethereum, Harmony, Klaytn, and Polygon using NTF Express with the pre-built smart contract provided by Tatum.
For more information, see "Use the pre-built smart contract provided by Tatum to mint NFTs" in Mint an NFT.
chain required | string The blockchain to work with |
to required | string = 42 characters The blockchain address to send the NFT to |
url required | string <= 256 characters The URL pointing to the NFT metadata; for more information, see EIP-721 |
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
100 credits per API call on Flow
2 credits per API call on the other blockchains
Transfer an NFT from the smart contract (the contractAddress
parameter in the request body) to the specified blockchain address (the to
parameter in the request body).
In one API call, you can transfer only one NFT.
This API is supported for the following blockchains:
For Ethereum, Celo, and BNB Smart Chain, transferring NFTs invokes the safeTransfer()
method.
Transferring NFTs on Algorand
transferNftAlgoExpress
schema of the request body.Transferring NFTs on Solana
If you want to transfer an NFT that was minted using NFT Express, use the transferNftSolana
or transferNftSolanaKMS
schema of the request body. In the request body:
from
parameter to the address that you used in the to
parameter in the request body of the minting call.to
parameter to the recipient's address.contractAddress
parameter to the address from the nftAddress
parameter returned in the response body of the minting call.fromPrivateKey
/signatureId
parameter to the private key/signature ID of the blockchain address that you specified in the from
parameter.Signing a transaction
When transferring an NFT, 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.
NOTE: This does not apply to transferring NFTs that were minted on Algorand using NFT Express (see earlier in this section).
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "tokenId": "123",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
100 credits per API call on Flow
2 credits per API call on the other blockchains
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:
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":"0xcd2ada00c48a27faa5cc67f9a1ed55b89ddf7f77", "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.
Chain | Testnet address | Mainnet Address |
---|---|---|
MATIC | 0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
BSC | 0xc16ae5e8c985b906935a0cadf4e24f0400531883 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
ONE | 0x8906f62d40293ddca77fdf6714c3f63265deddf0 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
ETH | 0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
CELO | 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
KLAY | 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
chain required | string The blockchain to work with |
to required | Array of strings Blockchain address to send NFT token to. |
tokenId required | Array of strings <uint256> ID of token to be created. |
minter required | string [ 43 .. 42 ] characters Address of NFT minter, which will be used to mint the tokens. From this address, transaction fees will be deducted. |
url required | Array of strings The URL pointing to the NFT metadata; for more information, see EIP-721 |
contractAddress required | string = 42 characters Address of NFT token |
feeCurrency | string (Celo only) The currency in which the transaction fee will be paid |
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "to": [
- "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
], - "tokenId": [
- "123"
], - "minter": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
100 credits per API call on Flow
2 credits per API call on the other blockchains
Destroy an NFT. Burning the NFT transfers it to an un-spendable blockchain address that no one can access.
This API is supported for the following blockchains:
Burning NFTs on Algorand
You can burn only the NFTs that were minted with the address of the manager account specified in the manager
parameter in the minting call (see the MintNftExpressAlgorand
, MintNftAlgorand
, and MintNftAlgorandKMS
schemas of the request body).
Signing a transaction
When burning an NFT, 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.
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "ETH",
- "tokenId": "123",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
2 credits per API call
Verify an NFT in an NFT collection on Solana. Verifying an NFT sets the Verified
parameter to true
for the NFT, which means that the NFT is really a part of the collection. To know more about Solana collections and verification, refer to the Solana user documentation.
The collection must be a sized collection that was introduced in Version 1.3 of the Metaplex Token Metadata program. The NFT must have been minted in this collection.
This API is supported only for Solana.
Signing a transaction
When verifying an NFT, 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.
chain required | string The blockchain to work with |
nftAddress required | string [ 43 .. 44 ] characters The blockchain address of the NFT to verify |
collectionAddress required | string [ 43 .. 44 ] characters The blockchain address of the NFT collection where the NFT should be verified in. The collection must be a sized collection that was introduced in Version 1.3 of the Metaplex Token Metadata program. |
from required | string [ 43 .. 44 ] characters The blockchain address of the collection verifier on behalf of whom the transaction will be originated. The transaction fee will be paid from this address. |
fromPrivateKey required | string [ 64 .. 128 ] characters The private key of the collection verifier's address |
feePayer | string [ 43 .. 44 ] characters Address on the Solana blockchain, from which the fee will be paid for transaction. Defaults to from. |
feePayerPrivateKey | string [ 128 .. 87 ] characters Private key of the fee payer address. |
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "chain": "SOL",
- "nftAddress": "CHw1Fy5YdbaaosLXrrxhuc3X3fpssMqDQm9XwJh9LPGe",
- "collectionAddress": "CHw1Fy5YdbaaosLXrrxhuc3X3fpssMqDQm9XwJh9LPGe",
- "from": "FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ",
- "fromPrivateKey": "3abc79a31093e4cfa4a724e94a44906cbbc3a32e2f75f985a28616676a5dbaf1de8d82a7e1d0561bb0e1b729c7a9b9b1708cf2803ad0ca928a332587ace391ad"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}
1 credit per API call
Get incoming and outgoing NFT transactions on a blockchain address.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Internal server error. There was an error on the server during the processing of the request.
[- {
- "blockNumber": 6541235,
- "txId": "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372",
- "contractAddress": "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3",
- "tokenId": "123",
- "from": "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d",
- "to": "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
}
]
1 credit per API call
Get incoming and outgoing transactions for an NFT.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Internal server error. There was an error on the server during the processing of the request.
[- {
- "blockNumber": 6541235,
- "txId": "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372",
- "contractAddress": "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3",
- "tokenId": "123",
- "from": "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d",
- "to": "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
}
]
1 credit per API call
Get an NFT transaction by its hash.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "blockHash": "0xcf2c40f475e78c7c19778e1ae999a0e371c9319b38182ea15dc94536f13f9137",
- "status": true,
- "blockNumber": 6470854,
- "from": "0x81b7E08F65Bdf5648606c89998A9CC8164397647",
- "gas": 21000,
- "gasPrice": "1000000000",
- "transactionHash": "0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7",
- "input": "0x",
- "nonce": 26836405,
- "to": "0xbC546fa1716Ed886967cf73f40e8F2F5e623a92d",
- "transactionIndex": 3,
- "value": "1000000000000000000",
- "gasUsed": 21000,
- "cumulativeGasUsed": 314159,
- "contractAddress": "0x81b7E08F65Bdf5648606c89998A9CC8164397647",
- "logs": [
- {
- "address": "0x81b7E08F65Bdf5648606c89998A9CC8164397647",
- "topics": [
- "0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234"
], - "data": "string",
- "logIndex": 0,
- "transactionIndex": 0,
- "transactionHash": "0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7"
}
]
}
1 credit per API call + 5 credits for each owned NFT
Get all NFTs that a blockchain address holds. The NFTs are returned grouped by the smart contracts they were minted on.
This API is supported for the following blockchains:
On Solana and Algorand, if a blockchain address holds fewer than 50 NFTs, the API also returns each NFT's metadata. If the metadata is not returned, you can obtain it using the API for getting NFT metadata.
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
[- {
- "contractAddress": "43821281",
- "balances": [
- "123"
], - "blockNumber": [
- 13816552
], - "metadata": [
- {
- "tokenId": "123",
- "url": "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc",
- "metadata": {
- "name": "Example NFT name",
- "description": "Example NFT description",
- "image": "ipfs://QmP4R7ACZ7JRQ6sLdmnPHqjWEXxzdnPvhAV2f6RnQ8uxJ6"
}
}
], - "supply": 10,
- "decimals": 1
}
]
1 credit per API call + 5 credits for each listed NFT
Get all NFTs from a collection (all the NFTs that were minted on the smart contract).
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
[- {
- "tokenId": "123",
- "metadata": {
- "tokenId": "123",
- "url": "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc",
- "metadata": {
- "name": "Example NFT name",
- "description": "Example NFT description",
- "image": "ipfs://QmP4R7ACZ7JRQ6sLdmnPHqjWEXxzdnPvhAV2f6RnQ8uxJ6"
}
}
}
]
1 credit per API call
Get the NFTs minted on a specific smart contract (the contractAddress
path parameter in the request endpoint URL) that a blockchain address holds.
NOTE: This API works only for the NFT smart contracts deployed using the Tatum smart contract API.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "data": [
- {
- "contractAddress": "116227380",
- "balances": [
- "1"
], - "metadata": [
- {
- "url": "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc"
}
]
}
]
}
1 credit per API call
Get metadata of an NFT.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
This endpoint is deprecated. Do not use it.
Instead, use this API.
1 credit per API call
Get NFT contract address from deploy transaction.
This API is supported for the following blockchains:
OK
Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.
Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.
Internal server error. There was an error on the server during the processing of the request.
{- "contractAddress": "0xc21C81ef03f98898Fb155E00C364e8a7b9D158b8"
}