Skip to Content

TRON

The Vault supports the TRON network with full deposit and withdrawal functionality for native TRX and TRC-20 tokens. TRON is particularly relevant for USDT transfers, as Tether’s TRC-20 USDT is one of the most liquid stablecoin variants with very low transaction costs.

Address Generation

TRON addresses use a Base58Check encoding and always begin with the letter T. The address is derived from the same MPC public key as the Ethereum address — TRON uses the same secp256k1 elliptic curve as Ethereum but with a different address encoding:

  • Take the ECDSA public key (uncompressed, 65 bytes)
  • Hash with Keccak-256
  • Take the last 20 bytes
  • Prepend 0x41 (TRON address prefix)
  • Base58Check encode

The resulting address looks like: TN9xs3uR7vKpMzQw4Yj8bLcXeD2Fk5GhN6

Supported Asset Types

Asset TypeSupport
Native TRXFull (deposit + withdrawal)
TRC-20 tokensFull (deposit + withdrawal)
TRC-10 tokensNot supported
TRC-721 (NFTs)Not supported

Widely used TRC-20 tokens include:

TokenContract Address
USDTTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
USDCTEkxiTehnzSmSe2XqrBj4w32RUN966rdz8
WTRXTNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR

Energy and Bandwidth Model

TRON does not use gas fees in the same way as Ethereum. Instead, transactions consume two types of resources:

Bandwidth — required for all transactions. Accounts receive a small amount of free bandwidth daily (~600 bytes). Bandwidth can be obtained by:

  • Freezing TRX to obtain delegated bandwidth
  • Burning TRX (0.001 TRX per byte) if bandwidth is exhausted

Energy — required for smart contract interactions (TRC-20 transfers). Energy can be obtained by:

  • Freezing TRX to obtain delegated energy
  • Burning TRX at the current energy price if energy is exhausted

For high-volume wallets, The Vault recommends keeping a portion of TRX frozen in the wallet to maintain sufficient Energy and Bandwidth reserves, reducing the effective cost per TRC-20 transfer to near zero.

The fee estimate API reflects the actual TRX cost based on your wallet’s current frozen resources. If you have sufficient frozen Energy, TRC-20 transfers may cost zero TRX in fees.

Deposit Detection

TRON deposit detection uses the TRON FullNode HTTP API (TronGrid or your own java-tron node — TronGrid is optional, with an API-key header). The indexer:

  1. Reads each new block with getblockbynum and its transaction receipts with gettransactioninfobyblocknum.
  2. Matches TransferContract (native TRX) transfers where the to field is a wallet deposit address.
  3. For TRC-20 transfers, parses the Transfer(address,address,uint256) event log, filtered to the configured token contracts and watched addresses.

Polling interval: 6 seconds (configurable).

TRON blocks can contain up to 1,000+ transfer events. Ensure your TronGrid or self-hosted java-tron node can handle the query load for your polling interval, particularly for high-activity mainnet blocks.

Confirmation Policy

Default confirmation threshold: 19 blocks (~1 minute at 3-second block times).

TRON uses Delegated Proof of Stake (DPOS) consensus with 27 super representatives. Finality is probabilistic. 19 confirmations provides strong protection against reorganisation for standard operational use.

For large USDT transfers, consider raising the threshold to 40–60 confirmations (2–3 minutes).

TRC-20 Transfer Mechanics

TRC-20 withdrawals invoke the transfer(address,uint256) function on the token contract. The Vault constructs the TriggerSmartContract transaction, signs it with MPC, and broadcasts via the TronGrid API.

The wallet must hold sufficient TRX (or frozen Energy) to cover the contract execution cost. Each TRC-20 call is submitted with a fee limit (100 TRX); if Energy is insufficient and the wallet cannot cover the resulting TRX burn, the node rejects it with an energy error and the transfer fails.

Transaction Broadcasting

Signed TRON transactions are broadcast via the broadcasttransaction API endpoint. The transaction ID (txID) is a 32-byte SHA256 hash of the transaction data and can be used to track the transaction on a TRON block explorer (e.g., TRONSCAN).