OUT_OF_ENERGY: qué significa y cómo solucionarlo
Tu transacción se quedó sin energía mientras se ejecutaba, así que la red la detuvo y la marcó como FAILED. No se transfirió nada, pero los TRX quemados en el camino se perdieron. La solución lleva alrededor de un minuto: pon 65.000 de energía en la dirección y vuelve a enviar.Dónde lo estás viendo
El mismo fallo aparece con distintas palabras según dónde lo mires.TronScan
La página de la transacción muestra un estado FAILED en rojo con el resultado OUT OF ENERGY, y la sección de transferencia de tokens está vacía.Tu billetera
Trust Wallet, TronLink y otras suelen decir que la transacción falló, o que no hay suficiente energía o TRX para la comisión de red.Tu código
Un recibo de tronweb o de la API HTTP trae result: 'OUT_OF_ENERGY' dentro de receipt, y el result de la propia transacción en FAILED.Recibo de la transacción — 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 en 0 significa que la dirección no tenía energía propia, así que cada unidad hubo que pagarla quemando TRX. energy_fee está en sun: 5.000.000 sun son 5 TRX quemados en una transferencia que nunca ocurrió, y se detuvo ahí porque ese era el límite de comisión (fee limit); energy_usage_total de 50.000 no llega a las 65.000 unidades que necesitaba la transferencia.Tres causas, de la más común a la menos común
La dirección no tiene nada de energía
La energía no tiene cuota diaria gratuita: una dirección solo la tiene si hay TRX en staking o una delegación. Sin ella, cada transferencia de USDT se paga quemando TRX, y si el saldo de TRX o el límite de comisión no cubren las 65.000 unidades de energía completas, la transacción muere a mitad de camino.El destinatario resultó ser una dirección nueva
Enviar a una dirección que no tiene USDT cuesta unas 131.000 unidades de energía en lugar de 65.000: el contrato tiene que crear un nuevo registro de saldo. La mayoría de las direcciones de depósito de exchanges se comportan así, y por eso las transferencias a un exchange fallan más a menudo.El límite de comisión era demasiado bajo
El límite de comisión (fee limit) fija cuántos TRX puede quemar una transacción como máximo. Las billeteras suelen usar por defecto un límite que hace un año era generoso y ya no lo es, y la transacción se detiene en cuanto lo alcanza.Qué hacer ahora mismo
Confirma que es la energía
Busca la dirección en el verificador: muestra la energía que tiene ahora frente a la que necesita una transferencia.Consigue la energía
Alquila 65.000 de energía por una hora (3,03 TRX), o 131.000 si el destinatario todavía no tiene USDT.Espera la delegación
Llega en 3–10 segundos y se ve en la pestaña Recursos de la dirección en TronScan.Vuelve a enviar
Reenvía la misma transferencia. Con la energía disponible, la red gasta la delegación en lugar de quemar TRX.Detectarlo antes de que te cueste
Estimar 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`);}
Preguntas frecuentes
¿Qué significa OUT_OF_ENERGY?
Significa que la transacción empezó a ejecutarse, agotó toda la energía que tenía la dirección y todos los TRX que el límite de comisión permitía quemar, y aun así no terminó. La red la marcó como FAILED. La transferencia no se hizo, pero la energía y los TRX quemados se gastaron de todos modos.
¿Recuperaré los TRX quemados?
No. TRON quema esos TRX como pago por el cómputo que la red ya realizó, y una transacción fallida no es una excepción. Nadie puede devolverlos: ni la billetera, ni el servicio, ni los validadores. La única forma de evitarlo es tener la energía antes de enviar.
¿Se enviaron mis USDT?
No. Una transacción fallida no cambia ningún saldo: tus USDT nunca salieron y el destinatario no recibió nada. Revisa el hash en TronScan: una transferencia fallida muestra un estado FAILED en rojo y ningún movimiento de tokens.
¿Por qué la misma transferencia funcionó ayer?
La energía de los TRX en staking se regenera en 24 horas, así que una dirección puede tener suficiente para una transferencia al día y nada para la segunda. El costo también depende del destinatario: 65.000 unidades de energía si ya tiene USDT, unas 131.000 si no.
Subir el límite de comisión lo soluciona. ¿Es buena idea?
Evita el fallo, pero no abarata la transferencia: un límite de comisión más alto solo deja que la red queme más TRX, unos 6,85 TRX en una transferencia normal. Alquilar la energía cuesta 3,03 TRX para el mismo resultado.
¿Cómo evito que vuelva a pasar?
Revisa la dirección antes de enviar y alquila energía cada vez que falte. Para billeteras que envían todo el día, la recarga automática compra energía en cuanto el saldo baja de un umbral, así ninguna transferencia empieza sin ella.