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

Api/BlockchainOperationsApi

Blockchain operations API Reference

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

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

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

Methods

Method Description
bnbAssetOffchain() Create a BNB-based asset
deployAlgoErc20OffchainKMSAddress() Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account
deployAlgoErc20OffchainMnemonicAddress() Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account
deployAlgoErc20OffchainPKAddress() Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainKMSAddress() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainKMSXpub() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainMnemXpub() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainMnemonicAddress() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainPKAddress() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployCeloErc20OffchainPKXpub() Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account
deployErc20OffchainKMSAddress() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployErc20OffchainKMSXpub() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployErc20OffchainMnemXpub() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployErc20OffchainMnemonicAddress() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployErc20OffchainPKAddress() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployErc20OffchainPKXpub() Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainKMSAddress() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainKMSXpub() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainMnemXpub() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainMnemonicAddress() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainPKAddress() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
deployTrcOffchainPKXpub() Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account
erc20() Register a new ERC-20 or ERC-20-equivalent token in the virtual account
erc20Address() Register a new ERC-20 or ERC-20-equivalent token in the virtual account
offBscDeployErc20OffchainKMSAddress() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offBscDeployErc20OffchainKMSXpub() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offBscDeployErc20OffchainMnemXpub() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offBscDeployErc20OffchainMnemonicAddress() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offBscDeployErc20OffchainPKAddress() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offBscDeployErc20OffchainPKXpub() Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account
offEglTransferEth() Send EGLD from a virtual account to the blockchain
offEglTransferEthKMS() Send EGLD from a virtual account to the blockchain
offEglTransferEthMnemonic() Send EGLD from a virtual account to the blockchain
offKcsDeployErc20OffchainKMSAddress() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKcsDeployErc20OffchainKMSXpub() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKcsDeployErc20OffchainMnemXpub() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKcsDeployErc20OffchainMnemonicAddress() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKcsDeployErc20OffchainPKAddress() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKcsDeployErc20OffchainPKXpub() Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainKMSAddress() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainKMSXpub() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainMnemXpub() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainMnemonicAddress() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainPKAddress() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaDeployErc20OffchainPKXpub() Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account
offKlaTransferEth() Send KLAY from a virtual account to the blockchain
offKlaTransferEthKMS() Send KLAY from a virtual account to the blockchain
offKlaTransferEthMnemonic() Send KLAY from a virtual account to the blockchain
offOneDeployErc20OffchainKMSAddress() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneDeployErc20OffchainKMSXpub() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneDeployErc20OffchainMnemXpub() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneDeployErc20OffchainMnemonicAddress() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneDeployErc20OffchainPKAddress() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneDeployErc20OffchainPKXpub() Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account
offOneTransferEth() Send ONE from a virtual account to the blockchain
offOneTransferEthKMS() Send ONE from a virtual account to the blockchain
offOneTransferEthMnemonic() Send ONE from a virtual account to the blockchain
offPolTransferEth() Send MATIC from a virtual account to the blockchain
offPolTransferEthKMS() Send MATIC from a virtual account to the blockchain
offPolTransferEthMnemonic() Send MATIC from a virtual account to the blockchain
offXdcDeployErc20OffchainKMSAddress() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcDeployErc20OffchainKMSXpub() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcDeployErc20OffchainMnemXpub() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcDeployErc20OffchainMnemonicAddress() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcDeployErc20OffchainPKAddress() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcDeployErc20OffchainPKXpub() Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account
offXdcTransferEth() Send XDC from a virtual account to the blockchain
offXdcTransferEthKMS() Send XDC from a virtual account to the blockchain
offXdcTransferEthMnemonic() Send XDC from a virtual account to the blockchain
storeTokenAddress() Set the contract address of an ERC-20, ERC-20-equivalent, or TRC-10 token
transferAlgo() Send ALGO from a virtual account to the blockchain
transferAlgoErc20() Send ALGO from a virtual account to the blockchain
transferAlgoKMS() Send ALGO from a virtual account to the blockchain
transferBchKMS() Send BCH from a virtual account to the blockchain
transferBchKeyPair() Send BCH from a virtual account to the blockchain
transferBchMnemonic() Send BCH from a virtual account to the blockchain
transferBnb() Send BNB from a virtual account to the blockchain
transferBnbKMS() Send BNB from a virtual account to the blockchain
transferBsc() Send BSC from a virtual account to the blockchain
transferBscKMS() Send BSC from a virtual account to the blockchain
transferBscMnemonic() Send BSC from a virtual account to the blockchain
transferBtcKMS() Send BTC from a virtual account to the blockchain
transferBtcKeyPair() Send BTC from a virtual account to the blockchain
transferBtcMnemonic() Send BTC from a virtual account to the blockchain
transferCelo() Send CELO from a virtual account to the blockchain
transferCeloKMS() Send CELO from a virtual account to the blockchain
transferCeloMnemonic() Send CELO from a virtual account to the blockchain
transferDogeKMS() Send DOGE from a virtual account to the blockchain
transferDogeKeyPair() Send DOGE from a virtual account to the blockchain
transferDogeMnemonic() Send DOGE from a virtual account to the blockchain
transferErc20() Send Ethereum ERC-20 tokens from a virtual account to the blockchain
transferErc20KMS() Send Ethereum ERC-20 tokens from a virtual account to the blockchain
transferErc20Mnemonic() Send Ethereum ERC-20 tokens from a virtual account to the blockchain
transferEth() Send ETH from a virtual account to the blockchain
transferEthKMS() Send ETH from a virtual account to the blockchain
transferEthMnemonic() Send ETH from a virtual account to the blockchain
transferFlowKMS() Send FLOW from a virtual account to the blockchain
transferFlowMnemonic() Send FLOW from a virtual account to the blockchain
transferFlowPK() Send FLOW from a virtual account to the blockchain
transferKCS() Send KCS from a virtual account to the blockchain
transferKCSKMS() Send KCS from a virtual account to the blockchain
transferKCSMnemonic() Send KCS from a virtual account to the blockchain
transferLtcKMS() Send LTC from a virtual account to the blockchain
transferLtcKeyPair() Send LTC from a virtual account to the blockchain
transferLtcMnemonic() Send LTC from a virtual account to the blockchain
transferSol() Send SOL from a virtual account to the blockchain
transferSolKMS() Send SOL from a virtual account to the blockchain
transferTron() Send TRON from a virtual account to the blockchain
transferTronKMS() Send TRON from a virtual account to the blockchain
transferTronMnemonic() Send TRON from a virtual account to the blockchain
transferXlm() Send XLM from a virtual account to the blockchain
transferXlmKMS() Send XLM from a virtual account to the blockchain
transferXrp() Send XRP from a virtual account to the blockchain
transferXrpKMS() Send XRP from a virtual account to the blockchain
trcAddress() Register a new TRON TRC-10 or TRC-20 token in the virtual account
trcXpub() Register a new TRON TRC-10 or TRC-20 token in the virtual account
xlmAssetOffchain() Create an XLM-based asset
xrpAssetOffchain() Create XRP based Asset

