FAILED — OUT OF ENERGY

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.
El error exacto

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.
Por qué pasa

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.
La solución

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.
Para desarrolladores

Detectarlo antes de que te cueste

Una llamada a un contrato se puede simular antes de firmarla. La estimación viene en unidades de energía, así que al compararla con la energía disponible de la cuenta sabes si primero tienes que recargar, y nunca pagas una transacción fallida para averiguarlo.
Estimar antes de enviar — javascript
// 1. What the transfer will cost, in Energy
const {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 now
const res = await tronWeb.trx.getAccountResources(sender);
const available = (res.EnergyLimit ?? 0) - (res.EnergyUsed ?? 0);
​
// 3. Top up before signing, never after OUT_OF_ENERGY
if (available < needed) {
throw new Error(`Need ${needed - available} more Energy — rent it first`);
}
Una API pública compra energía desde código, para que el paso 3 recargue en lugar de lanzar un error. La documentación está en getgas.io/api/v1/docs; escribe tus dudas a support@getgas.io.
FAQ

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.