Сначала определите тип отказа
Всё дальнейшее зависит от одного вопроса: попала ли транзакция в блокчейн вообще?
- Если у вас есть хеш транзакции, вставьте его в TronScan. Страница открылась, и поле Status называет отказ — переходите к разделу про блокчейн ниже.
- Если хеша нет или обозреватель его не знает, транзакция до сети не дошла — переходите к разделу про неотправленные.
- Если обозреватель показывает SUCCESS с приложенным переводом TRC-20, перевод состоялся и проблема на стороне получателя — переходите к последнему разделу.
Транзакция в блокчейне и помечена как failed
| Результат | Причина | Списали? |
|---|---|---|
| OUT_OF_ENERGY | Вызов исчерпал лимит энергии на середине исполнения | Да |
| REVERT | Контракт отказал — обычно не хватает баланса USDT либо нет allowance для контракта, тратящего от вашего имени | Да |
| OUT_OF_TIME | Исполнение превысило лимит времени ноды, обычно под нагрузкой сети | Да |
| Адрес в чёрном списке | Tether может замораживать адреса на уровне контракта; переводы на такой адрес и с него отклоняются | Да |
Все четыре списывают комиссию. Это не ошибка: сеть выполнила заказанное вами вычисление и отменить его выполнение не может. Повтор без изменений сжигает комиссию второй раз.
OUT_OF_ENERGY встречается заметно чаще остальных, и ей посвящён отдельный разбор. REVERT чаще всего ошибочно принимают за проблему с энергией: добавление энергии не меняет ничего, потому что контракт отказал по своим причинам.
Транзакция не дошла до сети
Эти отказы происходят до исполнения кода, поэтому ничего не списывается — хоть какое-то утешение.
| Причина | Как распознать | Что делать |
|---|---|---|
| Нет Bandwidth и нет TRX | Кошелёк отклоняет транзакцию по размеру ещё до исполнения | Держите немного TRX: 600 бесплатных единиц за сутки израсходованы |
| Адрес назначения не активирован | Обозреватель сообщает, что аккаунт не существует | Сначала отправьте 1 TRX либо примите комиссию за активацию |
| Слишком низкий fee_limit | Кошелёк предупреждает, либо расход упирается ровно в лимит | Поднимите: неиспользованный лимит не стоит ничего |
| Совсем не та сеть | Отправили TRC-20 на депозитный адрес ERC-20 или BEP-20 | Немедленно свяжитесь с получателем; возврат зависит целиком от него |
Случай с не той сетью — единственный по-настоящему серьёзный на этой странице. Ничто в TRON тут не поможет: средства лежат в TRON на адресе, владелец которого может и не иметь от него ключей TRON. Биржи иногда возвращают такое за комиссию, а иногда не могут.
Прошло успешно, но получатель говорит, что ничего нет
Если обозреватель показывает SUCCESS с переводом TRC-20 на нужный адрес и нужную сумму, сеть свою работу сделала. Оставшиеся причины — на стороне получателя.
- Кошелёк не отображает токен. Многие кошельки прячут токены TRC-20, пока их не добавят вручную: баланс есть, интерфейс его не показывает.
- Получатель смотрит не на тот адрес либо не на ту сеть внутри того же кошелька.
- Средства ушли на депозитный адрес биржи с минимальной суммой зачисления или с задержкой.
- В адресе опечатка в один символ, и он ушёл на реальный, но другой аккаунт. Сверьте адрес в обозревателе с задуманным посимвольно.
Отправьте получателю хеш транзакции, а не описание. Это закрывает вопрос сразу и без переписки.
Диагностика за две минуты
- Откройте хеш в TronScan и прочитайте Status.
- Если отказ — прочитайте строку результата и сопоставьте с таблицами выше.
- Посмотрите страницу адреса получателя: держит ли он USDT и активирован ли. Эти два факта объясняют большинство отказов по энергии ещё до того, как вы посмотрите на что-то ещё.
- Проверьте свою панель Resources: доступные Energy и Bandwidth — именно доступные, а не общие.
- Перед повтором что-нибудь измените. Повтор с теми же ресурсами даст тот же отказ и то же списание.
Как предотвратить бо́льшую часть
- Считайте энергию от получателя, а не от суммы, и для любого нового исходите из дорогого сценария.
- Держите 5–10 TRX на любом отправляющем кошельке: этого хватает на Bandwidth, активацию и округления.
- Проверяйте, активирован ли адрес получателя и держит ли он USDT, до первого платежа, а не после.
- Для автоматической отправки симулируйте каждый вызов и считайте от результата, а не от зашитой константы.
Четыре привычки снимают практически всё с этой страницы, кроме случая с не той сетью, — а он предотвращается проверкой сети до вставки адреса, а не после.