OUT_OF_ENERGY: o que significa e como resolver
A sua transação ficou sem energia durante a execução, então a rede a interrompeu e a marcou como FAILED. Nada foi transferido, mas o TRX queimado no caminho se perdeu. A solução leva cerca de um minuto: coloque 65.000 de energia no endereço e envie de novo.Onde você está vendo o erro
A mesma falha aparece com palavras diferentes conforme o lugar onde você olha.TronScan
A página da transação mostra o status FAILED em vermelho com o resultado OUT OF ENERGY, e a seção de transferência de tokens fica vazia.A sua carteira
Trust Wallet, TronLink e outras normalmente dizem que a transação falhou, ou que não há energia ou TRX suficiente para a taxa de rede.O seu código
Um recibo do tronweb ou da API HTTP traz result: 'OUT_OF_ENERGY' dentro de receipt, com o result da própria transação definido como FAILED.Recibo da transação — json{"ret": [{ "contractRet": "OUT_OF_ENERGY" }],"receipt": {"energy_usage": 0,"energy_fee": 5000000,"energy_usage_total": 50000,"net_usage": 345,"result": "OUT_OF_ENERGY"}}
energy_usage em 0 significa que o endereço não tinha energia própria, então cada unidade teve de ser paga queimando TRX. energy_fee está em sun: 5.000.000 sun são 5 TRX queimados numa transferência que nunca aconteceu, e parou ali porque esse era o limite de taxa (fee limit) — energy_usage_total de 50.000 não chega aos 65.000 de que a transferência precisava.Três causas, da mais comum para a menos comum
O endereço não tem energia nenhuma
A energia não tem cota diária gratuita — um endereço só a tem por TRX em staking ou por uma delegação. Sem ela, toda transferência de USDT é paga queimando TRX, e se o saldo de TRX ou o limite de taxa não cobrir os 65.000 de energia inteiros, a transação morre no meio do caminho.O destinatário era um endereço novo
Enviar para um endereço sem USDT custa cerca de 131.000 de energia em vez de 65.000 — o contrato precisa criar um novo registro de saldo. A maioria dos endereços de depósito de corretoras se comporta assim, e é por isso que as transferências para corretoras falham com mais frequência.O limite de taxa estava baixo demais
O limite de taxa (fee limit) define quanto TRX uma transação pode queimar. As carteiras costumam usar por padrão um limite que era generoso há um ano e já não é, e a transação para no instante em que atinge esse teto.O que fazer agora
Confirme que é falta de energia
Consulte o endereço no verificador: ele mostra a energia que o endereço tem agora comparada com o que uma transferência precisa.Obtenha a energia
Alugue 65.000 de energia por uma hora — 3,03 TRX — ou 131.000 se o destinatário ainda não tiver USDT.Aguarde a delegação
Ela chega em 3–10 segundos e aparece na aba Resources do endereço no TronScan.Envie de novo
Reenvie a mesma transferência. Com a energia no lugar, a rede gasta a delegação em vez de queimar TRX.Como detectar antes que custe caro
Estime antes de enviar — javascript// 1. What the transfer will cost, in Energyconst {energy_used: needed} = await tronWeb.transactionBuilder.estimateEnergy(usdtContract,'transfer(address,uint256)',{},[{type: 'address', value: recipient}, {type: 'uint256', value: amount}],sender,);// 2. What the address has right nowconst res = await tronWeb.trx.getAccountResources(sender);const available = (res.EnergyLimit ?? 0) - (res.EnergyUsed ?? 0);// 3. Top up before signing, never after OUT_OF_ENERGYif (available < needed) {throw new Error(`Need ${needed - available} more Energy — rent it first`);}
Perguntas frequentes
O que significa OUT_OF_ENERGY?
Significa que a transação começou a ser executada, consumiu toda a energia que o endereço tinha e todo o TRX que o limite de taxa permitia queimar, e mesmo assim não terminou. A rede a marcou como FAILED. A transferência não aconteceu, mas a energia e o TRX queimado foram gastos de qualquer forma.
Vou receber de volta o TRX queimado?
Não. A TRON queima esse TRX como pagamento pela computação que a rede já fez, e uma transação que falhou não é exceção. Ninguém — nem a carteira, nem o serviço, nem os validadores — pode devolvê-lo. A única forma de evitar isso é ter a energia antes de enviar.
Os meus USDT foram enviados?
Não. Uma transação que falhou não altera nenhum saldo: os seus USDT nunca saíram, e o destinatário não recebeu nada. Consulte o hash no TronScan — uma transferência que falhou mostra o status FAILED em vermelho e nenhuma movimentação de tokens.
Por que a mesma transferência funcionou ontem?
A energia do TRX em staking se regenera ao longo de 24 horas, então um endereço pode ter o suficiente para uma transferência por dia e nada para a segunda. O custo também depende do destinatário: 65.000 de energia quando ele já tem USDT, cerca de 131.000 quando não tem.
Aumentar o limite de taxa resolve — é uma boa ideia?
Isso evita a falha, mas não deixa a transferência barata: um limite de taxa maior só permite que a rede queime mais TRX, cerca de 6,85 TRX numa transferência normal. Alugar a energia custa 3,03 TRX para o mesmo resultado.
Como evito que isso aconteça de novo?
Verifique o endereço antes de enviar e alugue energia sempre que faltar. Para carteiras que enviam o dia todo, a recarga automática compra energia assim que o saldo cai abaixo de um limite, então nenhuma transferência começa sem ela.