Como reduzir as taxas de transferência USDT via API : passo a passo com a API TronNRG
Resumindo: uma transferência padrão USDT TRC-20 consome 65.000 Energy . Se sua carteira não tiver Energy , Tron queima aproximadamente 13 TRX do seu saldo para cobrir esse consumo. Com a API TronNRG , você delega essa mesma Energy por 4 TRX — uma redução de cerca de 70% em cada envio. A integração consiste em três operações HTTP: enviar TRX para o endereço de despacho, assinar uma mensagem de propriedade e enviar uma requisição POST para o endpoint /delegate. Este guia descreve cada etapa com código e os quatro erros mais comuns que você encontrará em produção.
Antes de começar
Você precisa de três coisas antes da primeira chamada API :
Uma carteira Tron com TRX . Pelo menos 4 TRX para pagar por uma delegação. Em produção, mais — você pagará por transferência, e recarregar uma carteira online periodicamente é mais simples do que microfinanciá-la a cada envio.
Uma forma de assinar mensagens Tron . TronWeb expõe a tronWeb.trx.signMessageV2() . O Python utiliza a tron.trx.sign_message_v2() através do tronpy. O PHP utiliza a biblioteca `iexbase/tron-api`. A referência API TronNRG contém exemplos funcionais em todas as quatro linguagens.
O endereço da carteira do destinatário. Decida antecipadamente se você está delegando para a própria carteira de pagamento (caso mais simples) ou para uma carteira diferente que você controla (configuração de tesouraria). Ambas funcionam. A assinatura vincula as duas.
Um wrapper para sua função de envio USDT existente. O wrapper realiza três operações HTTP (pagamento, assinatura e solicitação), aguarda a chegada do Energy e, em seguida, chama sua lógica de transferência USDT existente. Essa é toda a integração. Abaixo, detalhamos cada etapa.
Passo 1: Enviar TRX para o endereço de despacho
Envie TRX da carteira cuja Energy você está pagando para o endereço de despacho TronNRG . O mínimo é de 4 TRX (que compra 65.000 Energy , o suficiente para uma transferência padrão USDT ). O máximo por delegação é de 1.000 TRX (16,25 milhões Energy ). O preço é linear, a 16.250 Energy por TRX para valores intermediários.
Em TronWeb :
const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid is what you will sign in Step 2
Erro comum: enviar TRX em números inteiros denominados em SUN, mas esquecer a conversão. TRX tem 6 casas decimais. 4 TRX equivalem a 4_000_000 SUN ( 4 * 1e6 ). Errar nesse cálculo resulta no envio de um valor insignificante (a delegação será muito pequena) ou de centenas de TRX (a delegação será bem-sucedida, mas você terá pago muito mais do que o necessário). Sempre dobre o valor antes de passá-lo para o sendTransaction .
Etapa 2: Assine a mensagem de autorização
A API precisa de comprovação de que a pessoa que reivindica a delegação é a mesma pessoa que efetuou o pagamento. Você fornece essa comprovação assinando uma mensagem com a chave privada da carteira pagadora. O formato da mensagem é:
{payment_tx_hash}:{delegate_to_address}
Onde payment_tx_hash é o txid retornado na Etapa 1 e delegate_to_address é o endereço Tron para o qual você deseja delegar Energy . Em TronWeb :
const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);
Por que esse design: ele elimina a necessidade de chaves API , mantendo a delegação segura. Ninguém mais pode reivindicar seu pagamento, pois somente você possui a chave privada. Você também pode pagar da carteira A e delegar para a carteira B, desde que controle a carteira A — útil para tesourarias que financiam Energy para várias carteiras remetentes a partir de um único pagador.
Erro comum: usar o método de assinatura errado. Tron possui dois padrões de assinatura de mensagens — signMessage (legado) e signMessageV2 (compatível com EIP-191). A API espera o V2. Usar o método legado produzirá uma assinatura aparentemente válida, mas que será rejeitada pela API por incompatibilidade de assinatura.
Etapa 3: Reivindique sua delegação
Envie os dados do pagamento (hash hash, carteira de destino e assinatura) para api.tronnrg.com/delegate em formato JSON.
const res = await fetch('https://api.tronnrg.com/delegate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: payment.txid,
delegate_to: delegateTo,
signature
})
}).then(r => r.json());
A API retorna três campos que você usará: res.energy (a quantidade Energy delegada, igual a 16.250 TRX enviados), res.delegations[0].tx (o hash da transação de delegação na blockchain — armazene isso para seu registro de auditoria) e res.ref (um ID de referência como nrg_d_42 útil para consultas de suporte).
A delegação é registrada na blockchain em aproximadamente 3 segundos após uma solicitação bem-sucedida. Ela permanece ativa por 15 minutos a partir desse momento. Após 15 minutos, qualquer Energy não utilizada retorna automaticamente ao pool TronNRG — sem reembolsos parciais.
Passo 4: Transmita sua transferência USDT
Antes de transmitir a transferência USDT , confirme se a Energy realmente chegou. Consulte a função tronWeb.trx.getAccountResources() na carteira de destino até que EnergyLimit - EnergyUsed seja de pelo menos 65.000. Um intervalo de 500 ms com um tempo limite de 30 segundos é padrão.
Em seguida, envie o USDT como faria normalmente. A Energy cobre a taxa. Nenhum TRX é queimado da carteira remetente.
// Wait for Energy to arrive
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });
// Broadcast the USDT transfer
const contract = await tronWeb.contract().at( USDT _CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });
Defina sempre um feeLimit. Se, por algum motivo, Energy não chegar e seu código transmitir mesmo assim, o feeLimit limita a quantidade máxima TRX que a rede pode queimar. 20 TRX (expressos como 20.000.000 SUN) é um limite razoável — suficiente para cobrir uma transferência caso Energy falhe, limitado para que um bug não possa esgotar uma carteira online.
O que isso realmente te poupa
A economia por transferência é fixa em termos TRX : aproximadamente 9 TRX economizados em cada envio padrão USDT (13 TRX evitados em queima, menos 4 TRX pagos por Energy ). Esse número não muda com as condições de mercado — é uma propriedade do protocolo da rede Tron . O que muda é quantos dólares esses 9 TRX representam.
Com um volume real de negócios, as economias se acumulam rapidamente:
| Transferências diárias | Queima anual TRX (sem API ) | TRX anual via API | TRX economizado por ano | Redução |
|---|---|---|---|---|
| 10 | ~47.450 | 14.600 | ~32.850 | ~69% |
| 100 | ~474.500 | 146.000 | ~328.500 | ~69% |
| 500 | ~2,37 milhões | 730.000 | ~1,64M | ~69% |
| 1.000 | ~4,75 milhões | 1,46 milhões | ~3,29 milhões | ~69% |
| 5.000 | ~23,7 milhões | 7,30 milhões | ~16,4 milhões | ~69% |
Para obter os valores atuais em USD com base no preço TRX em tempo real, use a calculadora de taxas TronNRG — insira seu volume diário e ela retornará a economia em dólares em tempo real.
Se você realiza mais de 500 transferências por dia, vale a pena comparar com o auto-staking TRX para gerar sua própria Energy . O auto-staking tem um custo por transferência próximo de zero, mas exige um bloqueio de capital substancial. A calculadora de ponto de equilíbrio do staking mostra onde as linhas de equilíbrio entre a API e o auto-staking se cruzam para o seu volume específico.
Solução de problemas
Quatro erros ocorrem com frequência suficiente para que valha a pena conhecê-los de antemão:
Incompatibilidade de assinatura (mais comum). A API assina com a versão 2, mas você assinou com o método legado signMessage . Correção: mude para signMessageV2 . A lista completa de códigos de erro está na documentação de erros TronNRG .
Pagamento não encontrado. Você chamou /delegate antes da transação de pagamento ser confirmada na blockchain. Correção: aguarde pelo menos um bloco (cerca de 3 segundos) após a Etapa 1 antes de chamar a Etapa 3. No código, consulte tronWeb.trx.getTransaction(payment.txid) até que retorne um resultado.
Pagamento abaixo do mínimo. Você enviou menos de 4 TRX . O sistema considera qualquer valor inferior a 4 TRX como inválido e realiza reembolsos automáticos. Solução: verifique os valores antes de enviar — o mínimo é fixo.
Energy não chegou. A delegação foi bem-sucedida no lado API , mas a carteira de destino ainda não mostra Energy . Solução: aguarde mais um bloco e verifique novamente — a propagação pode ocasionalmente levar 6 segundos em vez de 3. Se Energy ainda não aparecer após 30 segundos, verifique se o endereço da carteira de destino que você enviou corresponde ao que você está consultando (um erro de digitação costuma ser a causa).
Leia a documentação completa →
Para volumes empresariais: entre em contato com TronNRG no Telegram para confirmações de webhook, preços para grandes quantidades e SLAs personalizados.
Guias relacionados: API Tron Energy para desenvolvedores · Automatize transferências de USDT em grande escala · Envie USDT por menos de US$ 1
TRÊS CHAMADAS API . 70% DE DESCONTO EM TODAS AS TRANSFERÊNCIAS USDT .
TronNRG já está disponível em api.tronnrg.com. Mínimo de 4 TRX , com preços lineares até 1.000 TRX . Delegação em 3 segundos. Autenticação baseada em assinatura, sem necessidade de chave API . Documentação completa em todos os idiomas suportados em support.tronnrg.com.
ENERGIA PARA ALUGUEL →