Multi Tokens (ERC-1155 or compatible)

Multi Token (ERC-1155|) is a type of contract where multiple NFT or "non-fungible token" can be deployed with FT "Fungible Tokens". Non-fungible means that each token is unique and irreplaceable while Fungible tokens are tokens that have same value. This principle gives Multi Token their value and gives rise to a wide range of interesting potential use cases.
Multi Tokens can be used for nearly any digital asset or good to ensure authenticity and scarcity. The possibilities are endless, but here are a few example use cases:

  • In-game assets - Multi Tokens can be used to create unique collectibles in the form of characters, weapons, skins, or other equipment. Players can resell or trade assets directly as they choose, and their authenticity is easily verifiable. No more eBay, no more scammers.
  • Music and other digital media - Multi Tokens can be used to create rare and unique collectible digital releases. Similarly, NFTs can be used to sell videos, art, or any other type of digital media. Collectors can own digital originals of their favorite songs, movies, or virtually anything else you can imagine.
  • Digital sports merch - Trading cards, memorabilia, classic moments in sports history, and one-of-a-kind experiences can also be sold as NFTs, opening up a world of possibilities for sports leagues and teams worldwide. The NBA Top Shot website sells collectible “moments” from the league’s history, and at the time of writing, the website is completely sold out and closed for new sign-ups.

  • These endpoints wraps up standard Multi Token implementation and operations, which can be done with them. Endpoints are blockchain agnostic, the only differentatior is the chain parameter in the URL path.

    Tatum now supports Multi Token on these blockchains:
    • Ethereum
    • Polygon (Matic)
    • Kcs (KCS)
    • Celo
    • Klaytn
    • Harmony.ONE
    • Binance Smart Chain
    • Algorand

Deploy Multi Token Smart Contract.

Deploy Multi Token Smart Contract. This method creates new ERC1155 Smart Contract (Multi Tokens) on the blockchain. Smart contract is standardized and audited. It is possible to mint, burn and transfer tokens. It is also possible to mint multiple tokens at once.
Tatum now supports Multi Tokens on these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Klaytn
  • Celo
  • Harmony.ONE
  • Binance Smart Chain

This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC"
uri
required
string

URI of the Multi Token token

fromPrivateKey
required
string = 66 characters

Private key of account address, from which gas for deployment of ERC1155 will be paid. Private key, or signature Id must be present.

publicMint
boolean

True if the contract is publicMint type

