Почему TRON сжигает TRX, хотя сумма двух квот Bandwidth достаточна
Обычный перевод может сжечь TRX даже при достаточной сумме свободной и стейкинговой Bandwidth. На этом пути отдельного источника должно хватить для всего расхода.
Сопоставьте расход с каждым источником
В wallet/getaccountresource отправителя прочитайте NetLimit и NetUsed, затем freeNetLimit и freeNetUsed. Отдельно рассчитайте остаток каждой квоты. В примере обычный перевод расходует 260 Bandwidth при двух доступных источниках.
staked_remaining = 180
free_remaining = 220
chargeable_bytes = 260
assert max(staked_remaining, free_remaining) < chargeable_bytes
Сверьте полный расход при сжигании
Ни 180, ни 220 не покрывают 260, поэтому сложение до 400 даст неверный прогноз. Сверьте net_fee подтверждённой операции и действующую на момент исполнения цену Bandwidth. При создании аккаунта и некоторых переводах токенов действуют особые правила. Запишите время наблюдения: квоты восстанавливаются между запросами.