bnbAssetOffchain()

Example

#️⃣ Execute command in terminal

✨ php -f bnbAssetOffchain.php

Request

POST /v3/offchain/bnb/asset

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->bnbAssetOffchain(
    \Tatum\Model\CreateBnbAsset $create_bnb_asset
)

Parameters

Name Type Description Notes
$create_bnb_asset \Tatum\Model\CreateBnbAsset    

Return type

void (empty response body)

Description

Create a BNB-based asset

2 credits per API call.

Create a BNB-based asset in a virtual account. The asset must first be created and configured on BNB Beacon Chain blockhain.

This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

Back to top


deployAlgoErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployAlgoErc20OffchainKMSAddress.php

Request

POST /v3/offchain/algo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployAlgoErc20OffchainKMSAddress(
    \Tatum\Model\DeployAlgoErc20OffchainKMSAddress $deploy_algo_erc20_offchain_kms_address
): \Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_algo_erc20_offchain_kms_address \Tatum\Model\DeployAlgoErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Description

Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployAlgoErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployAlgoErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/algo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployAlgoErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress $deploy_algo_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_algo_erc20_offchain_mnemonic_address \Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Description

Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account

4 credits per API call

Deploy an Algorand ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Algorand ERC20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account, 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


deployAlgoErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployAlgoErc20OffchainPKAddress.php

Request

POST /v3/offchain/algo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployAlgoErc20OffchainPKAddress(
    \Tatum\Model\DeployAlgoErc20OffchainPKAddress $deploy_algo_erc20_offchain_pk_address
): \Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_algo_erc20_offchain_pk_address \Tatum\Model\DeployAlgoErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployAlgoErc20OffchainMnemonicAddress200Response

Description

