Quanto custa um saque de USDT on-chain, e como precificar o seu
Um negócio que paga USDT na TRON precisa definir uma taxa de saque, e em geral um mínimo também. On-chain, cada saque custa a quem envia uma de duas quantidades de energia, 64,285 unidades ou 130,285 (os 6.5 TRX e 13.1 TRX que as carteiras cotam, quando a energia é queimada), e o saldo de USDT do destinatário decide qual. Uma taxa fixa tem de ser precificada contra uma mistura das duas, e qual valor um dado destinatário vai custar dá para ler antes de qualquer coisa ser enviada.
Dois valores, e o destinatário escolhe um
Um saque de USDT é uma chamada à função de transferência do contrato do USDT, e a rede mede a chamada em energia. Em 7 de setembro de 2026 rodamos a mesma transferência contra a cópia da cadeia de um nó, sem transmitir nada, para quatro tipos de destinatário. Para um endereço que já tinha USDT, a chamada usou 64,285 unidades. Para um endereço sem nenhum, usou 130,285. O saldo sozinho decidiu. Se o endereço já tinha sido ativado alguma vez não fez diferença, e um saldo de uma unidade, a menor quantidade que o token pode guardar, bastou para o valor menor (de onde vêm os dois números).
O valor enviado não entra nisso. Em 27 de outubro de 2026 repetimos a chamada a partir de um remetente com dois valores, uma unidade e mil USDT, para um destinatário com USDT e um sem. As quatro respostas voltaram nos mesmos dois valores, até a unidade. A única transferência nossa que medimos pelo recibo, enviada em 2 de setembro de 2026 a um endereço sem USDT, gastou 130,285 unidades on-chain, o valor que as chamadas preveem.
| Uma transferência de USDT | Destinatário tem USDT | Destinatário não tem nenhum |
|---|---|---|
| Energia usada, com uma unidade ou mil USDT | 64,285 unidades | 130,285 unidades |
| Essa energia queimada a 100 sun por unidade da rede | 6.4285 TRX | 13.0285 TRX |
| Bandwidth cobrado, cerca de 345 bytes, queimado depois de gasta a cota de graça | 0.345 TRX | 0.345 TRX |
Os valores redondos que as carteiras cotam, 6.5 TRX e 13.1 TRX, são a mesma queima a cerca de 65,000 e cerca de 131,000 unidades, 715 unidades acima do que a chamada usou. O bandwidth é medido pelo tamanho da transação, que não muda com o que o destinatário tem. Cada conta ganha 600 bytes por dia de graça, o que cobre cerca de uma transferência, então quem envia saques o dia todo paga os bytes de quase todos eles (energia contra bandwidth).
De onde vem a energia define o piso
Os valores queimados são o custo de uma carteira sem energia nenhuma, em que a rede tira TRX por cada unidade. Quem envia pode, em vez disso, levar energia própria, fazendo stake ou alugando, e o piso sob uma taxa de saque é o do que, dos três, quem envia usar.
Fazer stake de TRX dá a uma conta uma parte diária da energia da rede, e a fórmula é uma divisão só, trabalhada em quanto TRX fazer stake para ter energia. Um stake não tem preço por transferência. O custo dele é o capital que trava, que volta catorze dias depois de você desfazer o stake, e uma cota que não se acumula: a energia de um dia parado se perde no fim do dia.
Alugar entrega a mesma energia à carteira que envia por alguns minutos ou uma hora. O nosso preço é um preço por aluguel, recalculado contra o mercado a cada poucos minutos, então o valor ao vivo está na página de preços. A tabela abaixo traz uma leitura da API, feita às 21:47 UTC de 27 de outubro de 2026.
| Energia para um saque | Destinatário tem USDT | Destinatário não tem nenhum |
|---|---|---|
| Queimada pela rede | 6.4285 TRX | 13.0285 TRX |
| Alugada aqui em 27 de outubro de 2026, prazo de cinco minutos | 1.755 TRX | 3.537 TRX |
| Alugada aqui em 27 de outubro de 2026, prazo de uma hora | 1.95 TRX | 3.93 TRX |
| Em stake, com os parâmetros de 7 de setembro de 2026: TRX travado para cobrir um saque desses por dia, nas 65,000 e 131,000 unidades nominais | 6770 TRX | 13645 TRX |
As linhas de aluguel são o typical_price_trx que GET /v1/tariff deu para cada aluguel à venda. Os dois aluguéis entregam a mesma energia e diferem só em quanto tempo ela fica na carteira. O bandwidth vem por cima de cada linha do mesmo jeito. A linha de stake é capital travado uma vez, e cresce com o volume: dez saques por dia precisam de cerca de dez vezes esse stake.
Uma taxa fixa contra dois custos
Uma taxa de saque costuma ser um número só, e o custo por baixo dela é um de dois. Uma taxa fixa pode precificar o pior caso, cobrando cada saque como se fosse para um saldo vazio. Isso cobre todo destinatário, e cobra a mais de cada um que já tinha USDT. Ou pode precificar a mistura: o valor menor, mais a diferença entre os dois vezes a parcela de destinatários que não têm USDT. Essa parcela define a média, e quem paga os saques é o único que pode fornecê-la.
Não medimos essa parcela. As linhas abaixo são exemplos calculados com duas parcelas declaradas, um destinatário em dez e um em quatro, com os dois extremos ao lado. São aritmética sobre os valores acima e não descrevem nenhuma base real.
| Exemplo calculado: parcela de destinatários sem USDT | Energia média queimada por saque | Média no aluguel de cinco minutos, lida em 27 de outubro de 2026 |
|---|---|---|
| Nenhum deles | 6.4285 TRX | 1.755 TRX |
| Um em dez | 7.0885 TRX | 1.9332 TRX |
| Um em quatro | 8.0785 TRX | 2.2005 TRX |
| Todos eles | 13.0285 TRX | 3.537 TRX |
Com um em dez, uma taxa precificada no pior caso cobra um pouco mais de um e quatro quintos da média. Com um em quatro, cobra cerca de um e três quintos. As razões quase não mudam entre as duas colunas, porque em ambas o valor maior é cerca do dobro do menor. Precificar a mistura traz o risco oposto: uma taxa definida para um em dez perde dinheiro numa rodada de pagamentos em que a maioria dos destinatários acaba não tendo USDT, e nada na taxa mostra que isso aconteceu.
Lendo o tipo antes de enviar
POST /v1/estimate aceita até 500 destinatários e devolve um kind para cada um: single para um endereço que tem USDT, double para um que não tem, e custom para um contrato. Cada item traz o seu energy_units e o seu price_trx, e a resposta acrescenta total_trx da rodada ao lado de burn_cost_trx, o que a mesma rodada queimaria. A chamada não reserva nada e não cobra nada. Para um endereço de cada vez, GET /v1/address-check responde com expected_kind.
Com duas taxas, a estimativa decide qual delas vale para cada saque. Com uma taxa só, contar os itens double ao longo de um mês de estimativas dá a parcela da sua própria base, que é o número que a tabela acima teve de supor. Um item custom é precificado a partir de um dry-run da própria transferência do contrato, então a energia dele não é nenhum dos dois valores e uma taxa fixa não diz nada sobre ele.
O tipo é lido num momento, e um destinatário pode mudar nesse intervalo. Um endereço que esvazia o USDT depois da estimativa custa o valor maior quando o saque chega, e uma carteira com energia para o menor queima a diferença em TRX (falhas que parecem nada). Para uma rodada inteira, pagamentos em lote, até 500 de cada vez cobre a estimativa e os avisos que ela devolve por destinatário.
Por que saques têm um mínimo
O custo é por transferência: uma unidade e mil USDT consumiram a mesma energia nas nossas chamadas. Uma taxa que o cobre é, portanto, uma soma fixa em cada saque, e como parcela do valor ela cresce à medida que o valor diminui. Um saque mínimo é o valor abaixo do qual essa parcela é grande demais para que o saque seja pago. A cadeia fixa o custo em que um mínimo se apoia: um dos dois valores acima, para um saque de qualquer tamanho. Onde fica a linha é escolha de quem paga, e um saque abaixo dela é recusado de saída.
O que não medimos
Não temos uma parcela realista de destinatários sem USDT para nenhuma base, a nossa inclusive. Os valores de energia vêm de chamadas rodadas contra o estado da cadeia sem transmitir, e só o maior foi conferido contra um recibo nosso, a transferência de setembro acima. Os dois valores foram os mesmos em 7 de setembro e em 27 de outubro de 2026. São propriedades do contrato do USDT e da precificação da rede, e qualquer um dos dois pode mudar. Os preços de aluguel são uma leitura única, e o preço acompanha o mercado.
Antes de definir uma taxa na sua próxima rodada de pagamentos, veja qual dos dois valores cada destinatário vai custar, sem reservar nada: o tipo por destinatário em POST /v1/estimate →