Списался TRX, хотя была энергия: 7 причин скрытых списаний и как их найти

Энергия на кошельке была, а TRX всё равно ушли. Разбираем семь причин — от нехватки bandwidth до пустого адреса получателя — и показываем, как по Tronscan понять, за что именно списала сеть.

Overtron Editorial
списался trx хотя была энергияtrx комиссияusdt комиссия trxсгорел trx при переводе usdtbandwidth tronэнергия tron не сработалаnet_fee energy_fee

Коротко: если списался TRX, хотя была энергия, почти всегда виноват один из семи сценариев. Чаще всего энергия покрыла смарт-контракт, но не хватило bandwidth; энергии было мало для перевода на пустой адрес; делегация пришла позже подписи или уже закончилась; либо операция сама по себе требует платы в TRX, которую энергия не закрывает. Найти причину можно за минуту — по деталям транзакции в Tronscan.

Заряженная энергетическая ячейка на кошельке, из трещины у основания утекают искры, сверху лупа
Энергия на месте, а TRX всё равно утекают: ищем, через какую «щель» сеть их списала.

Почему списался TRX, хотя была энергия: как сеть считает плату

У каждой транзакции в TRON два счётчика. Энергия оплачивает вычисления смарт-контракта — например, перевод USDT TRC-20. Bandwidth оплачивает размер транзакции в байтах и нужен любой операции, даже если контракт не вызывается. Это разные ресурсы: энергией нельзя заплатить за bandwidth, и наоборот.

Сеть сначала тратит то, что есть на адресе отправителя, а недостающее добирает сжиганием TRX с его баланса. Поэтому «была энергия» и «списались TRX» не противоречат друг другу: энергии могло не хватить на всю операцию, или списание пришло за другой ресурс, или за отдельную плату сети.

Как устроены оба ресурса и откуда берётся цена в TRX, описано в модели ресурсов TRON. Сводку по типичным операциям мы собрали в статье о комиссии TRX.

7 причин, почему TRX списались при наличии энергии

1. Энергии хватило, а bandwidth — нет

Самая частая история. Сеть даёт каждому активированному адресу 600 бесплатных bandwidth в сутки, а простой перевод USDT расходует примерно 345–360 bandwidth. Первый перевод за день проходит за счёт бесплатной квоты, на второй остатка уже не хватает — и сеть сжигает TRX за bandwidth. Сумма небольшая, но она появляется в истории как «комиссия», хотя энергия покрыла контракт полностью.

Как понять: в деталях транзакции энергия израсходована из делегации или стейка, а в строке bandwidth стоит сожжённый TRX. Лечится арендой bandwidth вместе с энергией или стейком под bandwidth, если переводов много каждый день.

2. Получатель пустой — энергии нужно вдвое больше

Перевод на адрес, где уже лежат USDT, расходует примерно 64 500–65 000 энергии. Если у получателя USDT никогда не было, контракту нужно создать для него запись баланса, и расход вырастает примерно вдвое — до ~131 000. Арендовали энергию под обычный перевод, а отправили на пустой адрес — сеть потратит всю вашу энергию и сожжёт TRX за недостающую часть. Механику мы подробно разбирали в статье о переводе USDT на пустой кошелёк.

Как понять: в транзакции указана израсходованная энергия из вашего лимита плюс сожжённый TRX за энергию. Перед отправкой откройте адрес получателя в Tronscan: нет USDT на балансе — берите энергию на пустой адрес.

3. Делегация пришла позже, чем вы подписали перевод

Аренда энергии — это отдельная транзакция делегирования на ваш адрес. Блок в TRON выходит каждые 3 секунды, но поставщику нужно время, чтобы отправить делегацию, а сети — чтобы её подтвердить. Если подписать перевод сразу после оплаты, он может попасть в блок раньше делегации и пройти со сжиганием TRX. Энергия при этом действительно придёт — просто уже после перевода.

Как понять: в Tronscan на вкладке ресурсов вашего адреса время делегации позже времени перевода. Правило простое: дождитесь, пока энергия появится в кошельке, и только потом отправляйте.

4. Аренда закончилась до отправки

Делегация на 15 минут или на час по окончании срока возвращается владельцу. Если перевод подписан после окончания аренды, энергии на адресе уже нет, хотя пять минут назад кошелёк её показывал. Особенно часто это случается, когда перевод откладывают «на потом» или долго подтверждают на аппаратном кошельке.

5. Энергия ещё восстанавливается после прошлых трат

Если энергия у вас своя, со стейка, кошелёк показывает два числа: общий лимит и доступный остаток. Потраченная энергия возвращается постепенно в течение 24 часов. Лимит выглядит большим, а доступно в моменте меньше, чем нужно на перевод, — и разницу сеть добирает сжиганием TRX. Смотрите именно на доступный остаток, а не на лимит.

6. Энергия на одном адресе, а отправляли с другого

В TronLink и Trust Wallet бывает несколько аккаунтов в одном приложении. Энергию арендовали на адрес A, а перевод ушёл с адреса B, который был выбран в кошельке. Или в заказе аренды указан адрес с опечаткой либо адрес биржи. Делегация работает только для того адреса, на который её отправили, — переложить её на соседний аккаунт нельзя.

7. Плата, которую энергия не покрывает

