ENЛичный кабинет

Сколько энергии нужно для перевода USDT (TRC-20)

Два перевода одной и той же суммы с одного и того же кошелька могут стоить вдвое разное количество энергии. Причина никак не связана с суммой перевода — и как только видно, чем она вызвана, цифра перестаёт быть сюрпризом.

Короткий ответ

ПолучательНужно EnergyПримерно в TRX, если сжигать
Уже держит USDT~64 285~6,43 TRX
Никогда не держал USDT~130 285~13,03 TRX

Именно поэтому пакеты аренды идут по 65 000 и 131 000: они рассчитаны на эти два случая с небольшим запасом. Сумма перевода на цифру не влияет — 10 USDT и 100 000 USDT расходуют одинаковую энергию.

Почему перевод USDT дороже перевода TRX

Отправка TRX — нативная операция. Протокол перемещает баланс и берёт с вас Bandwidth за размер транзакции: несколько сотен байт, обычно бесплатно.

Отправка USDT с точки зрения сети вообще не перевод. Это вызов смарт-контракта — того самого контракта TRC-20, который ведёт реестр, кто чем владеет. Исполнение кода контракта стоит Energy, и чем больше работы делает контракт, тем больше энергии сгорает.

Что удваивает стоимость

Контракт хранит балансы в отображении «адрес → сумма». Когда он зачисляет средства получателю, происходит одно из двух:

  • У получателя уже есть баланс USDT, и контракт перезаписывает существующую ячейку хранилища. Это дешёвый путь.
  • Получатель никогда не держал USDT, и контракту приходится выделять новую ячейку. Запись ячейки с нуля — одна из самых дорогих операций в EVM, и она примерно удваивает расход энергии на перевод.

Значение имеет история получателя, а не ваша. Отправка на свежий депозитный адрес биржи, на только что созданный кошелёк или знакомому, который держал только TRX, каждый раз попадает в дорогой сценарий — пока у него не появится ненулевой баланс USDT.

Во что это обходится, если энергии нет

Энергия не опциональна. Если её нет на адресе, сеть забирает эквивалент в TRX и сжигает его. Курс пересчёта — сетевой параметр getEnergyFee, выраженный в сан (1 TRX = 1 000 000 сан).

На момент написания параметр равен 100 сан, то есть одна единица энергии стоит 0,0001 TRX. Умножаем — и обычный перевод сжигает около 6,4 TRX, а перевод получателю, впервые получающему USDT, около 13 TRX.

Не считайте этот курс постоянным. Его устанавливает управление TRON, и он уже несколько раз менялся голосованием — пока только в сторону снижения. Проверяйте актуальное значение, а не доверяйте цифре из статьи, в том числе из этой.

Как проверить цифры самому

Стоит знать две проверки, обе занимают секунды.

  1. Текущую цену энергии смотрите в параметрах сети: эндпоинт getchainparameters на любой ноде TRON возвращает getEnergyFee в санах. Разделите на 1 000 000 и получите TRX за единицу энергии.
  2. Сколько на самом деле будет стоить конкретный перевод, покажет вызов triggerconstantcontract к контракту USDT с вашим отправителем и получателем. Он симулирует вызов без отправки в сеть и возвращает energy_used — реальную цифру именно для этой пары адресов.
  3. Что у вас уже есть, видно в TronScan: откройте адрес и посмотрите панель Resources — там Energy и Bandwidth, доступные и всего.

Симуляция — единственный способ получить точный ответ, потому что она учитывает текущее состояние контракта, а не эмпирическое правило.

Bandwidth оплачивается отдельно

Energy оплачивает исполнение контракта. Bandwidth оплачивает байты, которые занимает транзакция, и считаются они отдельно.

  • Перевод TRC-20 занимает примерно 345 байт, то есть требует около 345 Bandwidth.
  • Каждому аккаунту TRON бесплатно даётся 600 Bandwidth в сутки — этого хватает на один такой перевод и не хватает на два.
  • При нехватке сеть сжигает TRX по 0,001 TRX за единицу Bandwidth — около 0,345 TRX за перевод. Немного, но именно поэтому кошелёк с энергией и нулём TRX всё равно может не отправить транзакцию.

Отправка на TRON-адрес, который ещё ни разу не активировали, дополнительно стоит 1 TRX за создание аккаунта — сверх всего перечисленного. Это свойство адреса, а не USDT.

Примеры расчёта

СитуацияEnergyBandwidthЧто нужно
Платёж поставщику, которому уже платили~64 285~345Один пакет 65 000
Первый платёж на кошелёк нового клиента~130 285~345Один пакет 131 000
Пять выплат постоянным получателям~321 425~1 725Пакет 650 000 покрывает с запасом
Пополнение своего нового кошелька~130 285~345131 000 плюс 1 TRX, если адрес новый

Размеры пакетов — ориентир, а не гарантированное число транзакций. Если партия платежей важна, симулируйте первый перевод и считайте от реальной цифры.

Когда брать энергию заранее

Сжигание TRX работает и не требует подготовки, поэтому для разового перевода оно нормально. Смысл теряется ровно в тот момент, когда переводы становятся регулярными: вы платите по собственному курсу пересчёта сети, а это самый дорогой способ получить энергию.

  • Редкие одиночные переводы — проще сжечь TRX, разница невелика.
  • Несколько переводов в неделю — аренда дешевле в пересчёте на перевод, и экономия быстро накапливается.
  • Выплаты, боты или обменный стол — арендуйте программно перед каждой отправкой и считайте энергию статьёй затрат, а не неожиданностью.

Каким бы путём вы ни пошли, планировать нужно от истории получателя, а не от суммы перевода. Проверили один раз — дальше арифметика.