FAILED - OUT OF ENERGY на TRON: почему перевод USDT не проходит и как быстро это исправить
Ваш перевод USDT вернулся с ошибкой FAILED - OUT OF ENERGY. Ваши USDT в сохранности, и ничего не было отправлено. На TRON перевод USDT представляет собой вызов смарт-контракта, которому для выполнения нужна энергия, и эта ошибка означает, что транзакция её не получила. В большинстве случаев всё решается одной настройкой: это fee limit.
Самый частый сюрприз: энергию арендовали, а ошибка всё равно появилась
Вот случай, который сбивает с толку тех, кто сделал всё правильно. Вы арендовали энергию, видите её в кошельке, отправляете перевод, а TRON всё равно выдаёт FAILED - OUT OF ENERGY. Почти всегда причина в fee limit.
Fee limit задаёт максимум TRX, которые вы разрешаете сети потратить на энергию для одного вызова. TRON считает вашей доступной энергией ту, что у вас уже есть, плюс ту, которую этот fee limit способен докупить. Поэтому если fee limit стоит на нуле или близко к нулю, а арендованной энергии не хватает с запасом на нужды перевода, вызов упирается в свой потолок и проваливается, даже когда энергия лежит в кошельке. Достаточно того, что аренда пришла с небольшим дефицитом или ещё не успела дойти полностью.
Решение в одном изменении: поднимите fee limit до комфортного значения, например до 30 TRX, и отправьте перевод снова.
- На уровне протокола fee limit задаётся в SUN (1 TRX = 1 000 000 SUN); большинство кошельков показывают его в TRX в поле Fee Limit или Max Fee на экране подтверждения. В SDK вроде TronWeb это аргумент
feeLimit, тоже в SUN. - Повышение fee limit ничего вам не стоит, когда энергии достаточно. Сеть сначала расходует доступную энергию и сжигает TRX только при её нехватке, поэтому при достаточном объёме арендованной энергии сжигать попросту нечего. Fee limit задаёт потолок, а не плату.
- Единственное исключение: если энергии нет вообще, тот же fee limit становится той суммой, которую сеть сжигает, чтобы докупить энергию на месте. Так что смело повышайте его, когда энергия у вас уже есть; если её нет, сначала арендуйте энергию.
Чек-лист перед отправкой
Пройдитесь по нему, и ошибка больше не появится:
- Fee limit выставлен на комфортное значение, около 30 TRX.
- Энергии хватает на перевод: около 65 000, если у получателя уже есть USDT, и около 130 000, если адрес новый, причём аренда уже дошла до вашего кошелька.
- Получатель указан как корректный TRON T-address.
- Если адрес получателя совсем новый, его нужно активировать в сети TRON, прежде чем он сможет принимать токены. Активация через наш сервис стоит 1.5 TRX.
Нужна энергия прямо сейчас? Арендуйте её в личном кабинете или посмотрите актуальные цены.