Некоторые действия в TRON стоят TRX сами по себе, независимо от энергии. Их легко принять за «сломанную» аренду:

  • Сообщение (memo, note) к транзакции — сеть берёт за него отдельную плату в TRX.
  • Транзакции с мультиподписью — для них в сети предусмотрена дополнительная плата.
  • Перевод TRX на ещё не активированный адрес — создание нового аккаунта оплачивается отправителем.
  • Операции сложнее перевода: approve, свопы, взаимодействие с DeFi-контрактами — им нужно больше энергии, чем вы брали под обычный перевод USDT.
  • Неудачная транзакция: при ошибке контракта ресурсы всё равно расходуются, а USDT остаются у вас.

Размеры этих плат задаются параметрами сети и меняются голосованием Super Representatives, поэтому мы не называем числа — актуальные значения смотрите в документации TRON. Что происходит с ресурсами при ошибке контракта, разобрано в статье о неудачной транзакции TRON и REVERT.

Списался TRX, хотя была энергия: как найти причину в Tronscan

Откройте транзакцию по хэшу и найдите блок с потреблением ресурсов. Там видно, сколько энергии и bandwidth взято из ваших ресурсов и сколько TRX сожжено за каждый из них. В API те же данные лежат в полях energy_usage, energy_fee, net_usage и net_fee; плата указана в SUN, 1 TRX = 1 000 000 SUN.

  • Сожжено только за bandwidth, энергия покрыта полностью — причина 1. Энергия ни при чём, не хватило bandwidth.
  • Энергия частично из вашего лимита, остальное сожжено — причина 2 или 5: получатель пустой или энергия ещё не восстановилась.
  • Энергия из ресурсов не взята вообще — причина 3, 4 или 6: делегации не было на этом адресе в момент перевода. Сверьте время и адрес.
  • Ресурсы покрыты, а комиссия всё равно больше нуля — причина 7: memo, мультиподпись или активация.
  • Статус транзакции не SUCCESS — смотрите текст ошибки: перевод не прошёл, ресурсы потрачены.

Где в Tronscan найти хэш, статус и блок ресурсов, пошагово показано в статье как проверить транзакцию TRC20.

Как не терять TRX при следующем переводе

  • Перед отправкой проверьте получателя: есть USDT — нужна энергия под обычный перевод, нет — под пустой адрес.
  • Если переводов несколько в день, берите вместе с энергией bandwidth: бесплатной квоты хватает примерно на один перевод.
  • Отправляйте только после того, как энергия появилась в кошельке, и до окончания срока аренды.
  • Сверяйте адрес в заказе аренды с адресом, с которого отправляете, — первые и последние символы целиком.
  • Не добавляйте memo без необходимости и учитывайте отдельную плату при мультиподписи.
  • Держите на кошельке небольшой запас TRX: если что-то пойдёт не по плану, перевод пройдёт со сжиганием, а не упадёт.

Если энергию проще заказывать под конкретный перевод, можно купить энергию TRON нужного объёма на короткий срок — цена зависит от рынка, объёма и срока. При регулярных переводах пригодятся статусы со скидкой за оборот.

Энергия платит за контракт, bandwidth — за байты, а memo, мультиподпись и активация — отдельно. Списание TRX при наличии энергии почти всегда означает, что не хватило другого ресурса или энергии было меньше, чем нужно на этот адрес.

Хотите, чтобы перевод USDT обходился без сжигания TRX? Аренда энергии TRON в Telegram-боте @overtronbot: укажите адрес, выберите объём под обычный или пустой адрес — и отправляйте, когда энергия появится в кошельке.

Читайте также

FAQ

Почему списался TRX, хотя была энергия?

Чаще всего энергия покрыла смарт-контракт, но не хватило bandwidth, и сеть сожгла TRX за него. Другие частые причины — пустой адрес получателя (нужно вдвое больше энергии), делегация пришла позже перевода или закончилась, либо операция требует отдельной платы: memo, мультиподпись, активация аккаунта.

Сколько TRX сжигается, если энергии не хватило частично?

Сеть тратит всю доступную энергию и сжигает TRX только за недостающую часть по текущей цене энергии. Точную сумму видно в деталях транзакции на Tronscan, в поле energy_fee (в SUN).

Почему первый перевод за день бесплатный, а второй списал TRX?

Бесплатных bandwidth — 600 в сутки, а перевод USDT расходует примерно 345–360. Первый перевод укладывается в квоту, на второй её уже не хватает, и сеть сжигает TRX за bandwidth.

Энергию арендовал, а перевод всё равно прошёл со сжиганием. Аренда не сработала?

Проверьте в Tronscan время делегации и время перевода. Если перевод подписан раньше, чем делегация попала в блок, или после окончания срока аренды, энергия на адресе в этот момент отсутствовала. Также сверьте, что энергия пришла именно на тот адрес, с которого вы отправляли.

Как узнать, за что именно списали TRX?

Откройте транзакцию в Tronscan по хэшу и посмотрите блок ресурсов: сожжено за энергию, за bandwidth или списана отдельная плата. В API это поля energy_fee и net_fee, значения в SUN (1 TRX = 1 000 000 SUN).

Списывает ли сеть TRX за memo к переводу?

Да, за сообщение к транзакции сеть берёт отдельную плату в TRX, и энергия её не покрывает. Размер платы задаётся параметром сети и может меняться.

Списываются ли ресурсы, если перевод USDT не прошёл?

Да. При ошибке контракта энергия и bandwidth расходуются, а при их нехватке сжигается TRX. USDT при этом остаются на вашем адресе.

Сколько TRX держать на кошельке, если пользуюсь арендой энергии?

Небольшой запас на случай, если энергии или bandwidth не хватит, — чтобы перевод прошёл со сжиганием, а не упал. Сколько именно, зависит от ваших переводов: ориентируйтесь на сжигание без энергии, около 6,5 TRX на адрес с USDT и около 13 на пустой.