"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 an 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 operation supports its own set of the blockchains. The list of the supported blockchains is provided in the description for an NFT-operation operation further in this section.
Deploy an NFT smart contract on the blockchain. With 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 deploy an NFT smart contract on the following blockchains:
By default, an NFT smart contract is deployed as a general ERC-721 smart contract compatible with OpenSea royalties. This is a standard ERC-721 contract with AccessControl
and Ownable
, enhanced with NFT batch minting. NFTs minted with this smart contract are compatible with OpenSea and its royalty structure.
In addition to the general ERC-721 contract, you can also deploy the following types of NFT smart contracts for the supported blockchains except for Flow and TRON:
cashback
parameter set to true
in the request body.provenance
parameter set to true
in the request body.You can enable public minting for cashback and provenance smart contracts. By default, public minting is disabled, which means that only the private key that created the smart contract or other private keys added to the smart contract as NFT minters will be able to mint NFTs from 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.
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).
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 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 Chain to work with. |
name required | string [ 1 .. 100 ] characters Name of the NFT token |
symbol required | string [ 1 .. 30 ] characters Symbol of the NFT token |
fromPrivateKey required | string [ 66 .. 103 ] characters Private key of Ethereum account address, from which gas for deployment of ERC721 will be paid. Private key, or signature Id must be present. |
provenance | boolean True if the contract is provenance percentage royalty type. False by default. Details and sources avaiable here. |
cashback | boolean True if the contract is fixed price royalty type. False by default. Details and sources avaiable here. |
publicMint | boolean True if the contract is publicMint type. False by default. |
nonce | number >= 0 Nonce to be set to Ethereum transaction. If not present, last known nonce will be used. |
object Custom defined fee. If not present, it will be calculated automatically. | |
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",
- "provenance": false,
- "cashback": false,
- "publicMint": true,
- "nonce": 0,
- "fee": {
- "gasLimit": "40000",
- "gasPrice": "20"
}
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Create one NFT Token and transfer it to destination account. Create and transfer any NFT token from smart contract defined in contractAddress.
It is possible to add URL to the created token with a more detailed information about it.
Tatum now supports NFT these 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 works without private key or signature id - NFT Express. Mint NFT requests use built-in smart contract, private key and token id which are provided by Tatum. You dont need to provide fromPrivateKey (or signatureId), contractAddress and tokenId fields to perform the mint NFT request. In case of Algorand, you can mint Algorand-based NFTs to our internal address. Due to requirement of previously enabling the recipient address to receive the NFT, you must perform receive operation and then transfer the NFT to the final recipient.
Third 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. You can use addresses specified in the bellow table to be used as a minter.
Performed request without fromPrivateKey or signatureId fields will be populated with following attributes:
The blockchain fee of the performed transaction is paid from the address connected with built-in private key and is debitted in form of credits. The credits are debitted 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.
It means if you perform mint NFT request with following body:
{ "chain": "CELO", "to": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F", "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj" }
The fields contractAddress, fromPrivateKey and tokenId will be internally filled in following way:
{ "chain": "CELO", "to": "0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F", "url": "ipfs://QmXJJ6UF5WkF4WTJvsdhiA1etGwBLfpva7Vr9AudGMe3pj", "fromPrivateKey": "{tatumBuiltInPrivateKey}", "tokenId": "{tatumBuiltInTokenId + 1}", "contractAddress": "0x45871ED5F15203C0ce791eFE5f4B5044833aE10e" }
Keep in mind that your credit amount will be debitted accordingly to the rate of the selected blockchain and cost of transaction fees.
We have prepared following smart contracts for minting without private key:
Chain | Testnet/Mainnet | Address | Smart contract address |
---|---|---|---|
MATIC | Testnet | 0x542b9ac4945a3836fd12ad98acbc76a0c8b743f5 | 0xCd2AdA00c48A27FAa5Cc67F9A1ed55B89dDf7F77 |
BSC | Testnet | 0xc16ae5e8c985b906935a0cadf4e24f0400531883 | 0xF73075aa67561791352fbEe8278115487Fd90ab6 |
ONE | Testnet | 0x8906f62d40293ddca77fdf6714c3f63265deddf0 | 0x427ddbe3ad5e1e77e010c02e61e9bdef82dcaeea |
ETH | Testnet | 0x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 | 0xAe7D8842D0295B1f24a8842cBd5eB83Ae2fd0946 |
CELO | Testnet | 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F | 0x45871ED5F15203C0ce791eFE5f4B5044833aE10e |
KLAY | Testnet | 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 | 0x45871ED5F15203C0ce791eFE5f4B5044833aE10e |
MATIC | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x329F549Cbf3a2b1b95C622A77F701254eC80352d |
BSC | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x4f83793245abE92cc8B978a16C898005c69e5e27 |
ONE | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x559f11123bb892159cd33f652624e40e8b43d4ad |
ETH | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x789c00ed7ddd72a806dbac40df926df32fde3c2f |
CELO | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x5F35fd593243B059cBf580D0335B1c21881a248b |
KLAY | Mainnet | 0xcf9e127455d28e7362380aec1b92ddee8200b295 | 0x44bf563b999823b22b0b165020f0e090aad88f11 |
chain required | string Chain to work with. |
to required | string = 42 characters Blockchain address to send NFT token to |
url required | string <= 256 characters Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details. |
tokenId | string <= 30 characters Asset name for Asset on Algorand chain. Applicable only for ALGO. |
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": "ASSET_UNIT"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Transfer NFT Tokens from account to account. Transfer any NFT token from smart contract defined in contractAddress.
Only 1 specific token with specified tokenId can be transfered. This method invokes ERC721 method safeTransfer() to transfer the token in case of ETH, Celo and BSC.
Tatum now supports NFT these blockchains:
Algorand is unique a way that the receiving account should be ready before sending the NFT asset. To perform this, the receiving account should transfer the NFT asset with 0 amount to itself. During the process, it's using the same API as the main transaction: the only difference is that the "fromPrivateKey" should be the privateKey of the receiving account. If you were minting NFTs on Algorand with NFT Express, you can skip the fromPrivateKey field in the request body and NFT will be transferred to you automatically from Tatum - this is tied to the API Key used during the mint.
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.
{- "value": "1",
- "chain": "ETH",
- "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "tokenId": "100000",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "provenance": true,
- "provenanceData": "test",
- "tokenPrice": "1",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
- "nonce": 1,
- "fee": {
- "gasLimit": "40000",
- "gasPrice": "20"
}
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Create multiple NFT Tokens and transfer them to destination account. Create and transfer any NFT tokens from smart contract defined in contractAddress.
Tatum now supports NFT these 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 debitted in form of credits. The credits are debitted 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 | 0x53e8577c4347c365e4e0da5b57a589cb6f2ab8480x53e8577C4347C365E4e0DA5B57A589cB6f2AB848 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
CELO | 0xBC2eBA680EE50d685cc4Fe65f102AA70AfB27D3F | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
KLAY | 0x80d8bac9a6901698b3749fe336bbd1385c1f98f2 | 0xcf9e127455d28e7362380aec1b92ddee8200b295 |
chain required | string Chain to work with. |
to required | Array of strings Blockchain address to send NFT token to. |
tokenId required | Array of strings 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 Metadata of the token. See https://eips.ethereum.org/EIPS/eip-721#specification for more details. |
contractAddress required | string = 42 characters Address of NFT token |
feeCurrency | string Currency to pay for transaction gas, only valid for CELO chain. |
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": [
- "100000"
], - "minter": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "feeCurrency": "CELO"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Burn one NFT Token. This method destroys any NFT token from smart contract defined in contractAddress.
Tatum now supports NFT these 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.
{- "chain": "CELO",
- "tokenId": "100000",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
- "nonce": 0,
- "feeCurrency": "CELO"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Add new minter of NFT Tokens. This method adds minter permission to new minter address.
Tatum now supports NFT these 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.
{- "chain": "ETH",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "minter": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
- "nonce": 0,
- "fee": {
- "gasLimit": "40000",
- "gasPrice": "20"
}, - "feeCurrency": "CELO"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Update royalty cashback value for one NFT Token. This method updates the first royalty value of specific author for 1 token.
If royalty value is set to 0, it will disable the royalty system for the token. Only from author's address of the royalty can change it's royalty value, not the owner of the token.
Tatum now supports NFT these 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.
{- "chain": "CELO",
- "tokenId": "100000",
- "cashbackValue": "0.1",
- "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
- "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
- "nonce": 0,
- "feeCurrency": "CELO"
}
{- "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
- "failed": false
}
Get NFT transactions by address. This includes incoming and outgoing transactions for the 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.
Internal server error. There was an error on the server during the processing of the request.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/transaction/{chain}/{address}/{tokenAddress}?pageSize=10&offset=0&from=1087623&to=1087823' \ -H 'x-api-key: YOUR_API_KEY_HERE'
[- {
- "blockNumber": 6541235,
- "txId": "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372",
- "contractAddress": "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3",
- "tokenId": "1",
- "from": "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d",
- "to": "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
}
]
Get NFT transactions by token. This includes incoming and outgoing transactions for the token.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/transaction/tokenId/{chain}/{tokenAddress}/{tokenId}?pageSize=10&offset=0&from=1087623&to=1087823' \ -H 'x-api-key: YOUR_API_KEY_HERE'
[- {
- "blockNumber": 6541235,
- "txId": "0x955c1037608c7aecb6d1a3f150ce7d0a80536bcabb0deb69d62f55292cc4c372",
- "contractAddress": "0x4f54fAD27F7F46C102Cd49b8E75C5593397cd9c3",
- "tokenId": "1",
- "from": "0x780c3de0aba1b51f04cfe8a5d9d277d4ad032b8d",
- "to": "0x8cb76aed9c5e336ef961265c6079c14e9cd3d2ea"
}
]
Get NFT contract address from deploy transaction. This method is deprecated, use Get contract address instead.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/address/{chain}/{hash}' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
{- "contractAddress": "0xc21C81ef03f98898Fb155E00C364e8a7b9D158b8"
}
Get NFT transaction by transaction hash.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/transaction/{chain}/{hash}' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
{- "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"
}
]
}
Get NFTs on address. Returns all NFTs this address holds.
For Solana and Algorand, the metadata are fetched only for addresses which hold less then 50 tokens. It's possible to get metadata from the Get Metadata operation.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/address/balance/{chain}/{address}' \ -H 'x-api-key: YOUR_API_KEY_HERE'
[- {
- "contractAddress": "43821281",
- "balances": [
- "1"
], - "metadata": [
- {
- "tokenId": "1",
- "url": "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc",
- "metadata": {
- "name": "Example NFT name",
- "description": "Example NFT description",
- "image": "ipfs://QmP4R7ACZ7JRQ6sLdmnPHqjWEXxzdnPvhAV2f6RnQ8uxJ6"
}
}
]
}
]
Get all minted NFTs in the collection. Returns all NFTs this contract minted.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/collection/{chain}/{address}?pageSize=10&offset=0' \ -H 'x-api-key: YOUR_API_KEY_HERE'
[- {
- "tokenId": "43821281",
- "metadata": [
- {
- "tokenId": "1",
- "url": "ipfs://QmXFpaS3S7CkLZvihLFA9JbawKdqhjg8dJeDkPntmkD2Pc",
- "metadata": {
- "name": "Example NFT name",
- "description": "Example NFT description",
- "image": "ipfs://QmP4R7ACZ7JRQ6sLdmnPHqjWEXxzdnPvhAV2f6RnQ8uxJ6"
}
}
]
}
]
Get NFTs on Account. Returns tokenIDs of tokens Account holds. This method is valid only for tokens deplyed using Tatum API - it reads data from the smart contract.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/balance/{chain}/{contractAddress}/{address}' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
[- "10"
]
Get NFT token provenance data, valid only for provenance contract.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/provenance/{chain}/{contractAddress}/{tokenId}' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
[- {
- "provenanceData": "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326",
- "tokenPrice": "123"
}
]
Get NFT token 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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/metadata/{chain}/{contractAddress}/{token}?account=0xc1b45bc27b9c61c3' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
{
}
Get NFT token royalty.
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.
curl -i -X GET \ 'https://api-eu1.tatum.io/v3/nft/royalty/{chain}/{contractAddress}/{token}' \ -H 'x-api-key: YOUR_API_KEY_HERE' \ -H 'x-testnet-type: ethereum-ropsten'
{- "addresses": [
- "0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326"
], - "values": [
- "0.2"
]
}