Tron

Tron Blockchain enables access to most commonly used Tron methods. It's possible to generate TRON account, send TRX, TRC10 and TRC20 assets. It's also possible to generate custom TRC10 or TRC20 tokens using API.
Tatum supports 2 chains:

  • Mainnet - regular live chain
  • Shasta Testnet - test chain used for testing purposes. Coins on test chain have no value and can be obtained from Faucet, e.g. https://www.trongrid.io/shasta/

Generate a TRON wallet

1 credit per API call

Tatum supports BIP44 HD wallets. It is very convenient and secure, since it can generate 2^31 addresses from 1 mnemonic phrase. Mnemonic phrase consists of 24 special words in defined order and can restore access to all generated addresses and private keys.
Each address is identified by 3 main values:

  • Private Key - your secret value, which should never be revealed
  • Public Key - public address to be published
  • Derivation index - index of generated address

Tatum follows BIP44 specification and generates for Bitcoin wallet with derivation path m'/44'/195'/0'/0. More about BIP44 HD wallets can be found here - https://github.com/tron/bips/blob/master/bip-0044.mediawiki. Generate BIP44 compatible Tron wallet.

SecurityX-API-Key
Request
query Parameters
mnemonic
string <= 500 characters

Mnemonic to use for generation of extended public and private keys.

Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/wallet
Request samples
Response samples
application/json
{
  • "mnemonic": "urge pulp usage sister evidence arrest palm math please chief egg abuse",
  • "xpub": "0244b3f40c6e570ae0032f6d7be87737a6c4e5314a4a1a82e22d0460a0d0cd794936c61f0c80dc74ace4cd04690d4eeb1aa6555883be006e1748306faa7ed3a26a"
}

Generate a TRON address from the wallet's extended public key

5 credits per API call

Generate a TRON address from the extended public key of the wallet. The address is generated for the specific index - each extended public key can generate up to 2^32 addresses with the index starting from 0 up to 2^31.

SecurityX-API-Key
Request
path Parameters
xpub
required
string

The extended public key of the wallet; can be in the base58 format (111 characters) or the hexadecimal format (130 characters)

Example: 0244b3f40c6e570ae0032f6d7be87737a6c4e5314a4a1a82e22d0460a0d0cd794936c61f0c80dc74ace4cd04690d4eeb1aa6555883be006e1748306faa7ed3a26a
index
required
number >= 0

Derivation index of desired address to be generated.

Example: 1
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/address/{xpub}/{index}
Request samples
Response samples
application/json
{
  • "address": "TFFBpkRNro4Pe4154ayGWx7C6Ev7BvQZ6t"
}

Generate the private key for a TRON address

10 credits per API call

Generate private key for address from mnemonic for given derivation path index. Private key is generated for the specific index - each mnemonic can generate up to 2^31 private keys starting from index 0 until 2^31.

SecurityX-API-Key
Request
Request Body schema: application/json
required
index
required
integer <= 2147483647

Derivation index of private key to generate.

mnemonic
required
string [ 1 .. 500 ] characters

Mnemonic to generate private key from.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/wallet/priv
Request samples
application/json
{
  • "index": 0,
  • "mnemonic": "urge pulp usage sister evidence arrest palm math please chief egg abuse"
}
Response samples
application/json
{
  • "key": "cTmS2jBWXgFaXZ2xG9jhn67TiyTshnMp3UedamzEhGm6BZV1vLgQ"
}

Get the current TRON block

5 credits per API call

Get current Tron block.

SecurityX-API-Key
Responses
200

OK

401

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

403

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

500

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

get/v3/tron/info
Request samples
Response samples
application/json
{
  • "blockNumber": 26585295,
  • "hash": "000000000195a8cfe2ea4ca60ce921b30e95980a96c6bb1da4a35aa03da9c5a8",
  • "testnet": false
}

Get a TRON block by its hash or height

5 credits per API call

Get Tron block by hash or height.

SecurityX-API-Key
Request
path Parameters
hash
required
string

Block hash or height.

