USDT-TRC20 on Tron
Accept USDT (TRC-20)
on Tron with an API.
Take USDT payments from customers and pay out in USDT on Tron: a deposit address for every customer, deposits credited once they're final, and payouts your own team approves. The keys stay in hardware enclaves you can verify.
USDT on Tron
The details.
| Network | Tron · TRC-20 token |
| Contract | TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t View on explorerOnly this contract is accepted as USDT on Tron: look-alike tokens sent to your customers' addresses are ignored. |
| Decimals | 6 (amounts in the API are whole numbers of the smallest unit) |
| Deposits | Valtu reads only solidified Tron blocks, so a deposit is final when it's seen. |
| Minimum withdrawal | 10 USDT |
| Network fees | TRC-20 transfers spend energy. Without staked energy they burn TRX, or rent energy through your own provider key when that's cheaper. Your gas wallet can top up the TRX they need. |
| Addresses | Tron addresses start with T. Each wallet has its own. |
| Asset id in the API | USDT-TRC20 |
For developers
Deposit addresses and payouts in a few lines.
import { Valtu, depositAddress } from "@valtu/wallet-kit"; const valtu = Valtu.fromEnv(); // A deposit address for one of your customers (idempotent). const wallet = await valtu.wallets.forCustomer("cus_42"); const address = depositAddress(wallet, "tron"); // A payout of 25.50 USDT: retries never send twice. const amount = await valtu.assets.toBaseUnits("USDT-TRC20", "25.50"); await valtu.transfers.create({ walletId: payoutWalletId, asset: "USDT-TRC20", amount, to, externalId: "payout_981" });
Python: pip install valtu, same calls (valtu.wallets.for_customer, valtu.transfers.create). Full guide: integration.
Related
More on Valtu.
Start with a test workspace today.
Same dashboard, same API, free test coins. Go live when your team is ready.