TRON API for USDT Transactions: Sending TRC20 and Managing Energy

By TRX Economy team · Published: · 2 min read

TRON API for USDT Transactions: Sending TRC20 and Managing Energy

Short answer

You can send USDT TRC20 through a TRON node or TronGrid: build a transfer call to the USDT contract, sign it locally and broadcast it. Before you send, check the sender’s energy and estimate the recipient’s case. Set a fee limit, because a transfer with too little energy fails and still costs TRX.

⚡ Buy energy in 1 minute

If you run a payment flow on TRON, energy is the main thing to design around. This overview covers the moving parts of a tron api for USDT transactions. The official TRON developer docs have the full reference.

Tronscan API vs TronGrid: which to use

Use the api tronscan offers for explorer-style data, and the trongrid api for node access and broadcasting. Most apps need TronGrid.

Get an API key

Sign up at TronGrid and create a key, or create a tronscan api key in your Tronscan account. Send it in the request header.

The building blocks

Piece What it does
Full node or TronGrid Reads chain data and broadcasts transactions
TronWeb or a similar SDK Builds and signs transactions
USDT contract TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
Energy source Staked TRX, rented energy or burned TRX

List transactions of an address

This tron api get transactions call was tested against TronGrid:

curl "https://api.trongrid.io/v1/accounts/ADDRESS/transactions/trc20?limit=20&contract_address=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"

Check a USDT TRC20 balance

GET /v1/accounts/ADDRESS returns the account, and its trc20 list holds USDT balances in units of 0.000001 USDT.

Send USDT with TronWeb

A tronweb send usdt call with this tron api usdt flow:

const usdt = await tronWeb.contract().at('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t');
const txid = await usdt.transfer(to, 1_000_000).send({ feeLimit: 15_000_000 });

That sends 1 USDT with a 15 TRX fee limit. Test it on a small amount first.

A USDT transfer in five steps

  1. Check the recipient. Call balanceOf on the USDT contract. Zero means the double-energy case.
  2. Check the sender’s resources. Read available energy and bandwidth with getaccountresource.
  3. Get energy if needed. Stake, rent, or accept a TRX burn.
  4. Build and sign a transfer(to, amount) call. USDT has 6 decimals. Sign locally and never send a private key to a remote node.
  5. Broadcast and confirm. A transaction is considered final after about 19 blocks, roughly a minute.

Fee limit

Every smart-contract call has a fee_limit, the most TRX it may burn. Too low, and the call stops with Out of Energy and you still lose what it consumed. A common production value is high enough to cover the new-address case even when you expect energy to cover it. See out of energy.

What it costs at scale

Monthly transfers Burned without energy With energy at 3 TRX
1,000 ~6,430 TRX 3,000 TRX
10,000 ~64,300 TRX 30,000 TRX

These figures assume recipients hold USDT. Volume teams usually automate energy instead of burning TRX.

Cut fees automatically: rent energy via API

You have three approaches:

  • Stake TRX and delegate it across your hot wallets. Good for very large stable volume. Check tron staking energy.
  • Use a rental API to get energy before each payout.
  • Mix them: stake for base volume and rent on peaks.

Our TRON Energy API is for businesses and is connected manually: write to @trx_meow_support on Telegram.

FAQ

How much energy does a USDT transfer need?

About 64,285 energy if the recipient holds USDT and about 130,285 if not.

What are the rate limits?

They depend on the provider and plan. Use an API key and cache reads where you can.

Is the Tronscan API free?

Tronscan offers an API with a key and usage limits. Check the current plans in its docs.

What is the USDT TRC20 contract address?

TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t on TRON mainnet.

How much energy should my code plan for?

About 64,285 energy if the recipient holds USDT and about 130,285 if it does not. Check the recipient’s balance first, then top up energy if needed.