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
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.
deployAlgoErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
deployAlgoErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
deployAlgoErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
deployCeloErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
deployCeloErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
deployCeloErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
deployCeloErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
deployCeloErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
deployCeloErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
deployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
deployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
deployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
deployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
deployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
deployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
deployTrcOffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
deployTrcOffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
deployTrcOffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
deployTrcOffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
deployTrcOffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
deployTrcOffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
erc20()
Example
#️⃣ Execute command in terminal
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
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:
- Register token (this API) - creates a virtual currency within Tatum
- Deploy smart contract - create new smart contract on the blockchain
- 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.
erc20Address()
Example
#️⃣ Execute command in terminal
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
Description
Register a new ERC-20 or ERC-20-equivalent token in the virtual account
offBscDeployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
offBscDeployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
offBscDeployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
offBscDeployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
offBscDeployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
offBscDeployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
offEglTransferEth()
Example
#️⃣ Execute command in terminal
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.
offEglTransferEthKMS()
Example
#️⃣ Execute command in terminal
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
offEglTransferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
offKcsDeployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
offKcsDeployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
offKcsDeployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
offKcsDeployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
offKcsDeployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
offKcsDeployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
offKlaDeployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
offKlaDeployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
offKlaDeployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
offKlaDeployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
offKlaDeployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
offKlaDeployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
offKlaTransferEth()
Example
#️⃣ Execute command in terminal
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.
offKlaTransferEthKMS()
Example
#️⃣ Execute command in terminal
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
offKlaTransferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
offOneDeployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
offOneDeployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
offOneDeployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
offOneDeployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
offOneDeployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
offOneDeployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
offOneTransferEth()
Example
#️⃣ Execute command in terminal
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.
offOneTransferEthKMS()
Example
#️⃣ Execute command in terminal
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
offOneTransferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
offPolTransferEth()
Example
#️⃣ Execute command in terminal
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.
offPolTransferEthKMS()
Example
#️⃣ Execute command in terminal
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
offPolTransferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
offXdcDeployErc20OffchainKMSAddress()
Example
#️⃣ Execute command in terminal
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
offXdcDeployErc20OffchainKMSXpub()
Example
#️⃣ Execute command in terminal
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
offXdcDeployErc20OffchainMnemXpub()
Example
#️⃣ Execute command in terminal
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
offXdcDeployErc20OffchainMnemonicAddress()
Example
#️⃣ Execute command in terminal
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.
offXdcDeployErc20OffchainPKAddress()
Example
#️⃣ Execute command in terminal
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
offXdcDeployErc20OffchainPKXpub()
Example
#️⃣ Execute command in terminal
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
offXdcTransferEth()
Example
#️⃣ Execute command in terminal
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.
offXdcTransferEthKMS()
Example
#️⃣ Execute command in terminal
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
offXdcTransferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
storeTokenAddress()
Example
#️⃣ Execute command in terminal
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
.
transferAlgo()
Example
#️⃣ Execute command in terminal
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.
transferAlgoErc20()
Example
#️⃣ Execute command in terminal
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
transferAlgoKMS()
Example
#️⃣ Execute command in terminal
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
transferBchKMS()
Example
#️⃣ Execute command in terminal
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
transferBchKeyPair()
Example
#️⃣ Execute command in terminal
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
transferBchMnemonic()
Example
#️⃣ Execute command in terminal
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:
- Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
- Perform blockchain transaction
- 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.
transferBnb()
Example
#️⃣ Execute command in terminal
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.
transferBnbKMS()
Example
#️⃣ Execute command in terminal
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
transferBsc()
Example
#️⃣ Execute command in terminal
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.
transferBscKMS()
Example
#️⃣ Execute command in terminal
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
transferBscMnemonic()
Example
#️⃣ Execute command in terminal
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
transferBtcKMS()
Example
#️⃣ Execute command in terminal
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
transferBtcKeyPair()
Example
#️⃣ Execute command in terminal
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
transferBtcMnemonic()
Example
#️⃣ Execute command in terminal
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:
- Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
- Perform blockchain transaction
- 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.
transferCelo()
Example
#️⃣ Execute command in terminal
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.
transferCeloKMS()
Example
#️⃣ Execute command in terminal
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
transferCeloMnemonic()
Example
#️⃣ Execute command in terminal
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
transferDogeKMS()
Example
#️⃣ Execute command in terminal
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
transferDogeKeyPair()
Example
#️⃣ Execute command in terminal
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
transferDogeMnemonic()
Example
#️⃣ Execute command in terminal
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:
- Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
- Perform blockchain transaction
- 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.
transferErc20()
Example
#️⃣ Execute command in terminal
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.
transferErc20KMS()
Example
#️⃣ Execute command in terminal
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
transferErc20Mnemonic()
Example
#️⃣ Execute command in terminal
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
transferEth()
Example
#️⃣ Execute command in terminal
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.
transferEthKMS()
Example
#️⃣ Execute command in terminal
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
transferEthMnemonic()
Example
#️⃣ Execute command in terminal
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
transferFlowKMS()
Example
#️⃣ Execute command in terminal
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
transferFlowMnemonic()
Example
#️⃣ Execute command in terminal
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:
- Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
- Perform blockchain transaction
- 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.
transferFlowPK()
Example
#️⃣ Execute command in terminal
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
transferKCS()
Example
#️⃣ Execute command in terminal
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.
transferKCSKMS()
Example
#️⃣ Execute command in terminal
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
transferKCSMnemonic()
Example
#️⃣ Execute command in terminal
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
transferLtcKMS()
Example
#️⃣ Execute command in terminal
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
transferLtcKeyPair()
Example
#️⃣ Execute command in terminal
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
transferLtcMnemonic()
Example
#️⃣ Execute command in terminal
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:
- Store withdrawal - create a ledger transaction, which debits the assets on the sender account.
- Perform blockchain transaction
- 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.
transferSol()
Example
#️⃣ Execute command in terminal
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.
transferSolKMS()
Example
#️⃣ Execute command in terminal
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
transferTron()
Example
#️⃣ Execute command in terminal
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.
transferTronKMS()
Example
#️⃣ Execute command in terminal
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
transferTronMnemonic()
Example
#️⃣ Execute command in terminal
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
transferXlm()
Example
#️⃣ Execute command in terminal
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.
transferXlmKMS()
Example
#️⃣ Execute command in terminal
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
transferXrp()
Example
#️⃣ Execute command in terminal
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.
transferXrpKMS()
Example
#️⃣ Execute command in terminal
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
trcAddress()
Example
#️⃣ Execute command in terminal
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
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:
- Create TRC 10/20 token (this API) - creates a virtual currency within Tatum
- Deploy TRC 10 or TRC 20 smart contract - create new TRC 10/20 smart contract on the blockchain
- 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.
trcXpub()
Example
#️⃣ Execute command in terminal
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
Description
Register a new TRON TRC-10 or TRC-20 token in the virtual account
xlmAssetOffchain()
Example
#️⃣ Execute command in terminal
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.
xrpAssetOffchain()
Example
#️⃣ Execute command in terminal
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.