Example: 000000000195a8cfe2ea4ca60ce921b30e95980a96c6bb1da4a35aa03da9c5a8
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/block/{hash}
Request samples
Response samples
application/json
{
  • "hash": "000000000195a8cfe2ea4ca60ce921b30e95980a96c6bb1da4a35aa03da9c5a8",
  • "blockNumber": 26585295,
  • "timestamp": 1610134209000,
  • "parentHash": "000000000195a8ce6003aa8b6443c52734b80aefdcd079bf40e7f165b046370e",
  • "witnessAddress": "4118e2e1c6cdf4b74b7c1eb84682e503213a174955",
  • "witnessSignature": "e20cb7a1f01d279ebe9c20baa0d747bea160042639ba0be63460cbb21ae63f072520e7766cb7aa1bd4e74bebbdea64be431ecf52c2aa2123ca0b1d7495bd581d00",
  • "transactions": [
    ]
}

Get the TRON account by its address

5 credits per API call

Get Tron account by address.

SecurityX-API-Key
Request
path Parameters
address
required
string

Account address

Example: TGDqQAP5bduoPKVgdbk7fGyW4DwEt3RRn8
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/account/{address}
Request samples
Response samples
application/json
{
  • "address": "TGDqQAP5bduoPKVgdbk7fGyW4DwEt3RRn8",
  • "balance": 2342342,
  • "trc10": [
    ],
  • "trc20": [
    ],
  • "createTime": 1602848895000,
  • "assetIssuedId": "1003475",
  • "assetIssuedName": 100,
  • "freeNetUsage": 1000,
  • "freeNetLimit": 1500,
  • "netUsage": 5000,
  • "netLimit": 5000,
  • "bandwidth": 1500
}

Freeze the balance of a TRON account

10 credits per API call

Freeze Tron assets on the address. By freezing assets, you can obtain energy or bandwidth to perform transactions.

Signing a transaction
When freezing the balance, 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

resource
required
string

Resource to obtain, BANDWIDTH or ENERGY.

Enum: "BANDWIDTH" "ENERGY"
amount
required
string^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be frozen in TRX.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/freezeBalance
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "resource": "ENERGY",
  • "amount": "100000"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Unfreeze the balance of a TRON account

10 credits per API call

Unfreeze Tron assets on the address. By unfreezing assets, you can unlock your staked TRX.

Signing a transaction
When unfreezing the balance, 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

resource
required
string

Resource to obtain, BANDWIDTH or ENERGY.

Enum: "BANDWIDTH" "ENERGY"
amount
required
string^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be frozen in TRX.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/unfreezeBalance
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "resource": "ENERGY",
  • "amount": "100000"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Get all transactions for a TRON account

5 credits per API call

Get all transactions for a TRON account.

This API returns up to 200 transactions in one API call. If there are more than 200 transactions for the TRON account, the response body will contain the next parameter with the fingerprint of the transaction that follows the last (200th) transaction in the returned list.

To get the next 200 transactions, make another call using this API, but this time add the next parameter the endpoint URL and set it to the transaction fingerprint from the next parameter in the response, for example:

https://api.tatum.io/v3/tron/transaction/account/{address}?next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991

SecurityX-API-Key
Request
path Parameters
address
required
string

The address of the TRON account to get all transactions for

Example: TGDqQAP5bduoPKVgdbk7fGyW4DwEt3RRn8
query Parameters
next
string

The fingerprint of the transaction that follows the last (200th) transaction in the returned list of transactions. Use it to get the next 200 transactions for the specified account (for more information, see the description of this API).

Example: next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991
onlyConfirmed
boolean

If true, only confirmed transactions are returned

Example: onlyConfirmed=false
onlyUnconfirmed
boolean

If true, only unconfirmed transactions are returned

Example: onlyUnconfirmed=false
onlyTo
boolean

If true, only transactions to this address are returned

Example: onlyTo=false
onlyFrom
boolean

If true, only transactions from this address are returned

Example: onlyFrom=false
orderBy
string

Order of the returned transactions

Enum: "block_timestamp,asc" "block_timestamp,desc"
Example: orderBy=block_timestamp,desc
minTimestamp
number

Minimum block_timestamp, default is 0

Example: minTimestamp=1674416039000
maxTimestamp
number

Maximum block_timestamp, default is now

Example: maxTimestamp=1674416039000
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/transaction/account/{address}
Request samples
Response samples
application/json
{
  • "next": "81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991",
  • "transactions": [
    ]
}

Get TRC-20 transactions for a TRON account

5 credits per API call

Get TRC-20 transactions for a TRON account.

This API returns up to 200 transactions in one API call. If there are more than 200 transactions for the TRON account, the response body will contain the next parameter with the fingerprint of the transaction that follows the last (200th) transaction in the returned list.