nonce
number >= 0

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/deploy
Request samples
application/json
{
  • "chain": "ETH",
  • "uri": "example.com",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "publicMint": true,
  • "nonce": 0,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Mint Multi Token

2 credits per API call.


Mint a fixed amount of Multi Token and transfer it to destination account. Create and transfer any Multi Token token from smart contract defined in contractAddress. It is possible to add Metadata to the created token with a more detailed information about it.

Tatum now supports Multi Token these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Celo
  • Klaytn
  • Harmony.ONE
  • Binance Smart Chain
  • Algorand
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC" "ALGO"
tokenId
required
string <= 32 characters

ID of token to be created.

to
required
string [ 42 .. 58 ] characters

Blockchain address to send Multi Token token to

contractAddress
required
string [ 1 .. 42 ] characters

Address of Multi Token token

amount
required
string <= 32 characters

amount of token to be created.

data
string

Data in bytes

index
number >= 0

If signatureId is mnemonic-based, this is the index to the specific address from that mnemonic.

signatureId
string <uuid> = 36 characters

Identifier of the private key associated in signing application. Private key, or signature Id must be present.

nonce
number >= 0

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/mint
Request samples
application/json
{
  • "chain": "ETH",
  • "tokenId": "100000",
  • "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "amount": "100000",
  • "data": "0x1234",
  • "index": 0,
  • "signatureId": "26d3883e-4e17-48b3-a0ee-09a3e484ac83",
  • "nonce": 0,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Mint Multi Token Batch

2 credits per API call.


Create a fixed amount of multiple Multi Tokens Tokens and transfer them to destination account in one transaction. Create and transfer Multi Tokens tokens from smart contract defined in contractAddress.

Tatum now supports Multi Tokens on these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Celo
  • Klaytn
  • Harmony.ONE
  • Binance Smart Chain
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC"
to
required
Array of strings

Blockchain address to send Multi Token token to.

tokenId
required
Array of strings

ID of token to be created.

amounts
required
Array of strings

ID of token to be created.

data
string

Data in bytes

contractAddress
required
string = 42 characters

Address of Multi Token token

fromPrivateKey
required
string = 66 characters

Private key of sender address. Private key, or signature Id must be present.

nonce
number >= 0

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/mint/batch
Request samples
application/json
{
  • "chain": "ETH",
  • "to": [
    ],
  • "tokenId": [
    ],
  • "amounts": [
    ],
  • "data": "0x1234",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "nonce": 0,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Burn Multi Token

2 credits per API call.


Burn a fixed amount of Multi Tokens by id. This method destroys Multi Tokens from smart contract defined in contractAddress.

Tatum now supports Multi Token these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (Matic)
  • Celo
  • Klaytn
  • Harmony.ONE
  • Binance Smart Chain
  • Algorand
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC" "ALGO"
account
required
string [ 42 .. 58 ] characters

Address of holder

tokenId
required
string <= 32 characters

ID of token to be destroyed.

contractAddress
required
string [ 1 .. 42 ] characters

Address of Multi Token token

fromPrivateKey
required
string [ 66 .. 103 ] characters

Private key of sender address. Private key, or signature Id must be present.

data
string

Data in bytes

amount
required
string <= 32 characters

amount of token to be destroyed.

nonce
number >= 0

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/burn
Request samples
application/json
{
  • "chain": "ETH",
  • "account": "0x4b812a77b109A150C2Fc89eD133EaBC78bC9EC8f",
  • "tokenId": "100000",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "data": "0x1234",
  • "amount": "100000",
  • "nonce": 0,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Burn Multi Token Batch

2 credits per API call.


Burn multiple Multi Token Tokens by id assigned to same address in one transaction. This method destroys any Multi Tokens token from smart contract defined in contractAddress.

Tatum now supports Multi Tokens these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Celo
  • Klaytn
  • Harmony.ONE
  • Binance Smart Chain
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC"
account
required
string = 42 characters

Address of holder

tokenId
required
Array of strings

ID of token to be destroyed.

amounts
required
Array of strings

ID of token to be destroyed.

data
string

Data in bytes

contractAddress
required
string = 42 characters

Address of Multi Token token

fromPrivateKey
required
string = 66 characters

Private key of sender address. Private key, or signature Id must be present.

nonce
number >= 0

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/burn/batch
Request samples
application/json
{
  • "chain": "ETH",
  • "account": "0x4b812a77b109A150C2Fc89eD133EaBC78bC9EC8f",
  • "tokenId": [
    ],
  • "amounts": [
    ],
  • "data": "0x1234",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "nonce": 0,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Transfer Multi Token Token

2 credits per API call.


Transfer a certain amount of Multi Token from account to another account. Transfer Multi Tokens token from smart contract defined in contractAddress. Only 1 specific token with specified tokenId and value can be transfered. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and BSC.

Tatum now supports Multi Token these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Celo
  • Harmony.ONE
  • Klaytn
  • Binance Smart Chain
  • Algorand
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC" "ALGO"
to
required
string [ 42 .. 58 ] characters

Blockchain address to send Multi Token token to

tokenId
required
string <= 256 characters

ID of token.

amount
string <= 32 characters

amount of token.

data
string

Data in bytes

contractAddress
required
string [ 1 .. 42 ] characters

Address of Multi Token token

fromPrivateKey
required
string [ 66 .. 103 ] characters

Private key of sender address. Private key, or signature Id must be present.

nonce
number

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/transaction
Request samples
application/json
{
  • "chain": "ETH",
  • "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "tokenId": "100000",
  • "amount": "100000",
  • "data": "0x1234",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "nonce": 1,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Transfer Multi Token Batch

2 credits per API call.


Transfer Multi Token Batch from account to various other accounts in one transaction. Transfer multiple Multi Tokens token from smart contract defined in contractAddress. Multiple token with specified tokenIds and values can be transfered. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and BSC.

Tatum now supports Multi Tokens these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Klaytn
  • Celo
  • Harmony.ONE
  • Binance Smart Chain
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "ONE" "MATIC" "KCS" "KLAY" "BSC"
to
required
string = 42 characters

Blockchain address to send Multi Token token to

tokenId
required
Array of strings

ID of token.

amounts
required
Array of strings

amounts of token.

data
string

Data in bytes

contractAddress
required
string = 42 characters

Address of Multi Token token

fromPrivateKey
required
string = 66 characters

Private key of sender address. Private key, or signature Id must be present.

nonce
number

Nonce to be set to transaction. If not present, last known nonce will be used.

object

Custom defined fee. If not present, it will be calculated automatically.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/transaction/batch
Request samples
application/json
{
  • "chain": "ETH",
  • "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "tokenId": [
    ],
  • "amounts": [
    ],
  • "data": "0x1234",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "nonce": 1,
  • "fee": {
    }
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Add Multi Token miter

2 credits per API call.


Add Multi Token minter.

Tatum now supports Multi Tokens these blockchains:

  • Ethereum
  • Polygon (Matic)
  • Kcs (KCS)
  • Celo
  • Klaytn
  • Harmony.ONE
  • Binance Smart Chain
This operation needs the private key of the blockchain address. 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.

SecurityX-API-Key
Request
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Request Body schema: application/json
One of:
chain
required
string

Chain to work with.

Enum: "ETH" "MATIC" "KCS" "KLAY" "CELO" "ONE" "BSC"
contractAddress
required
string = 42 characters

Address of MultiToken token

minter
required
string = 42 characters

Address of MultiToken minter

fromPrivateKey
required
string = 66 characters

Private key of sender address. Private key, or signature Id must be present.

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.

gasLimit
required
string^[+]?\d+$

Gas limit for transaction in gas price.

gasPrice
required
string^[+]?\d+$

Gas price in Gwei.

feeCurrency
string

Currency to pay for transaction gas, only valid for CELO chain.

Enum: "CELO" "CUSD" "CEUR"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

post/v3/multitoken/mint/add
Request samples
application/json
{
  • "chain": "ETH",
  • "contractAddress": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "minter": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  • "fromPrivateKey": "0x05e150c73f1920ec14caa1e0b6aa09940899678051a78542840c2668ce5080c2",
  • "nonce": 0,
  • "fee": {
    },
  • "feeCurrency": "CELO"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9",
  • "failed": false
}

Get Multi Token transactions by address

1 credit per API call.


Get Multi Token (ERC-1155) transactions by address. This includes incoming and outgoing transactions for the address.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "CELO" "ETH" "MATIC"
Example: CELO
address
required
string

Account address you want to get balance of

Example: 0x8ce4e40889a13971681391aad29e88efaf91f784
tokenAddress
required
string

Address of the token smart contract

Example: 0x1ce4e40889a13971681391aad29e88efaf91f784
query Parameters
pageSize
required
number [ 1 .. 50 ]

Max number of items per page is 50.

Example: pageSize=10
offset
number

Offset to obtain next page of the data.

Example: offset=0
from
number >= 0

Transactions from this block onwords will be included.

Example: from=1087623
to
number >= 0

Transactions up to this block will be included.

Example: to=1087823
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/transaction/{chain}/{address}/{tokenAddress}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/transaction/{chain}/{address}/{tokenAddress}?pageSize=10&offset=0&from=1087623&to=1087823' \
  -H 'x-api-key: YOUR_API_KEY_HERE'
Response samples
application/json
[
  • {
    }
]

Get Contract addressDeprecated

1 credit per API call.


Get Multi Token contract address from deploy transaction. This method is deprecated, use Get contract address instead.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "KCS" "KLAY" "ONE" "CELO" "BSC"
hash
required
string

Transaction hash

Example: 0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/address/{chain}/{hash}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/address/{chain}/{hash}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json
{
  • "contractAddress": "0xc21C81ef03f98898Fb155E00C364e8a7b9D158b8"
}

Get Transaction

1 credit per API call.


Get Multi Token transaction by transaction hash.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "KCS" "KLAY" "ONE" "CELO" "BSC"
hash
required
string

Transaction hash

Example: 0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/transaction/{chain}/{hash}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/transaction/{chain}/{hash}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json
{
  • "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": [
    ]
}

Get Multi Tokens by Address

1 credit per API call.


Get Multi Tokens on address. Returns all tokenIDs of all contracts this address holds.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "CELO"
Example: ETH
address
required
string

Blockchain address

Example: 0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Value: "ethereum-ropsten"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/address/balance/{chain}/{address}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/address/balance/{chain}/{address}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json
[
  • {
    }
]

Get Multi Token Account balance

1 credit per API call.


Get Multi Tokens on Account. Returns tokenIDs of tokens Account holds.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "KCS" "KLAY" "ONE" "CELO" "BSC"
address
required
string

Account address you want to get balance of

Example: 0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B
contractAddress
required
string

Multi Token contract address

Example: 0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326
tokenId
required
string

Multi Token tokenID

Example: 100
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/balance/{chain}/{contractAddress}/{address}/{tokenId}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/balance/{chain}/{contractAddress}/{address}/{tokenId}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json
[
  • "10"
]

Get Multi Token Account balance Batch

1 credit per API call.


Get Multi Tokens on Account. Returns tokenIDs of tokens Account holds.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "KCS" "KLAY" "ONE" "CELO" "BSC"
contractAddress
required
string

Multi Token contract address

Example: 0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326
query Parameters
tokenId
required
string

Comma separated TokenIds to get balance for

Example: tokenId=1,2,3
address
required
string

Comma separated addresses to get balance for

Example: address=0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B,0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B,0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/balance/batch/{chain}/{contractAddress}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/balance/batch/{chain}/{contractAddress}?tokenId=1%2C2%2C3&address=0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B%2C0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B%2C0x3223AEB8404C7525FcAA6C512f91e287AE9FfE7B' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json
[
  • "10",
  • "20"
]

Get Multi Token Token Metadata

1 credit per API call.


Get Multi Token metadata.

SecurityX-API-Key
Request
path Parameters
chain
required
string

Blockchain to work with

Enum: "ETH" "MATIC" "KCS" "KLAY" "ONE" "CELO" "BSC"
token
required
string <= 32 characters

Token ID

Example: 1
contractAddress
required
string

Multi Token contract address

Example: 0x94Ce79B9F001E25BBEbE7C01998A78F7B27D1326
header Parameters
x-testnet-type
string
Default: ethereum-ropsten

Type of testnet. Defaults to ropsten. Valid only for ETH invocations.

Enum: "ethereum-ropsten" "ethereum-rinkeby"
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.

500

Internal server error. There was an error on the server during the processing of the request.

get/v3/multitoken/metadata/{chain}/{contractAddress}/{token}
Request samples
curl -i -X GET \
  'https://api-eu1.tatum.io/v3/multitoken/metadata/{chain}/{contractAddress}/{token}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-testnet-type: ethereum-ropsten'
Response samples
application/json