Deploy an Algorand ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployCeloErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainKMSAddress.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainKMSAddress(
    \Tatum\Model\DeployCeloErc20OffchainKMSAddress $deploy_celo_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_kms_address \Tatum\Model\DeployCeloErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployCeloErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainKMSXpub.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainKMSXpub(
    \Tatum\Model\DeployCeloErc20OffchainKMSXpub $deploy_celo_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_kms_xpub \Tatum\Model\DeployCeloErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployCeloErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainMnemXpub.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainMnemXpub(
    \Tatum\Model\DeployCeloErc20OffchainMnemXpub $deploy_celo_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_mnem_xpub \Tatum\Model\DeployCeloErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployCeloErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployCeloErc20OffchainMnemonicAddress $deploy_celo_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_mnemonic_address \Tatum\Model\DeployCeloErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a Celo ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Celo ERC-20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account, 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


deployCeloErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainPKAddress.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainPKAddress(
    \Tatum\Model\DeployCeloErc20OffchainPKAddress $deploy_celo_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_pk_address \Tatum\Model\DeployCeloErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployCeloErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployCeloErc20OffchainPKXpub.php

Request

POST /v3/offchain/celo/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployCeloErc20OffchainPKXpub(
    \Tatum\Model\DeployCeloErc20OffchainPKXpub $deploy_celo_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_celo_erc20_offchain_pk_xpub \Tatum\Model\DeployCeloErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Celo ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


deployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

Back to top


deployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

Back to top


deployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

Back to top


deployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

4 credits per API call

Deploy an Ethereum ERC-20 smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying an Ethereum ERC-20 smart contract to the blockchain and a virtual account, 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


deployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainPKAddress.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

Back to top


deployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployErc20OffchainPKXpub.php

Request

POST /v3/offchain/ethereum/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy an Ethereum ERC-20 smart contract to the blockchain and a virtual account

Back to top


deployTrcOffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainKMSAddress.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainKMSAddress(
    \Tatum\Model\DeployTrcOffchainKMSAddress $deploy_trc_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_kms_address \Tatum\Model\DeployTrcOffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

Back to top


deployTrcOffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainKMSXpub.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainKMSXpub(
    \Tatum\Model\DeployTrcOffchainKMSXpub $deploy_trc_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_kms_xpub \Tatum\Model\DeployTrcOffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

Back to top


deployTrcOffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainMnemXpub.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainMnemXpub(
    \Tatum\Model\DeployTrcOffchainMnemXpub $deploy_trc_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_mnem_xpub \Tatum\Model\DeployTrcOffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

Back to top


deployTrcOffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainMnemonicAddress.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainMnemonicAddress(
    \Tatum\Model\DeployTrcOffchainMnemonicAddress $deploy_trc_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_mnemonic_address \Tatum\Model\DeployTrcOffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

10 credits per API call

Deploy a TRON TRC-10 or TRC-20 smart contract. This is a helper method, which is combination of Register new TRC-10/20 token in the ledger and Deploy blockchain TRC20 or Deploy blockchain TRC10.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account, 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


deployTrcOffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainPKAddress.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainPKAddress(
    \Tatum\Model\DeployTrcOffchainPKAddress $deploy_trc_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_pk_address \Tatum\Model\DeployTrcOffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

Back to top


deployTrcOffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f deployTrcOffchainPKXpub.php

Request

POST /v3/offchain/tron/trc/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->deployTrcOffchainPKXpub(
    \Tatum\Model\DeployTrcOffchainPKXpub $deploy_trc_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_trc_offchain_pk_xpub \Tatum\Model\DeployTrcOffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a TRON TRC-10 or TRC-20 smart contract to the blockchain and a virtual account

Back to top


erc20()

Example

#️⃣ Execute command in terminal

✨ php -f erc20.php

Request

POST /v3/offchain/token/{chain}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->erc20(
    string $chain,
    \Tatum\Model\Erc20 $erc20
): \Tatum\Model\Erc20Response

Parameters

Name Type Description Notes
$chain string Blockchain to work with  
$erc20 \Tatum\Model\Erc20    

Return type

\Tatum\Model\Erc20Response

Description

Register a new ERC-20 or ERC-20-equivalent token in the virtual account

2 credits per API call.

This is the first step to create a new ERC-20 or ERC-20 equivalent token with some supply in a virtual account. This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract. The whole supply of token is stored in the customer’s newly created account. Then it is possible to create new Tatum accounts with token name as account’s currency. Newly created account is frozen until the specific smart contract address is linked with the Tatum virtual currency, representing the token. Order of the steps to create smart contract with Tatum private ledger support:

  1. Register token (this API) - creates a virtual currency within Tatum
  2. Deploy smart contract - create new smart contract on the blockchain
  3. Store smart contract address - link newly created smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for Tatum accounts Blockchain address will be assigned to the virtual account as a deposit address. It can be defined via the address explicitly or by using xpub and derivationIndex.

Back to top


erc20Address()

Example

#️⃣ Execute command in terminal

✨ php -f erc20Address.php

Request

POST /v3/offchain/token/{chain}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->erc20Address(
    string $chain,
    \Tatum\Model\Erc20Address $erc20_address
): \Tatum\Model\Erc20Response

Parameters

Name Type Description Notes
$chain string Blockchain to work with  
$erc20_address \Tatum\Model\Erc20Address    

Return type

\Tatum\Model\Erc20Response

Description

Register a new ERC-20 or ERC-20-equivalent token in the virtual account

Back to top


offBscDeployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

Back to top


offBscDeployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

Back to top


offBscDeployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

Back to top


offBscDeployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a BNB Smart Chain BEP-20 smart contract. This is a helper method, which is combination of Register new BEP20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account, 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


offBscDeployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainPKAddress.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

Back to top


offBscDeployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offBscDeployErc20OffchainPKXpub.php

Request

POST /v3/offchain/bsc/bep20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offBscDeployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a BNB Smart Chain BEP-20 smart contract to the blockchain and a virtual account

Back to top


offEglTransferEth()

Example

#️⃣ Execute command in terminal

✨ php -f offEglTransferEth.php

Request

POST /v3/offchain/egld/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offEglTransferEth(
    \Tatum\Model\TransferEth $transfer_eth
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send EGLD from a virtual account to the blockchain

4 credits per API call.

Send EGLD from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


offEglTransferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f offEglTransferEthKMS.php

Request

POST /v3/offchain/egld/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offEglTransferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send EGLD from a virtual account to the blockchain

Back to top


offEglTransferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f offEglTransferEthMnemonic.php

Request

POST /v3/offchain/egld/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offEglTransferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send EGLD from a virtual account to the blockchain

Back to top


offKcsDeployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKcsDeployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKcsDeployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKcsDeployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new Kcs ERC20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a KCC ERC-20-equivalent smart contract to the blockchain and a virtual account, 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


offKcsDeployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainPKAddress.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKcsDeployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKcsDeployErc20OffchainPKXpub.php

Request

POST /v3/offchain/kcs/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKcsDeployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a KuCoin Community Chain (KCC) ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaDeployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaDeployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaDeployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaDeployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a Klaytn ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account, 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


offKlaDeployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainPKAddress.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaDeployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaDeployErc20OffchainPKXpub.php

Request

POST /v3/offchain/klaytn/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaDeployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Klaytn ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offKlaTransferEth()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaTransferEth.php

Request

POST /v3/offchain/klaytn/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaTransferEth(
    \Tatum\Model\TransferEth $transfer_eth
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KLAY from a virtual account to the blockchain

4 credits per API call.

Send KLAY or ERC-20-equivalent tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If KLAY server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


offKlaTransferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaTransferEthKMS.php

Request

POST /v3/offchain/klaytn/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaTransferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KLAY from a virtual account to the blockchain

Back to top


offKlaTransferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f offKlaTransferEthMnemonic.php

Request

POST /v3/offchain/klaytn/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offKlaTransferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KLAY from a virtual account to the blockchain

Back to top


offOneDeployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

Back to top


offOneDeployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

Back to top


offOneDeployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

Back to top


offOneDeployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a Harmony HRM-20 smart contract. This is a helper method, which is combination of Register new HRM20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a Harmony HRM-20 smart contract to the blockchain and a virtual account, 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


offOneDeployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainPKAddress.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

Back to top


offOneDeployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offOneDeployErc20OffchainPKXpub.php

Request

POST /v3/offchain/one/hrm20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneDeployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub,
    [ float $shard_id = 0 ]
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    
$shard_id float The ID of the shard to operate [optional] [default to 0]

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a Harmony HRM-20 smart contract to the blockchain and a virtual account

Back to top


offOneTransferEth()

Example

#️⃣ Execute command in terminal

✨ php -f offOneTransferEth.php

Request

POST /v3/offchain/one/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneTransferEth(
    \Tatum\Model\TransferEth $transfer_eth,
    [ float $shard_id = 0 ]
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    
$shard_id float Shard to operate on [optional] [default to 0]

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ONE from a virtual account to the blockchain

4 credits per API call.

Send ONE (Harmony) or HRM-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If ONE server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


offOneTransferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f offOneTransferEthKMS.php

Request

POST /v3/offchain/one/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneTransferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms,
    [ float $shard_id = 0 ]
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    
$shard_id float Shard to operate on [optional] [default to 0]

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ONE from a virtual account to the blockchain

Back to top


offOneTransferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f offOneTransferEthMnemonic.php

Request

POST /v3/offchain/one/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offOneTransferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic,
    [ float $shard_id = 0 ]
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    
$shard_id float Shard to operate on [optional] [default to 0]

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ONE from a virtual account to the blockchain

Back to top


offPolTransferEth()

Example

#️⃣ Execute command in terminal

✨ php -f offPolTransferEth.php

Request

POST /v3/offchain/polygon/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offPolTransferEth(
    \Tatum\Model\TransferEth $transfer_eth
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send MATIC from a virtual account to the blockchain

4 credits per API call.

Send MATIC (Polygon) or ERC-20-equivalent Polygon tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Polygon server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


offPolTransferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f offPolTransferEthKMS.php

Request

POST /v3/offchain/polygon/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offPolTransferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send MATIC from a virtual account to the blockchain

Back to top


offPolTransferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f offPolTransferEthMnemonic.php

Request

POST /v3/offchain/polygon/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offPolTransferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send MATIC from a virtual account to the blockchain

Back to top


offXdcDeployErc20OffchainKMSAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainKMSAddress.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainKMSAddress(
    \Tatum\Model\DeployErc20OffchainKMSAddress $deploy_erc20_offchain_kms_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_address \Tatum\Model\DeployErc20OffchainKMSAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offXdcDeployErc20OffchainKMSXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainKMSXpub.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainKMSXpub(
    \Tatum\Model\DeployErc20OffchainKMSXpub $deploy_erc20_offchain_kms_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_kms_xpub \Tatum\Model\DeployErc20OffchainKMSXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offXdcDeployErc20OffchainMnemXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainMnemXpub.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainMnemXpub(
    \Tatum\Model\DeployErc20OffchainMnemXpub $deploy_erc20_offchain_mnem_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnem_xpub \Tatum\Model\DeployErc20OffchainMnemXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offXdcDeployErc20OffchainMnemonicAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainMnemonicAddress.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainMnemonicAddress(
    \Tatum\Model\DeployErc20OffchainMnemonicAddress $deploy_erc20_offchain_mnemonic_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_mnemonic_address \Tatum\Model\DeployErc20OffchainMnemonicAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

4 credits per API call

Deploy a XinFin ERC-20-equivalent smart contract. This is a helper method, which is combination of Register new ERC20 token in the ledger and Deploy blockchain ERC20.

After deploying a contract to blockchain, the contract address will become available and must be stored within Tatum. Otherwise, it will not be possible to interact with it and starts automatic blockchain synchronization.

Signing a transaction When deploying a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account, 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


offXdcDeployErc20OffchainPKAddress()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainPKAddress.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainPKAddress(
    \Tatum\Model\DeployErc20OffchainPKAddress $deploy_erc20_offchain_pk_address
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_address \Tatum\Model\DeployErc20OffchainPKAddress    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offXdcDeployErc20OffchainPKXpub()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcDeployErc20OffchainPKXpub.php

Request

POST /v3/offchain/xdc/erc20/deploy

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcDeployErc20OffchainPKXpub(
    \Tatum\Model\DeployErc20OffchainPKXpub $deploy_erc20_offchain_pk_xpub
): \Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Parameters

Name Type Description Notes
$deploy_erc20_offchain_pk_xpub \Tatum\Model\DeployErc20OffchainPKXpub    

Return type

\Tatum\Model\DeployErc20OffchainMnemonicAddress200Response

Description

Deploy a XinFin ERC-20-equivalent smart contract to the blockchain and a virtual account

Back to top


offXdcTransferEth()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcTransferEth.php

Request

POST /v3/offchain/xdc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcTransferEth(
    \Tatum\Model\TransferEth $transfer_eth
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XDC from a virtual account to the blockchain

4 credits per API call.

Send XDC (XinFin) or ERC-20-equivalent XinFin tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If XDC server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


offXdcTransferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcTransferEthKMS.php

Request

POST /v3/offchain/xdc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcTransferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XDC from a virtual account to the blockchain

Back to top


offXdcTransferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f offXdcTransferEthMnemonic.php

Request

POST /v3/offchain/xdc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->offXdcTransferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XDC from a virtual account to the blockchain

Back to top


storeTokenAddress()

Example

#️⃣ Execute command in terminal

✨ php -f storeTokenAddress.php

Request

POST /v3/offchain/token/{name}/{address}

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->storeTokenAddress(
    string $address,
    string $name
)

Parameters

Name Type Description Notes
$address string On Algorand, this is the asset ID; on TRON, this is the token ID; on the other blockchains, this is the address of the smart contract.  
$name string The name of the token (the token symbol)  

Return type

void (empty response body)

Description

Set the contract address of an ERC-20, ERC-20-equivalent, or TRC-10 token

2 credits per API call

Set the contract address of an ERC-20, ERC-20-equivalent (for example, BEP-20, HRM-20, and so on), or TRC-10 token to be able to communicate with the smart contract.

After creating and deploying the token to the blockchain, the smart contract address is generated and must be set within Tatum. If the address is not set, the Tatum platform will not be able to detect incoming deposits of the tokens and transfer the tokens from virtual accounts to blockchain addresses.

NOTE:

  • For Algorand, the contract address is the asset ID (assetId), for example, 55351976.
  • For TRON, the contract address is the token ID (tokenId), for example, 1234567.

Back to top


transferAlgo()

Example

#️⃣ Execute command in terminal

✨ php -f transferAlgo.php

Request

POST /v3/offchain/algorand/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferAlgo(
    \Tatum\Model\TransferAlgo $transfer_algo
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_algo \Tatum\Model\TransferAlgo    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ALGO from a virtual account to the blockchain

4 credits per API call

Send Algos or ERC-20-equivalent Algorand tokens from a virtual account (even from a virtual account without deposit addresses adssigned) to the Algorand blockchain.

The recipient has to agree in advance to receive assets because Algorand charges users for storing assets on their addresses, and an Algorand blockchain address by default does not receive assets unless explicitly agreed. Before sending any asset from a virtual account to the blockchain, make sure that the recipient has agreed to receive the assets to their address.

Sending Algorand assets creates an internal Tatum withdrawal request with an ID. If everything works as expected, the withdrawal request is marked as complete and a transaction ID is assigned to it.

  • If a server connection is unavailable, the withdrawal request is cancelled.
  • If the transfer to the blockchain is successful, but the Tatum infrastructure cannot be accesses, the ID of the blockchain transaction is returned and you have to complete the withdrawal request manually. Otherwise, all other withdrawals will be pending.

Signing a transaction When sending Algos or ERC-20-equivalent Algorand 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


transferAlgoErc20()

Example

#️⃣ Execute command in terminal

✨ php -f transferAlgoErc20.php

Request

POST /v3/offchain/algorand/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferAlgoErc20(
    \Tatum\Model\TransferAlgoErc20 $transfer_algo_erc20
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_algo_erc20 \Tatum\Model\TransferAlgoErc20    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ALGO from a virtual account to the blockchain

Back to top


transferAlgoKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferAlgoKMS.php

Request

POST /v3/offchain/algorand/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferAlgoKMS(
    \Tatum\Model\TransferAlgoKMS $transfer_algo_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_algo_kms \Tatum\Model\TransferAlgoKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ALGO from a virtual account to the blockchain

Back to top


transferBchKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferBchKMS.php

Request

POST /v3/offchain/bcash/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBchKMS(
    \Tatum\Model\TransferBchKMS $transfer_bch_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bch_kms \Tatum\Model\TransferBchKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BCH from a virtual account to the blockchain

Back to top


transferBchKeyPair()

Example

#️⃣ Execute command in terminal

✨ php -f transferBchKeyPair.php

Request

POST /v3/offchain/bcash/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBchKeyPair(
    \Tatum\Model\TransferBchKeyPair $transfer_bch_key_pair
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bch_key_pair \Tatum\Model\TransferBchKeyPair    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BCH from a virtual account to the blockchain

Back to top


transferBchMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferBchMnemonic.php

Request

POST /v3/offchain/bcash/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBchMnemonic(
    \Tatum\Model\TransferBchMnemonic $transfer_bch_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bch_mnemonic \Tatum\Model\TransferBchMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BCH from a virtual account to the blockchain

10 credits per API call.

Send BCH (Bitcoin Cash) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Bitcoin Cash server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. There are two possibilites how the transaction on the blockchain can be created:
  • Using mnemonic - all of the addresses, that are generated from the mnemonic are scanned for the incoming deposits which are used as a source of the transaction. Assets, which are not used in a transaction are moved to the system address wih the derivation index 0. Address with index 0 cannot be assigned automatically to any account and is used for custodial wallet use cases. For non-custodial wallets, field attr should be present and it should be address with the index 1 of the connected wallet.
  • Using keyPair - addresses which are used as a source of the transaction are entered manually It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful. 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 losing 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.

Back to top


transferBnb()

Example

#️⃣ Execute command in terminal

✨ php -f transferBnb.php

Request

POST /v3/offchain/bnb/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBnb(
    \Tatum\Model\TransferBnb $transfer_bnb
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bnb \Tatum\Model\TransferBnb    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BNB from a virtual account to the blockchain

10 credits per API call.

Send BNB (BNB Beacon Chain) or BNB assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If BNB server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferBnbKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferBnbKMS.php

Request

POST /v3/offchain/bnb/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBnbKMS(
    \Tatum\Model\TransferBnbKMS $transfer_bnb_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bnb_kms \Tatum\Model\TransferBnbKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BNB from a virtual account to the blockchain

Back to top


transferBsc()

Example

#️⃣ Execute command in terminal

✨ php -f transferBsc.php

Request

POST /v3/offchain/bsc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBsc(
    \Tatum\Model\TransferBsc $transfer_bsc
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bsc \Tatum\Model\TransferBsc    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BSC from a virtual account to the blockchain

4 credits per API call.

Send BSC (BNB Smart Chain) or BEP-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If BSC server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferBscKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferBscKMS.php

Request

POST /v3/offchain/bsc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBscKMS(
    \Tatum\Model\TransferBscKMS $transfer_bsc_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bsc_kms \Tatum\Model\TransferBscKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BSC from a virtual account to the blockchain

Back to top


transferBscMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferBscMnemonic.php

Request

POST /v3/offchain/bsc/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBscMnemonic(
    \Tatum\Model\TransferBscMnemonic $transfer_bsc_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_bsc_mnemonic \Tatum\Model\TransferBscMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BSC from a virtual account to the blockchain

Back to top


transferBtcKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferBtcKMS.php

Request

POST /v3/offchain/bitcoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBtcKMS(
    \Tatum\Model\TransferBtcKMS $transfer_btc_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_btc_kms \Tatum\Model\TransferBtcKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BTC from a virtual account to the blockchain

Back to top


transferBtcKeyPair()

Example

#️⃣ Execute command in terminal

✨ php -f transferBtcKeyPair.php

Request

POST /v3/offchain/bitcoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBtcKeyPair(
    \Tatum\Model\TransferBtcKeyPair $transfer_btc_key_pair
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_btc_key_pair \Tatum\Model\TransferBtcKeyPair    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BTC from a virtual account to the blockchain

Back to top


transferBtcMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferBtcMnemonic.php

Request

POST /v3/offchain/bitcoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferBtcMnemonic(
    \Tatum\Model\TransferBtcMnemonic $transfer_btc_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_btc_mnemonic \Tatum\Model\TransferBtcMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send BTC from a virtual account to the blockchain

2 credits per API call.

Send BTC (Bitcoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Bitcoin server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. There are two possibilites how the transaction on the blockchain can be created:
  • Using mnemonic - all of the addresses, that are generated from the mnemonic are scanned for the incoming deposits which are used as a source of the transaction. Assets, which are not used in a transaction are moved to the system address wih the derivation index 0. Address with index 0 cannot be assigned automatically to any account and is used for custodial wallet use cases. For non-custodial wallets, field attr should be present and it should be address with the index 1 of the connected wallet.
  • Using keyPair - addresses which are used as a source of the transaction are entered manually It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful. When some of the steps fails, Cancel withdrawal operation is used, which cancels withdrawal and creates refund transaction to the sender account. 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 losing 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.

Back to top


transferCelo()

Example

#️⃣ Execute command in terminal

✨ php -f transferCelo.php

Request

POST /v3/offchain/celo/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferCelo(
    \Tatum\Model\TransferCelo $transfer_celo
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_celo \Tatum\Model\TransferCelo    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send CELO from a virtual account to the blockchain

4 credits per API call.

Send CELO (Celo), ERC-20-equivalent Celo tokens, cUSD, or cEUR from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Celo server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferCeloKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferCeloKMS.php

Request

POST /v3/offchain/celo/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferCeloKMS(
    \Tatum\Model\TransferCeloKMS $transfer_celo_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_celo_kms \Tatum\Model\TransferCeloKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send CELO from a virtual account to the blockchain

Back to top


transferCeloMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferCeloMnemonic.php

Request

POST /v3/offchain/celo/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferCeloMnemonic(
    \Tatum\Model\TransferCeloMnemonic $transfer_celo_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_celo_mnemonic \Tatum\Model\TransferCeloMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send CELO from a virtual account to the blockchain

Back to top


transferDogeKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferDogeKMS.php

Request

POST /v3/offchain/dogecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferDogeKMS(
    \Tatum\Model\TransferDogeKMS $transfer_doge_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_doge_kms \Tatum\Model\TransferDogeKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send DOGE from a virtual account to the blockchain

Back to top


transferDogeKeyPair()

Example

#️⃣ Execute command in terminal

✨ php -f transferDogeKeyPair.php

Request

POST /v3/offchain/dogecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferDogeKeyPair(
    \Tatum\Model\TransferDogeKeyPair $transfer_doge_key_pair
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_doge_key_pair \Tatum\Model\TransferDogeKeyPair    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send DOGE from a virtual account to the blockchain

Back to top


transferDogeMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferDogeMnemonic.php

Request

POST /v3/offchain/dogecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferDogeMnemonic(
    \Tatum\Model\TransferDogeMnemonic $transfer_doge_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_doge_mnemonic \Tatum\Model\TransferDogeMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send DOGE from a virtual account to the blockchain

4 credits per API call.

Send DOGE (Dogecoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Dogecoin server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. There are two possibilites how the transaction on the blockchain can be created:
  • Using mnemonic - all of the addresses, that are generated from the mnemonic are scanned for the incoming deposits which are used as a source of the transaction. Assets, which are not used in a transaction are moved to the system address wih the derivation index 0. Address with index 0 cannot be assigned automatically to any account and is used for custodial wallet use cases. For non-custodial wallets, field attr should be present and it should be address with the index 1 of the connected wallet.
  • Using keyPair - addresses which are used as a source of the transaction are entered manually It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful. 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 losing 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.

Back to top


transferErc20()

Example

#️⃣ Execute command in terminal

✨ php -f transferErc20.php

Request

POST /v3/offchain/ethereum/erc20/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferErc20(
    \Tatum\Model\TransferErc20 $transfer_erc20
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_erc20 \Tatum\Model\TransferErc20    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send Ethereum ERC-20 tokens from a virtual account to the blockchain

4 credits per API call.

Send Ethereum ERC-20 tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Ethereum server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferErc20KMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferErc20KMS.php

Request

POST /v3/offchain/ethereum/erc20/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferErc20KMS(
    \Tatum\Model\TransferErc20KMS $transfer_erc20_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_erc20_kms \Tatum\Model\TransferErc20KMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send Ethereum ERC-20 tokens from a virtual account to the blockchain

Back to top


transferErc20Mnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferErc20Mnemonic.php

Request

POST /v3/offchain/ethereum/erc20/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferErc20Mnemonic(
    \Tatum\Model\TransferErc20Mnemonic $transfer_erc20_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_erc20_mnemonic \Tatum\Model\TransferErc20Mnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send Ethereum ERC-20 tokens from a virtual account to the blockchain

Back to top


transferEth()

Example

#️⃣ Execute command in terminal

✨ php -f transferEth.php

Request

POST /v3/offchain/ethereum/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferEth(
    \Tatum\Model\TransferEth $transfer_eth
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth \Tatum\Model\TransferEth    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ETH from a virtual account to the blockchain

4 credits per API call.

Send ETH (Ethereum) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Ethereum server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferEthKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferEthKMS.php

Request

POST /v3/offchain/ethereum/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferEthKMS(
    \Tatum\Model\TransferEthKMS $transfer_eth_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_kms \Tatum\Model\TransferEthKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ETH from a virtual account to the blockchain

Back to top


transferEthMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferEthMnemonic.php

Request

POST /v3/offchain/ethereum/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferEthMnemonic(
    \Tatum\Model\TransferEthMnemonic $transfer_eth_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_eth_mnemonic \Tatum\Model\TransferEthMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send ETH from a virtual account to the blockchain

Back to top


transferFlowKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferFlowKMS.php

Request

POST /v3/offchain/flow/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferFlowKMS(
    \Tatum\Model\TransferFlowKMS $transfer_flow_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_flow_kms \Tatum\Model\TransferFlowKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send FLOW from a virtual account to the blockchain

Back to top


transferFlowMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferFlowMnemonic.php

Request

POST /v3/offchain/flow/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferFlowMnemonic(
    \Tatum\Model\TransferFlowMnemonic $transfer_flow_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_flow_mnemonic \Tatum\Model\TransferFlowMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send FLOW from a virtual account to the blockchain

100 credits per API call. Tatum covers the fee connected to the transaction costs in subscription credits. This operation can be done on mainnet only for paid plans.

Send FLOW (Flow) or FUSD from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Flow server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. There are two possibilites how the transaction on the blockchain can be created:
  • Using mnemonic and index - private key is generated based on the index in the mnemonic.
  • Using secret - private keys is entered manually. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful. 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 losing 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.

Back to top


transferFlowPK()

Example

#️⃣ Execute command in terminal

✨ php -f transferFlowPK.php

Request

POST /v3/offchain/flow/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferFlowPK(
    \Tatum\Model\TransferFlowPK $transfer_flow_pk
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_flow_pk \Tatum\Model\TransferFlowPK    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send FLOW from a virtual account to the blockchain

Back to top


transferKCS()

Example

#️⃣ Execute command in terminal

✨ php -f transferKCS.php

Request

POST /v3/offchain/kcs/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferKCS(
    \Tatum\Model\TransferKCS $transfer_kcs
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_kcs \Tatum\Model\TransferKCS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KCS from a virtual account to the blockchain

4 credits per API call.

Send KCS (KuCoin Community Chain (KCC)) or ERC-20-equivalent KCC tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If KCS server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferKCSKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferKCSKMS.php

Request

POST /v3/offchain/kcs/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferKCSKMS(
    \Tatum\Model\TransferKCSKMS $transfer_kcskms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_kcskms \Tatum\Model\TransferKCSKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KCS from a virtual account to the blockchain

Back to top


transferKCSMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferKCSMnemonic.php

Request

POST /v3/offchain/kcs/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferKCSMnemonic(
    \Tatum\Model\TransferKCSMnemonic $transfer_kcs_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_kcs_mnemonic \Tatum\Model\TransferKCSMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send KCS from a virtual account to the blockchain

Back to top


transferLtcKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferLtcKMS.php

Request

POST /v3/offchain/litecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferLtcKMS(
    \Tatum\Model\TransferLtcKMS $transfer_ltc_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_ltc_kms \Tatum\Model\TransferLtcKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send LTC from a virtual account to the blockchain

Back to top


transferLtcKeyPair()

Example

#️⃣ Execute command in terminal

✨ php -f transferLtcKeyPair.php

Request

POST /v3/offchain/litecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferLtcKeyPair(
    \Tatum\Model\TransferLtcKeyPair $transfer_ltc_key_pair
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_ltc_key_pair \Tatum\Model\TransferLtcKeyPair    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send LTC from a virtual account to the blockchain

Back to top


transferLtcMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferLtcMnemonic.php

Request

POST /v3/offchain/litecoin/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferLtcMnemonic(
    \Tatum\Model\TransferLtcMnemonic $transfer_ltc_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_ltc_mnemonic \Tatum\Model\TransferLtcMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send LTC from a virtual account to the blockchain

10 credits per API call.

Send LTC (Litecoin) from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Litecoin server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. There are two possibilites how the transaction on the blockchain can be created:
  • Using mnemonic - all of the addresses, that are generated from the mnemonic are scanned for the incoming deposits which are used as a source of the transaction. Assets, which are not used in a transaction are moved to the system address wih the derivation index 0. Address with index 0 cannot be assigned automatically to any account and is used for custodial wallet use cases. For non-custodial wallets, field attr should be present and it should be address with the index 1 of the connected wallet.
  • Using keyPair - addresses which are used as a source of the transaction are entered manually It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. This method is a helper method, which internally wraps these steps:
    1. Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
    2. Perform blockchain transaction
    3. Complete withdrawal - move the withdrawal to the completed state, when all of the previous steps were successful. 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 losing 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.

Back to top


transferSol()

Example

#️⃣ Execute command in terminal

✨ php -f transferSol.php

Request

POST /v3/offchain/solana/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferSol(
    \Tatum\Model\TransferSol $transfer_sol
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_sol \Tatum\Model\TransferSol    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send SOL from a virtual account to the blockchain

10 credits per API call

Send SOL (Solana), USDC_SOL, or custom SPL tokens from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If SOL server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending.

It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.

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 losing 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.

Back to top


transferSolKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferSolKMS.php

Request

POST /v3/offchain/solana/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferSolKMS(
    \Tatum\Model\TransferSolKMS $transfer_sol_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_sol_kms \Tatum\Model\TransferSolKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send SOL from a virtual account to the blockchain

Back to top


transferTron()

Example

#️⃣ Execute command in terminal

✨ php -f transferTron.php

Request

POST /v3/offchain/tron/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferTron(
    \Tatum\Model\TransferTron $transfer_tron
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_tron \Tatum\Model\TransferTron    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send TRON from a virtual account to the blockchain

10 credits per API call.

Send TRON or TRX assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. If every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If Tron server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferTronKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferTronKMS.php

Request

POST /v3/offchain/tron/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferTronKMS(
    \Tatum\Model\TransferTronKMS $transfer_tron_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_tron_kms \Tatum\Model\TransferTronKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send TRON from a virtual account to the blockchain

Back to top


transferTronMnemonic()

Example

#️⃣ Execute command in terminal

✨ php -f transferTronMnemonic.php

Request

POST /v3/offchain/tron/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferTronMnemonic(
    \Tatum\Model\TransferTronMnemonic $transfer_tron_mnemonic
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_tron_mnemonic \Tatum\Model\TransferTronMnemonic    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send TRON from a virtual account to the blockchain

Back to top


transferXlm()

Example

#️⃣ Execute command in terminal

✨ php -f transferXlm.php

Request

POST /v3/offchain/xlm/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferXlm(
    \Tatum\Model\TransferXlm $transfer_xlm
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_xlm \Tatum\Model\TransferXlm    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XLM from a virtual account to the blockchain

10 credits per API call

Send XLM (Stellar) or XLM-based assets from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If XLM server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending.

It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them.

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 losing 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.

Back to top


transferXlmKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferXlmKMS.php

Request

POST /v3/offchain/xlm/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferXlmKMS(
    \Tatum\Model\TransferXlmKMS $transfer_xlm_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_xlm_kms \Tatum\Model\TransferXlmKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XLM from a virtual account to the blockchain

Back to top


transferXrp()

Example

#️⃣ Execute command in terminal

✨ php -f transferXrp.php

Request

POST /v3/offchain/xrp/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferXrp(
    \Tatum\Model\TransferXrp $transfer_xrp
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_xrp \Tatum\Model\TransferXrp    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XRP from a virtual account to the blockchain

10 credits per API call.

Send XRP from a virtual account to the blockchain. This will create Tatum internal withdrawal request with ID. When every system works as expected, withdrawal request is marked as complete and transaction id is assigned to it.

  • If XRP server connection is unavailable, withdrawal request is cancelled.
  • If blockchain transfer is successful, but is it not possible to reach Tatum, transaction id of blockchain transaction is returned and withdrawal request must be completed manually, otherwise all other withdrawals will be pending. It is possible to perform ledger to blockchain transaction for ledger accounts without blockchain address assigned to them. 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 losing 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.

Back to top


transferXrpKMS()

Example

#️⃣ Execute command in terminal

✨ php -f transferXrpKMS.php

Request

POST /v3/offchain/xrp/transfer

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->transferXrpKMS(
    \Tatum\Model\TransferXrpKMS $transfer_xrp_kms
): \Tatum\Model\TransferBtcMnemonic200Response

Parameters

Name Type Description Notes
$transfer_xrp_kms \Tatum\Model\TransferXrpKMS    

Return type

\Tatum\Model\TransferBtcMnemonic200Response

Description

Send XRP from a virtual account to the blockchain

Back to top


trcAddress()

Example

#️⃣ Execute command in terminal

✨ php -f trcAddress.php

Request

POST /v3/offchain/tron/trc

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->trcAddress(
    \Tatum\Model\TrcAddress $trc_address
): \Tatum\Model\Trc20Response

Parameters

Name Type Description Notes
$trc_address \Tatum\Model\TrcAddress    

Return type

\Tatum\Model\Trc20Response

Description

Register a new TRON TRC-10 or TRC-20 token in the virtual account

10 credits per API call.

First step to create new TRC 10/20 token with given supply on the Tron blockchain with support of Tatum’s private ledger. This method only creates Tatum Private ledger virtual currency with predefined parameters. It will not generate any blockchain smart contract. The whole supply of TRC 10/20 token is stored in the customer’s newly created account. Then it is possible to create new Tatum accounts with TRC 10/20 token name as account’s currency. Newly created account is frozen until the specific TRC 10/20 smart contract address is linked with the Tatum virtual currency, representing the token. Order of the steps to create TRC 10/20 smart contract with Tatum private ledger support:

  1. Create TRC 10/20 token (this API) - creates a virtual currency within Tatum
  2. Deploy TRC 10 or TRC 20 smart contract - create new TRC 10/20 smart contract on the blockchain
  3. Store TRC 10/20 smart contract address - link newly created TRC 10/20 smart contract address with Tatum virtual currency - this operation enables frozen account and enables ledger synchronization for TRC 10/20 Tatum accounts Blockchain address will be assigned to the virtual account as a deposit address. It can be defined via the address explicitly or by using xpub and derivationIndex. There is a helper method Deploy TRC 10/20 Smart Contract to Blockchain and Ledger, which wraps first 2 steps into 1 method.

Back to top


trcXpub()

Example

#️⃣ Execute command in terminal

✨ php -f trcXpub.php

Request

POST /v3/offchain/tron/trc

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->trcXpub(
    \Tatum\Model\TrcXpub $trc_xpub
): \Tatum\Model\Trc20Response

Parameters

Name Type Description Notes
$trc_xpub \Tatum\Model\TrcXpub    

Return type

\Tatum\Model\Trc20Response

Description

Register a new TRON TRC-10 or TRC-20 token in the virtual account

Back to top


xlmAssetOffchain()

Example

#️⃣ Execute command in terminal

✨ php -f xlmAssetOffchain.php

Request

POST /v3/offchain/xlm/asset

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->xlmAssetOffchain(
    \Tatum\Model\CreateXlmAsset $create_xlm_asset
)

Parameters

Name Type Description Notes
$create_xlm_asset \Tatum\Model\CreateXlmAsset    

Return type

void (empty response body)

Description

Create an XLM-based asset

2 credits per API call.

Create an XLM-based asset in a virtual account. The asset must be created and configured on the Stellar blockchain before creating a trust line.

This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

Back to top


xrpAssetOffchain()

Example

#️⃣ Execute command in terminal

✨ php -f xrpAssetOffchain.php

Request

POST /v3/offchain/xrp/asset

Type signature

(new \Tatum\Sdk())->{mainnet/testnet}()->api()->blockchainOperations()->xrpAssetOffchain(
    \Tatum\Model\CreateXrpAsset $create_xrp_asset
)

Parameters

Name Type Description Notes
$create_xrp_asset \Tatum\Model\CreateXrpAsset    

Return type

void (empty response body)

Description

Create XRP based Asset

2 credits per API call.

Create an XRP-based asset in a virtual account. The asset must be created and configured on the XRPL blockchain before creating a trust line.

This API call will create an internal virtual currency. You can create virtual accounts with off-chain support.

Back to top