To get the next 200 transactions, make another call using this API, but this time add the next parameter the endpoint URL and set it to the transaction fingerprint from the next parameter in the response, for example:

https://api.tatum.io/v3/tron/transaction/account/{address}/trc20?next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991

SecurityX-API-Key
Request
path Parameters
address
required
string

The address of the TRON account to get TRC-20 transactions for

Example: TGDqQAP5bduoPKVgdbk7fGyW4DwEt3RRn8
query Parameters
next
string

The fingerprint of the transaction that follows the last (200th) transaction in the returned list of transactions. Use it to get the next 200 transactions for the specified account (for more information, see the description of this API).

Example: next=81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991
onlyConfirmed
boolean

If true, only confirmed transactions are returned

Example: onlyConfirmed=false
onlyUnconfirmed
boolean

If true, only unconfirmed transactions are returned

Example: onlyUnconfirmed=false
onlyTo
boolean

If true, only transactions to this address are returned

Example: onlyTo=false
onlyFrom
boolean

If true, only transactions from this address are returned

Example: onlyFrom=false
orderBy
string

Order of the returned transactions

Enum: "block_timestamp,asc" "block_timestamp,desc"
Example: orderBy=block_timestamp,desc
minTimestamp
number

Minimum block_timestamp, default is 0

Example: minTimestamp=1674416039000
maxTimestamp
number

Maximum block_timestamp, default is now

Example: maxTimestamp=1674416039000
contractAddress
string

Receive only transactions with one specific smart contract

Example: contractAddress=TGDqQAP5bduoPKVgdbk7fGyW4DwEt3RRn8
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/transaction/account/{address}/trc20
Request samples
Response samples
application/json
{
  • "next": "81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991",
  • "transactions": [
    ]
}

Send TRX to a TRON account

10 credits per API call

Send an amount in TRX from address to address.

Signing a transaction

When sending TRX to a TRON 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

to
required
string = 34 characters

Recipient address of TRON account in Base58 format.

amount
required
string^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be sent in TRX.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/transaction
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "to": "TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh",
  • "amount": "100000"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Send TRC-10 tokens to a TRON account

10 credits per API call

Send TRC-10 tokens from address to address.

Signing a transaction

When sending TRC-10 tokens to a TRON 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

to
required
string = 34 characters

Recipient address of TRON account in Base58 format.

tokenId
required
string [ 1 .. 100 ] characters

ID of the token to transfer.

amount
required
string^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be sent in TRX.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/trc10/transaction
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "to": "TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh",
  • "tokenId": "1000538",
  • "amount": "100000"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Send TRC-20 tokens to a TRON account

10 credits per API call

Send TRC-20 tokens from address to address.

Signing a transaction

When sending TRC-20 tokens to a TRON 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

to
required
string = 34 characters

Recipient address of TRON account in Base58 format.

tokenAddress
required
string = 34 characters

Address of the TRC20 token to transfer.

feeLimit
required
number >= 0

Fee in TRX to be paid.

amount
required
string^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be sent in TRX.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/trc20/transaction
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "to": "TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh",
  • "tokenAddress": "TVAEYCmc15awaDRAjUZ1kvcHwQQaoPw2CW",
  • "feeLimit": 0.01,
  • "amount": "100000"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Create a TRC-10 token

10 credits per API call

Create a TRON TRC-10 token.

One TRON account can create only one TRC-10 token. The whole supply of the token is transferred to the issuer's account 100 seconds after the token has been created.

Signing a transaction
When creating a TRC-10 token, 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

recipient
required
string = 34 characters

Recipient address of created TRC 10 tokens.

name
required
string [ 1 .. 100 ] characters

Name of the token.

abbreviation
required
string [ 1 .. 100 ] characters

Abbreviation of the token.

description
required
string [ 1 .. 100 ] characters

Description of the token.

url
required
string [ 1 .. 100 ] characters

URL of the token.

totalSupply
required
number >= 0

Total supply of the tokens.

decimals
required
number [ 0 .. 5 ]

Number of decimal places of the token.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/trc10/deploy
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "recipient": "TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh",
  • "name": "My token",
  • "abbreviation": "SYM",
  • "description": "My short description",
  • "totalSupply": 100000,
  • "decimals": 10
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Get information about a TRC-10 token

5 credits per API call

Get information about a TRON TRC-10 token.

SecurityX-API-Key
Request
path Parameters
idOrOwnerAddress
required
string

