Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Api/FungibleTokensERC20OrCompatibleApi

Fungible Tokens (ERC-20 or compatible) API Reference

// Set your API Keys 👇 here
$sdk = new \Tatum\Sdk();

// MainNet API Call
$sdk->mainnet()->api()->fungibleTokensERC20OrCompatible();

// TestNet API Call
$sdk->testnet()->api()->fungibleTokensERC20OrCompatible();

Methods

Method Description
approveCeloErc20() Allow a blockchain address to transfer and burn fungible tokens
approveCeloErc20KMS() Allow a blockchain address to transfer and burn fungible tokens
approveErc20() Allow a blockchain address to transfer and burn fungible tokens
approveErc20KMS() Allow a blockchain address to transfer and burn fungible tokens
chainBurnCeloErc20() Burn fungible tokens
chainBurnCeloErc20KMS() Burn fungible tokens
chainBurnErc20() Burn fungible tokens
chainBurnErc20KMS() Burn fungible tokens
chainBurnKcsErc20() Burn fungible tokens
chainBurnKcsErc20KMS() Burn fungible tokens
chainDeployAlgoErc20() Deploy a fungible token smart contract
chainDeployAlgoErc20KMS() Deploy a fungible token smart contract
chainDeployCeloErc20() Deploy a fungible token smart contract
chainDeployCeloErc20KMS() Deploy a fungible token smart contract
chainDeployErc20() Deploy a fungible token smart contract
chainDeployErc20KMS() Deploy a fungible token smart contract
chainDeployKcsErc20() Deploy a fungible token smart contract
chainDeployKcsErc20KMS() Deploy a fungible token smart contract
chainDeploySolanaSpl() Deploy a fungible token smart contract
chainDeploySolanaSplKMS() Deploy a fungible token smart contract
chainMintCeloErc20() Mint fungible tokens
chainMintCeloErc20KMS() Mint fungible tokens
chainMintErc20() Mint fungible tokens
chainMintErc20KMS() Mint fungible tokens
chainMintKcsErc20() Mint fungible tokens
chainMintKcsErc20KMS() Mint fungible tokens
chainTransferAlgoErc20() Transfer fungible tokens
chainTransferAlgoErc20KMS() Transfer fungible tokens
chainTransferBscBep20() Transfer fungible tokens
chainTransferBscBep20KMS() Transfer fungible tokens
chainTransferCeloErc20Token() Transfer fungible tokens
chainTransferCeloErc20TokenKMS() Transfer fungible tokens
chainTransferEthErc20() Transfer fungible tokens
chainTransferEthErc20KMS() Transfer fungible tokens
chainTransferKcsEthErc20() Transfer fungible tokens
chainTransferKcsEthErc20KMS() Transfer fungible tokens
chainTransferSolanaSpl() Transfer fungible tokens
chainTransferSolanaSplKMS() Transfer fungible tokens
erc20GetBalance() Get the number of fungible tokens that a blockchain address holds in a smart contract
erc20GetBalanceAddress() Get the total number of fungible tokens that a blockchain address holds
erc20GetTransactionByAddress() Get fungible token transactions on a blockchain address

approveCeloErc20()

Example

#️⃣ Execute command in terminal

✨ php -f approveCeloErc20.php

Request

