Короткий ответ
| Получатель | Нужно 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, и он уже несколько раз менялся голосованием — пока только в сторону снижения. Проверяйте актуальное значение, а не доверяйте цифре из статьи, в том числе из этой.
Как проверить цифры самому
Стоит знать две проверки, обе занимают секунды.
- Текущую цену энергии смотрите в параметрах сети: эндпоинт getchainparameters на любой ноде TRON возвращает getEnergyFee в санах. Разделите на 1 000 000 и получите TRX за единицу энергии.
- Сколько на самом деле будет стоить конкретный перевод, покажет вызов triggerconstantcontract к контракту USDT с вашим отправителем и получателем. Он симулирует вызов без отправки в сеть и возвращает energy_used — реальную цифру именно для этой пары адресов.
- Что у вас уже есть, видно в 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.
Примеры расчёта
| Ситуация | Energy | Bandwidth | Что нужно |
|---|---|---|---|
| Платёж поставщику, которому уже платили | ~64 285 | ~345 | Один пакет 65 000 |
| Первый платёж на кошелёк нового клиента | ~130 285 | ~345 | Один пакет 131 000 |
| Пять выплат постоянным получателям | ~321 425 | ~1 725 | Пакет 650 000 покрывает с запасом |
| Пополнение своего нового кошелька | ~130 285 | ~345 | 131 000 плюс 1 TRX, если адрес новый |
Размеры пакетов — ориентир, а не гарантированное число транзакций. Если партия платежей важна, симулируйте первый перевод и считайте от реальной цифры.
Когда брать энергию заранее
Сжигание TRX работает и не требует подготовки, поэтому для разового перевода оно нормально. Смысл теряется ровно в тот момент, когда переводы становятся регулярными: вы платите по собственному курсу пересчёта сети, а это самый дорогой способ получить энергию.
- Редкие одиночные переводы — проще сжечь TRX, разница невелика.
- Несколько переводов в неделю — аренда дешевле в пересчёте на перевод, и экономия быстро накапливается.
- Выплаты, боты или обменный стол — арендуйте программно перед каждой отправкой и считайте энергию статьёй затрат, а не неожиданностью.
Каким бы путём вы ни пошли, планировать нужно от истории получателя, а не от суммы перевода. Проверили один раз — дальше арифметика.