The ID of the TRC-10 token or the address of the token's owner

Example: 1000540
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/trc10/detail/{idOrOwnerAddress}
Request samples
Response samples
application/json
{
  • "ownerAddress": "41d2803f9c22aa429d71554c9427e97ffedcec17c7",
  • "name": "My token",
  • "abbr": "SYM",
  • "description": "My short description",
  • "totalSupply": 100000,
  • "precision": 10,
  • "id": 1000540
}

Create a TRC-20 token

10 credits per API call

Create a TRON TRC-20 capped token. A capped TRC20 token is a type of token on the TRON blockchain that has a preset limit on the total number of tokens that can be created. This limit is specified during the token creation process and cannot be exceeded. Once the limit is reached, no more tokens can be minted. This feature helps to ensure the scarcity and value of the token and can provide investors with a sense of security. It is a popular choice for fundraising, as it allows for a predetermined amount of funds to be raised through the sale of tokens, and any excess tokens that are not sold are simply not minted.

Signing a transaction
When creating a TRC-20 token, 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.

SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
fromPrivateKey
required
string = 64 characters

Private key of the address, from which the TRX will be sent.

recipient
required
string = 34 characters

Recipient address of created TRC20 tokens.

name
required
string [ 1 .. 100 ] characters

Name of the token.

symbol
required
string [ 1 .. 100 ] characters

Symbol of the token.

totalSupply
required
number >= 0

Total supply of the tokens.

decimals
required
number [ 0 .. 30 ]

Number of decimal places of the token.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/trc20/deploy
Request samples
application/json
{
  • "fromPrivateKey": "842E09EB40D8175979EFB0071B28163E11AED0F14BDD84090A4CEFB936EF5701",
  • "recipient": "TYMwiDu22V6XG3yk6W9cTVBz48okKLRczh",
  • "name": "My token",
  • "symbol": "SYM",
  • "totalSupply": 100000,
  • "decimals": 10
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}

Get a TRON transaction by its hash

5 credits per API call

Get Tron transaction by hash.

SecurityX-API-Key
Request
path Parameters
hash
required
string

Transaction hash.

Example: 81d0524acf5967f3b361e03fd7d141ab511791cd7aad7ae406c4c8d408290991
Responses
200

OK

400

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

401

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

403

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

500

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

get/v3/tron/transaction/{hash}
Request samples
Response samples
application/json
{
  • "ret": [
    ],
  • "signature": [
    ],
  • "blockNumber": 11223344,
  • "txID": "24dd2f121a24516f22df78adf1ccc32119e3edb7760297f76a925b879f2baa98",
  • "netUsage": 0,
  • "rawData": {
    }
}

Broadcast a TRON transaction

5 credits per API call

Broadcast Tron transaction. This method is used internally from Tatum client libraries. It is possible to create custom signing mechanism and use this method only for broadcasting data to the blockchain.

SecurityX-API-Key
Request
Request Body schema: application/json
required
txData
required
string [ 1 .. 50000 ] characters

Raw signed transaction to be published to network.

Responses
200

OK

400

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

401

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

403

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

500

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

post/v3/tron/broadcast
Request samples
application/json
{
  • "txData": "{\"raw_data\": \"{\\\"contract\\\":[{\\\"parameter\\\":{\\\"value\\\":{\\\"amount\\\":1000,\\\"owner_address\\\":\\\"41608f8da72479edc7dd921e4c30bb7e7cddbe722e\\\",\\\"to_address\\\":\\\"41e9d79cc47518930bc322d9bf7cddd260a0260a8d\\\"},\\\"type_url\\\":\\\"type.googleapis.com/protocol.TransferContract\\\"},\\\"type\\\":\\\"TransferContract\\\"}],\\\"ref_block_bytes\\\":\\\"5e4b\\\",\\\"ref_block_hash\\\":\\\"47c9dc89341b300d\\\",\\\"expiration\\\":1591089627000,\\\"timestamp\\\":1591089567635}\",\"raw_data_hex\": \"0a025e4b220847c9dc89341b300d40f8fed3a2a72e5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541608f8da72479edc7dd921e4c30bb7e7cddbe722e121541e9d79cc47518930bc322d9bf7cddd260a0260a8d18e8077093afd0a2a72e\"}"
}
Response samples
application/json
{
  • "txId": "c83f8818db43d9ba4accfe454aa44fc33123d47a4f89d47b314d6748eb0e9bc9"
}