Em processo de adequação ao regime das SPSAV, nos termos da Resolução BCB nº 520/2025 (regime de transição do art. 88)

  • Em processo de adequação ao regime das SPSAV, nos termos da Resolução BCB nº 520/2025 (regime de transição do art. 88)

Explainers

USDT on Tron: what TRC20 means for a business payout

TRC20 is the token standard behind USDT on Tron. What the address format, the Energy model and account activation mean for a business payout.

Caio Barbosa

Fundador & CO-CEO

Forbes Under 30. Uma das principais vozes em Fintech & Crypto no Brasil. Escreve semanalmente sobre stablecoins, pagamentos e o futuro da infraestrutura financeira na América Latina.

Cover image for Lumx blog article: USDT on Tron: what TRC20 means for a business payout
Cover image for Lumx blog article: USDT on Tron: what TRC20 means for a business payout

TRC20 is the token standard that defines how a token behaves on the Tron blockchain, and USDT on Tron is one token issued under it. The distinction matters in an operation because almost every problem a team hits with this pairing comes from the standard and the network rather than from the dollar: how an address is written, what a transfer costs, and whether the receiving address exists yet as far as the network is concerned.

None of that is exotic, and all of it is documented by Tron itself. What follows is the part a payments team has to internalise before the first payout, written for the network rather than as a ranking against other networks. The token itself is covered in what USDT is.

TRC20 is a standard, and a transfer is a contract call

TRC20 defines the interface a token contract exposes: balances, transfers, approvals. USDT on Tron is a smart contract implementing that interface, which means a USDT transfer is not a plain value transfer the way sending TRX is. It is a call into a contract that updates two balances inside that contract's own storage.

Three practical consequences follow. The transfer costs computation and is priced accordingly, which is the next section. The balance does not live in the account object, so reading a wallet's USDT balance means querying the token contract or an indexing service rather than reading the account. And a failed transfer can be a failed contract execution, which looks different from a payment that was never sent.

The address is 34 characters and starts with T

A Tron address is a 21-byte value with a leading 0x41 prefix byte, and it appears in two forms. The hexadecimal form is 42 characters including that prefix. The Base58Check form, which is what wallets and explorers show and what your customer will paste into your product, is 34 characters starting with the letter T.

The detail worth knowing is in Tron's own accounts documentation: after dropping the leading 41 prefix, the remaining 20 bytes are identical to the Ethereum address derived from the same public key. The same private key therefore produces a Tron address and an Ethereum address that are the same underlying value in two different costumes. This is why "it starts with T" is a useful format check and a weak safety check. It tells you the string is a Tron address. It tells you nothing about whether the person who gave it to you meant to receive on Tron.

The guard that actually works is to store the network alongside the address as a required field, never to infer it, and to render the pair together everywhere the address is shown. An address on its own is an incomplete instruction, and a product that treats it as complete will eventually send a payment to the right string on the wrong network.

Bandwidth and Energy: why a wallet full of USDT can still fail

Tron meters operations with system resources rather than a single fee, and the resource model names three: Bandwidth, Energy and TRON Power. Bandwidth covers the byte size of a transaction. Energy covers the computation a smart contract performs when it runs. Voting power is the third and has nothing to do with payments.

The asymmetry is what catches teams out. Each account gets a free Bandwidth quota, currently 600 over a rolling 24-hour window, refreshed automatically. Energy has no free quota at all. An account obtains it by staking TRX, by receiving delegated resources, or by letting the network burn TRX from its balance at the current chain rates.

Since a TRC20 transfer is a contract call, it consumes Energy. So a wallet holding a large USDT balance and no TRX, with no staked or delegated Energy, cannot send that USDT anywhere. Tron's documentation adds a second trap on top: for contract transactions the caller's fee limit caps how much TRX can be burned for Energy, so having enough balance does not by itself mean the transaction will execute.

For a payout operation the translation is simple. TRX is an operational dependency, like having credit with a carrier, and it needs a balance alert of its own. A wallet that runs out of Energy mid-batch produces failures that look like network problems and are actually an unpaid input.

I treat the TRX balance behind a Tron payout as an operational balance rather than as a crypto detail, and I would rather over-provision it than explain to a client why a payment run stopped halfway through the afternoon. My general position on network mechanics is the same one I hold about rails: the parts of the system that are invisible when they work are the parts that need monitoring, because nobody investigates them until they are already the outage. Energy is the clearest example of that in this pairing, and it is also the one most integration guides skip entirely.

A new address has to be activated before the network sees it

An account exists locally the moment its key pair is generated, and the network only recognises it after activation. Before that, the address cannot be looked up through the API or on a block explorer.

Standard activation is somebody sending TRX or a TRC-10 token to the new address, or calling the account creation method from an existing account. The sending account pays an account creation fee of 1 TRX, plus 0.1 TRX burned if it does not hold enough Bandwidth to cover the shortfall. Contract activation is the other path, where a contract transferring TRX or a TRC-10 token to an unactivated address activates it and pays an extra 25,000 Energy for the privilege.

The support consequence is worth anticipating. A beneficiary who has just generated a fresh wallet may hand you an address that returns nothing on an explorer, and your first-line support will read that as an invalid address. It is a new one, which is a different problem with a different answer.

Why USDT is on Tron and USDC is not

This is a publisher decision rather than a market outcome. Circle announced on February 21, 2024 that it was discontinuing support for USDC on Tron in a phased transition, stating that it would no longer mint USDC on that network effective immediately and that its business customers could move balances to other blockchains or redeem them.