POST /v3/blockchain/token/approve

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->approveCeloErc20(
    \Tatum\Model\ApproveCeloErc20 $approve_celo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$approve_celo_erc20 \Tatum\Model\ApproveCeloErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Allow a blockchain address to transfer and burn fungible tokens

Back to top


approveCeloErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f approveCeloErc20KMS.php

Request

POST /v3/blockchain/token/approve

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->approveCeloErc20KMS(
    \Tatum\Model\ApproveCeloErc20KMS $approve_celo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$approve_celo_erc20_kms \Tatum\Model\ApproveCeloErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Allow a blockchain address to transfer and burn fungible tokens

Back to top


approveErc20()

Example

#️⃣ Execute command in terminal

✨ php -f approveErc20.php

Request

POST /v3/blockchain/token/approve

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->approveErc20(
    \Tatum\Model\ApproveErc20 $approve_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$approve_erc20 \Tatum\Model\ApproveErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Allow a blockchain address to transfer and burn fungible tokens

2 credits per API call

Allow a blockchain address (the spender parameter in the request body) to transfer and burn fungible tokens on behalf of the smart contract owner.

This API is supported for the following blockchains:

  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • Polygon

Signing a transaction When allowing a blockchain address to transfer and burn fungible tokens, 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.

Back to top


approveErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f approveErc20KMS.php

Request

POST /v3/blockchain/token/approve

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->approveErc20KMS(
    \Tatum\Model\ApproveErc20KMS $approve_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$approve_erc20_kms \Tatum\Model\ApproveErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Allow a blockchain address to transfer and burn fungible tokens

Back to top


chainBurnCeloErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnCeloErc20.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnCeloErc20(
    \Tatum\Model\ChainBurnCeloErc20 $chain_burn_celo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_celo_erc20 \Tatum\Model\ChainBurnCeloErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

Back to top


chainBurnCeloErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnCeloErc20KMS.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnCeloErc20KMS(
    \Tatum\Model\ChainBurnCeloErc20KMS $chain_burn_celo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_celo_erc20_kms \Tatum\Model\ChainBurnCeloErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

Back to top


chainBurnErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnErc20.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnErc20(
    \Tatum\Model\ChainBurnErc20 $chain_burn_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_erc20 \Tatum\Model\ChainBurnErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

2 credits per API call

Burn fungible tokens. Burning fungible tokens deletes the specified supply of the tokens (the amount parameter in the request body) from the smart contract (the contractAddress parameter in the request body).

This API is supported for the following blockchains:

  • Algorand
  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • XinFin

Signing a transaction When burning fungible tokens, 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.

Back to top


chainBurnErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnErc20KMS.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnErc20KMS(
    \Tatum\Model\ChainBurnErc20KMS $chain_burn_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_erc20_kms \Tatum\Model\ChainBurnErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

Back to top


chainBurnKcsErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnKcsErc20.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnKcsErc20(
    \Tatum\Model\ChainBurnKcsErc20 $chain_burn_kcs_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_kcs_erc20 \Tatum\Model\ChainBurnKcsErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

Back to top


chainBurnKcsErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainBurnKcsErc20KMS.php

Request

POST /v3/blockchain/token/burn

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainBurnKcsErc20KMS(
    \Tatum\Model\ChainBurnKcsErc20KMS $chain_burn_kcs_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_burn_kcs_erc20_kms \Tatum\Model\ChainBurnKcsErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Burn fungible tokens

Back to top


chainDeployAlgoErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployAlgoErc20.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployAlgoErc20(
    \Tatum\Model\ChainDeployAlgoErc20 $chain_deploy_algo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_algo_erc20 \Tatum\Model\ChainDeployAlgoErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployAlgoErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployAlgoErc20KMS.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployAlgoErc20KMS(
    \Tatum\Model\ChainDeployAlgoErc20KMS $chain_deploy_algo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_algo_erc20_kms \Tatum\Model\ChainDeployAlgoErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployCeloErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployCeloErc20.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployCeloErc20(
    \Tatum\Model\ChainDeployCeloErc20 $chain_deploy_celo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_celo_erc20 \Tatum\Model\ChainDeployCeloErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployCeloErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployCeloErc20KMS.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployCeloErc20KMS(
    \Tatum\Model\ChainDeployCeloErc20KMS $chain_deploy_celo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_celo_erc20_kms \Tatum\Model\ChainDeployCeloErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployErc20.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployErc20(
    \Tatum\Model\ChainDeployErc20 $chain_deploy_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_erc20 \Tatum\Model\ChainDeployErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

2 credits per API call

Deploy a fungible token smart contract on the blockchain. In a deployed smart contract, you can mint and burn fungible tokens. The whole supply of fungible tokens (the supply parameter in the request body) will be transferred to the specified blockchain address (the address parameter in the request body). Smart contracts are standardized and audited.

This API is supported for the following blockchains:

  • Algorand
  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • Solana
  • XinFin

You can review the code of a deployed smart contract here.

Signing a transaction When deploying a fungible token 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.

Back to top


chainDeployErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployErc20KMS.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployErc20KMS(
    \Tatum\Model\ChainDeployErc20KMS $chain_deploy_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_erc20_kms \Tatum\Model\ChainDeployErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployKcsErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployKcsErc20.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployKcsErc20(
    \Tatum\Model\ChainDeployKcsErc20 $chain_deploy_kcs_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_kcs_erc20 \Tatum\Model\ChainDeployKcsErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeployKcsErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeployKcsErc20KMS.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeployKcsErc20KMS(
    \Tatum\Model\ChainDeployKcsErc20KMS $chain_deploy_kcs_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_kcs_erc20_kms \Tatum\Model\ChainDeployKcsErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeploySolanaSpl()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeploySolanaSpl.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeploySolanaSpl(
    \Tatum\Model\ChainDeploySolanaSpl $chain_deploy_solana_spl,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_solana_spl \Tatum\Model\ChainDeploySolanaSpl    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainDeploySolanaSplKMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainDeploySolanaSplKMS.php

Request

POST /v3/blockchain/token/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainDeploySolanaSplKMS(
    \Tatum\Model\ChainDeploySolanaSplKMS $chain_deploy_solana_spl_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_deploy_solana_spl_kms \Tatum\Model\ChainDeploySolanaSplKMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Deploy a fungible token smart contract

Back to top


chainMintCeloErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintCeloErc20.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintCeloErc20(
    \Tatum\Model\ChainMintCeloErc20 $chain_mint_celo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_celo_erc20 \Tatum\Model\ChainMintCeloErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

Back to top


chainMintCeloErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintCeloErc20KMS.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintCeloErc20KMS(
    \Tatum\Model\ChainMintCeloErc20KMS $chain_mint_celo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_celo_erc20_kms \Tatum\Model\ChainMintCeloErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

Back to top


chainMintErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintErc20.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintErc20(
    \Tatum\Model\ChainMintErc20 $chain_mint_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_erc20 \Tatum\Model\ChainMintErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

2 credits per API call

Create new fungible tokens in the smart contract (the contractAddress parameter in the request body) and transfer them to the specified blockchain address (the to parameter in the request body). You can mint new fungible tokens only if the current supply of tokens in the smart contract is lower than the total supply set for this contract.

This API is supported for the following blockchains:

  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • XinFin

Signing a transaction When minting fungible tokens, 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.

Back to top


chainMintErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintErc20KMS.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintErc20KMS(
    \Tatum\Model\ChainMintErc20KMS $chain_mint_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_erc20_kms \Tatum\Model\ChainMintErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

Back to top


chainMintKcsErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintKcsErc20.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintKcsErc20(
    \Tatum\Model\ChainMintKcsErc20 $chain_mint_kcs_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_kcs_erc20 \Tatum\Model\ChainMintKcsErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

Back to top


chainMintKcsErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainMintKcsErc20KMS.php

Request

POST /v3/blockchain/token/mint

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainMintKcsErc20KMS(
    \Tatum\Model\ChainMintKcsErc20KMS $chain_mint_kcs_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_mint_kcs_erc20_kms \Tatum\Model\ChainMintKcsErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Mint fungible tokens

Back to top


chainTransferAlgoErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferAlgoErc20.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferAlgoErc20(
    \Tatum\Model\ChainTransferAlgoErc20 $chain_transfer_algo_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_algo_erc20 \Tatum\Model\ChainTransferAlgoErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferAlgoErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferAlgoErc20KMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferAlgoErc20KMS(
    \Tatum\Model\ChainTransferAlgoErc20KMS $chain_transfer_algo_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_algo_erc20_kms \Tatum\Model\ChainTransferAlgoErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferBscBep20()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferBscBep20.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferBscBep20(
    \Tatum\Model\ChainTransferBscBep20 $chain_transfer_bsc_bep20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_bsc_bep20 \Tatum\Model\ChainTransferBscBep20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferBscBep20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferBscBep20KMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferBscBep20KMS(
    \Tatum\Model\ChainTransferBscBep20KMS $chain_transfer_bsc_bep20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_bsc_bep20_kms \Tatum\Model\ChainTransferBscBep20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferCeloErc20Token()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferCeloErc20Token.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferCeloErc20Token(
    \Tatum\Model\ChainTransferCeloErc20Token $chain_transfer_celo_erc20_token,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_celo_erc20_token \Tatum\Model\ChainTransferCeloErc20Token    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferCeloErc20TokenKMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferCeloErc20TokenKMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferCeloErc20TokenKMS(
    \Tatum\Model\ChainTransferCeloErc20TokenKMS $chain_transfer_celo_erc20_token_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_celo_erc20_token_kms \Tatum\Model\ChainTransferCeloErc20TokenKMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferEthErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferEthErc20.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferEthErc20(
    \Tatum\Model\ChainTransferEthErc20 $chain_transfer_eth_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_eth_erc20 \Tatum\Model\ChainTransferEthErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

2 credits per API call

Transfer a supply of fungible tokens existing in the smart contract (the contractAddress parameter in the request body) to the specified blockchain address (the to parameter in the request body). Transferring fungible tokens invokes the transfer() method.

This API is supported for the following blockchains:

  • Algorand
  • BNB Smart Chain
  • Celo
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • Solana
  • XinFin

Transferring fungible tokens on Algorand On Algorand, the recipient has to agree in advance to receive your fungible tokens because Algorand charges users for storing the tokens on their addresses, and an Algorand blockchain address by default does not receive the tokens unless explicitly agreed. Before transferring the fungible tokens, make sure that the recipient has agreed to receive the NFT to their address.

Blockchain-specific APIs to transfer fungible tokens You can also use blockchain-specific APIs for transferring fungible tokens on the following blockchains:

Signing a transaction When transferring fungible tokens, 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.

Back to top


chainTransferEthErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferEthErc20KMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferEthErc20KMS(
    \Tatum\Model\ChainTransferEthErc20KMS $chain_transfer_eth_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_eth_erc20_kms \Tatum\Model\ChainTransferEthErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferKcsEthErc20()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferKcsEthErc20.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferKcsEthErc20(
    \Tatum\Model\ChainTransferKcsEthErc20 $chain_transfer_kcs_eth_erc20,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_kcs_eth_erc20 \Tatum\Model\ChainTransferKcsEthErc20    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferKcsEthErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferKcsEthErc20KMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferKcsEthErc20KMS(
    \Tatum\Model\ChainTransferKcsEthErc20KMS $chain_transfer_kcs_eth_erc20_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_kcs_eth_erc20_kms \Tatum\Model\ChainTransferKcsEthErc20KMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferSolanaSpl()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferSolanaSpl.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferSolanaSpl(
    \Tatum\Model\ChainTransferSolanaSpl $chain_transfer_solana_spl,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_solana_spl \Tatum\Model\ChainTransferSolanaSpl    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


chainTransferSolanaSplKMS()

Example

#️⃣ Execute command in terminal

✨ php -f chainTransferSolanaSplKMS.php

Request

POST /v3/blockchain/token/transaction

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->chainTransferSolanaSplKMS(
    \Tatum\Model\ChainTransferSolanaSplKMS $chain_transfer_solana_spl_kms,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\TransactionSigned

Parameters

Name Type Description Notes
$chain_transfer_solana_spl_kms \Tatum\Model\ChainTransferSolanaSplKMS    
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\TransactionSigned

Description

Transfer fungible tokens

Back to top


erc20GetBalance()

Example

#️⃣ Execute command in terminal

✨ php -f erc20GetBalance.php

Request

GET /v3/blockchain/token/balance/{chain}/{contractAddress}/{address}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->erc20GetBalance(
    string $chain,
    string $address,
    string $contract_address,
    [ string $x_testnet_type = 'ethereum-sepolia' ]
): \Tatum\Model\Erc20Balance

Parameters

Name Type Description Notes
$chain string Network name  
$address string The blockchain address that you want to get the token balance of  
$contract_address string The address of the fungible token smart contract  
$x_testnet_type string Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored. [optional] [default to 'ethereum-sepolia']

Return type

\Tatum\Model\Erc20Balance

Description

Get the number of fungible tokens that a blockchain address holds in a smart contract

1 credit per API call

Get the number of the fungible tokens minted on a specific smart contract (the contractAddress path parameter in the request endpoint URL) that a blockchain address holds.

This API is supported for the following blockchains:

  • Algorand
  • BNB Smart Chain
  • Celo
  • Elrond
  • Ethereum
  • Harmony
  • Klaytn
  • KuCoin Community Chain
  • Polygon
  • Solana
  • XinFin

Back to top


erc20GetBalanceAddress()

Example

#️⃣ Execute command in terminal

✨ php -f erc20GetBalanceAddress.php

Request

GET /v3/blockchain/token/address/{chain}/{address}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->erc20GetBalanceAddress(
    string $chain,
    string $address
): \Tatum\Model\Erc20BalanceForAddress[]

Parameters

Name Type Description Notes
$chain string Network name  
$address string The blockchain address that you want to get the token balance of  

Return type

\Tatum\Model\Erc20BalanceForAddress[]

Description

Get the total number of fungible tokens that a blockchain address holds

1 credit per API call

Get the number of all fungible tokens that a blockchain address holds across a blockchain. The tokens are returned grouped by the smart contracts they were minted on.

This API is supported for the following blockchains:

  • Algorand
  • Celo
  • Ethereum
  • Polygon
  • Solana

Back to top


erc20GetTransactionByAddress()

Example

#️⃣ Execute command in terminal

✨ php -f erc20GetTransactionByAddress.php

Request

GET /v3/blockchain/token/transaction/{chain}/{address}/{tokenAddress}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->fungibleTokensERC20OrCompatible()->erc20GetTransactionByAddress(
    string $chain,
    string $address,
    string $token_address,
    float $page_size,
    [ float $offset, ]
    [ float $from, ]
    [ float $to, ]
    [ string $sort = 'DESC' ]
): \Tatum\Model\FungibleTx[]

Parameters

Name Type Description Notes
$chain string The blockchain to work with  
$address string Account address you want to get balance of  
$token_address string Address of the token smart contract  
$page_size float Max number of items per page is 50.  
$offset float Offset to obtain next page of the data. [optional]
$from float Transactions from this block onwards will be included. [optional]
$to float Transactions up to this block will be included. [optional]
$sort string Sorting of the data. ASC - oldest first, DESC - newest first. [optional] [default to 'DESC']

Return type

\Tatum\Model\FungibleTx[]

Description

Get fungible token transactions on a blockchain address

1 credit per API call

Get incoming and outgoing transactions related to fungible tokens on a blockchain address.

This API is supported for the following blockchains:

  • Algorand
  • Celo
  • Ethereum
  • Polygon

Back to top