So the absence of USDC on Tron is not a gap in anybody's coverage. The issuer left. Tether did not, USDT on Tron kept its liquidity, and the result is the pairing that a large share of counterparties in Latin America and elsewhere settle in by default. When a partner tells you they accept only USDT on Tron, they are describing where their own book is, and the ranking of networks against each other belongs in a different post: routing stablecoin payments by corridor.

When Tron is not the right network for the payment

If the beneficiary settles on another network, the answer is that network, and no amount of fee arithmetic changes it. The cheapest transfer that arrives somewhere the counterparty cannot use is the most expensive transfer available.

If your treasury policy requires holding USDC specifically, Tron is not an option for that balance, because the issuer withdrew it. If your internal controls require a single network across every corridor, you are choosing a constraint that will cost you liquidity in the regions where USDT on Tron is the local standard, and that trade should be made deliberately rather than by default.

And if the payment is ultimately going to land in a local bank account anyway, the network question is smaller than it looks. What the beneficiary receives is local currency, and the blockchain leg is funding. In that flow the network matters for cost and for the counterparty, not for the recipient, and what a stablecoin off-ramp is is the part that decides what the recipient actually sees.

What a Tron payout looks like on our side

Lumx is stablecoin payments infrastructure for businesses that move money between Latin America and the rest of the world: one API to collect, hold, convert, and pay out in BRL, MXN, COP, USD, EUR, and GBP or in USDC and USDT, over local rails such as PIX, SPEI, PSE, ACH, FEDWIRE, SEPA, and Faster Payments, with SWIFT and on-behalf-of payments and collections (POBO and COBO) in USD, EUR, and GBP, plus named virtual accounts, custodial wallets, and KYB/KYC built in.

Every customer gets a wallet on each supported network, Tron included, and the Tron wallet holds USDT. The network is an argument on the request rather than a property of the account, so the same customer can be funded in USDT on Tron and paid out in Brazilian reais over Pix (Brazil's instant payment system, run by the Central Bank) or Mexican pesos over SPEI (Mexico's interbank transfer system, run by Banxico) without the two decisions touching each other. The corridor pages for USDT to BRL and USDT to MXN show what that pairing looks like end to end.

The resource mechanics described above sit on our side of the line for wallets we operate, which is most of the value of a custodial setup for this particular network. Where they come back into view is on an external transfer: paying an address outside the platform means the receiving side's activation state and the receiving side's own resource situation are theirs, and a transfer to a freshly generated address behaves the way this post describes regardless of who sent it.

Verified on September 24, 2026. Operational context, not legal, tax, or investment advice.

Cover photo: J F on Unsplash.

  • Is USDT on Tron the same asset as USDT on Ethereum?

    It is the same token from the same issuer, and for accounting purposes it is one asset. Operationally they are two different things: different addresses, different fee mechanics and different sets of counterparties willing to receive them. A balance on one network cannot be sent to an address on the other.

  • Why did a USDT transfer fail when the wallet had enough USDT?

    Almost always because the account had no Energy and not enough TRX to cover the burn. A TRC20 transfer is a smart contract call, and contract execution on Tron is paid for in Energy, which has no free allowance. Keep a TRX balance behind any wallet expected to send, and monitor it the way you would monitor any other operational input.

  • Why does the beneficiary address not appear on a block explorer?

    The address is probably valid and not yet activated. Tron recognises an account only after an activation transaction, and until then the address cannot be looked up through the API or on an explorer. A small first transfer activates it and makes everything after that visible.

  • Can we pay a Tron address directly instead of converting to local currency?

    Yes, and it is a different product decision rather than a technical one. Paying the address moves a dollar-denominated balance to a counterparty who then handles their own conversion and their own compliance. Converting and paying a local rail delivers local currency into a bank account in the beneficiary's own name, which is usually what a supplier or an employee actually wants.

Fique por dentro do que a Lumx está desenvolvendo.

Inscreva-se para recebê-los por e-mail.

Compartilhe nas redes sociais:

usdt-on-tron-for-business-payouts

A

usdt-on-tron-for-business-payouts

USDT on Tron: what TRC20 means for a business payout

Copiar link

Copiado!

usdt-on-tron-for-business-payouts

FALE COM NOSSO TIME

Pronto para transformar seu negócio com stablecoins?

Descubra como nossa infraestrutura pode integrar stablecoins às suas operações financeiras de forma rápida, segura e eficiente.

Explainers

Nesta página

©2026. Todos os direitos reservados.

A LUMX SOCIEDADE PRESTADORA DE SERVIÇOS DE ATIVOS VIRTUAIS LTDA., pessoa jurídica de direito privado, inscrita no CNPJ/MF sob o nº 42.887.120/0001-00, (“Lumx”) atua como prestadora de serviços de ativos virtuais e encontra-se em processo de adequação ao regime regulatório das Sociedades Prestadoras de Serviços de Ativos Virtuais (SPSAV), nos termos da Resolução BCB nº 520/2025, estando atualmente sujeita ao regime de transição previsto em seu art. 88.

A Lumx não é banco, instituição financeira, instituição de pagamento ou custodiante de recursos de clientes. Determinados serviços disponibilizados por meio da Plataforma poderão ser prestados por parceiros terceiros devidamente autorizados e regulados, nos termos da legislação aplicável.

Consulte os Termos de Uso e o Aviso de Privacidade da Lumx para obter mais informações sobre as condições de utilização da Plataforma e o tratamento de seus dados pessoais.