USDT-TRC20 转账扣的是 TRX:带宽、能量和能量不足的办法
USDT 在波场(TRON)上是一个智能合约里的代币,不是链的原生币。每转一笔,链要为它消耗两样资源:带宽和能量。账户里自己没有这两样,链就从你的余额里烧 TRX 来抵。所以转的是 USDT,扣的是 TRX。
反过来说:钱包里只有 USDT、一个 TRX 都没有,这笔转账就付不起资源费,交易会失败。从交易所把 USDT 提到自己钱包之后,钱包里要是一个 TRX 都没有,第一次往外转就会卡在这里。办法是先往这个地址转够 TRX 再转(一笔要备多少,下文有表),或者质押 TRX 换能量。
转的是 USDT,扣的却是 TRX,账是这么算的
波场给每笔交易记两本账。TRON 开发者文档《Resource Model》对这两样的定义分别是:
- 「Bandwidth — covers the byte size of transactions stored on-chain; larger transactions consume more」——带宽按这笔交易在链上占多少字节来算,交易越大耗得越多。
- 「Energy — covers the computation the TVM performs when executing a smart contract; every contract call consumes some」——能量付的是虚拟机执行智能合约的计算量,只要调用合约就要耗一些。
转 TRX 本身只是普通转账,主要耗带宽。转 USDT 不一样:它是在调用 USDT 的合约,让合约把你名下的余额划一部分给对方,所以带宽和能量两样都要。
这两样从哪来,文档也写了:「When stake and the free quota cannot cover an operation's Bandwidth or Energy cost, the network can burn TRX from the sender's balance at the current chain-parameter rates.」意思是,质押得来的资源加上免费额度盖不住这笔开销时,网络按当时的链参数单价,从发送方余额里烧 TRX。注意是发送方,收款的人一分不出。
带宽管字节,能量管计算:600 免费带宽大约够盖一笔
文档写的免费额度是:「each account can use up to 600 free Bandwidth over a rolling 24-hour window」——每个账户在滚动的 24 小时里最多能用 600 点免费带宽。带宽的消耗等于交易在链上的字节数。
一笔 USDT 转账占多少字节,TronScan 上每笔交易都有记录。拿 2026 年 9 月链上的两笔 USDT 转账看(交易一、交易二),带宽都是 345 字节。按这个大小拿 600 去盖:
- 免费额度满着的时候转一笔,带宽基本能用它盖住。
- 短时间内接着转第二笔,剩下的额度盖不住一整笔,这笔的带宽就要靠质押或者烧 TRX,按每字节 1,000 sun 算约 0.345 TRX。
用掉的额度不是到零点才清零。TRON 文档《Bandwidth and Energy》写的是用量在滚动的 24 小时里逐步恢复,「an amount used at one time is fully recovered after 24 hours」——一次用掉的量,24 小时后全部回来。两笔隔得越久,第二笔能用上的免费额度越多。
更要紧的一点:这 600 的免费额度说的是带宽,不是能量。一笔 USDT 转账真正的大头在能量上,免费带宽再够,能量那一块照样得自己想办法。
| 带宽 Bandwidth | 能量 Energy | |
|---|---|---|
| 管什么 | 交易占多少字节 | 合约执行的计算量 |
| 转 USDT 要不要 | 要,上面两笔都是 345 字节 | 要,是开销的大头 |
| 免费额度 | 每账户每滚动 24 小时 600 | 文档这 600 说的不是它 |
| 不够时烧 TRX 的单价 | 1,000 sun/字节 = 0.001 TRX | 100 sun/能量 = 0.0001 TRX |
单价那一行出自 TRON 文档《Paying for resources》。2026 年 9 月读取 TronGrid 的 wallet/getchainparameters 接口,返回的链参数也是这几个数:能量 100 sun(getEnergyFee)、带宽每字节 1,000 sun(getTransactionFee)、免费带宽 600(getFreeNetLimit)。1 TRX = 1,000,000 sun。
同样转一笔 USDT,为什么有时约 6.4 TRX、有时约 13 TRX?
差别主要出在收款地址上:转账那一刻,它的 USDT 余额是不是 0。余额不是 0,合约里已经有它的余额记录,改一个数就行;余额是 0(从没收过 USDT,或者收过但已经全部转走),合约要替它新建一条余额记录,多干一份活,能量就多耗一截。TRON 开发者文档《Smart contract errors》专门讲了这件事,原因落在合约写存储(SSTORE)上:往值为 0 的位置写,和改一个非 0 的位置,耗能不一样。文档按的是「USDT balance = 0」,也就是看当时的余额,不是看这个地址以前用没用过。
文档给的 USDT 例子是这两档:
| 收款地址当时的 USDT 余额 | 文档给的每笔耗能 | 全靠烧 TRX 时折算(100 sun/能量) |
|---|---|---|
| 不是 0 | 约 64,000 | 约 6.4 TRX |
| 是 0 | 约 130,000 | 约 13 TRX |
文档写的是约数,链上的实际读数带零头:上文的交易一耗了 64,285 能量,交易二耗了 130,285 能量。文档还提到,同一个合约的耗能受动态能量模型影响,每个合约有一个按上一周期用量调整的系数,所以这两档都不是固定值。
折算的算式很简单,任何人拿当天的链参数都能复算:
烧掉的 TRX = 能量数 × 能量单价(sun)÷ 1,000,000
输入是两个数:这笔耗了多少能量(区块浏览器的交易详情里会列出),和当时的能量单价(链参数 getEnergyFee,2026 年 9 月读到的是 100)。拿交易一算:64,285 × 100 = 6,428,500 sun,约 6.43 TRX,TronScan 上这笔记的烧能量费用正是 6,428,500 sun;它的带宽也是烧 TRX 付的,345 × 1,000 = 345,000 sun,两项合计约 6.77 TRX。交易二的 130,285 能量如果全靠烧,就是 13,028,500 sun,约 13.03 TRX。
自己这一笔会花多少,可以这样看:转账前,把收款地址贴到 TronScan 搜一下,看它的 USDT 余额是不是 0,就知道大概落在哪一档;钱包的转账确认页如果显示了预估的能量、带宽或手续费,以那里为准。转账后,把交易哈希贴进 TronScan,交易详情里能看到这笔实际耗了多少能量、多少带宽,各自烧掉多少 TRX。
所以拿不准对方地址里有没有 USDT 时,钱包里备的 TRX 按贵的那档再多留几个,别按便宜的那档刚好卡着留。
能量不够时,两条正路
自己就能做、不用经过任何第三方的办法有两条。文档里还写了第三种来源:别的账户把能量代理给你(文档说交易所和 DApp 常用这个机制替用户付资源费)。找陌生服务要能量该当心什么,放到下一节说。
一、钱包里留够 TRX,让链去烧
最省心。什么都不用设,转账时资源不够,链自动从余额里扣。代价是每笔都实打实花 TRX,按上面的表,一笔几 TRX 到十几 TRX。偶尔转一两笔的人,这条就够了。要点只有一个:余额要留到比这笔可能烧掉的最大值多,余额不够付这一笔,交易就可能失败。
二、质押 TRX 换能量
文档写的是「staking 1 TRX for Bandwidth or Energy grants 1 TP」——质押 1 TRX 换带宽或能量,得到 1 TP。质押期间转账用的是质押得来的资源,不用每笔烧 TRX。
代价是这笔 TRX 被锁住。文档写解除质押之后要「Withdraw TRX after the 14-day waiting period」,也就是要等 14 天才能把 TRX 提回来。
押多少换多少能量,文档给的是按比例分:「Energy obtained = (your TRX staked for Energy / total TRX staked for Energy network-wide) × 180_000_000_000」。2026 年 9 月读取 wallet/getaccountresource 接口,返回的全网能量质押总量(TotalEnergyWeight)约 189 亿 TRX,折下来每押 1 TRX 每 24 小时约 9.5 能量。想让质押的能量每天盖住一笔约 6.4 万能量的转账,要押约 6,700 TRX;约 13 万那档要押约 13,700 TRX。全网质押量一变,这个比例也跟着变。
两条怎么选,拿这两个数比一比:押约 6,700 TRX、想拿回时还要等 14 天,换来的是每天省下一笔约 6.4 TRX 的燃烧。偶尔转一两笔,留 TRX 烧更划算;天天转、手里本来就有大量 TRX 长期不动,质押才省得下来。短期要动的钱,别拿去押。
「免费转账」「能量租赁」这类服务,当心在哪
搜「TRC20 能量不足」,会碰到号称免费转、低价租能量的服务。先弄清正常的代理长什么样:文档写的能量来源里有一种是别的账户把能量代理给你,代理这一步由出能量的一方操作,你这边要给的只是自己的地址。拿这个当尺子,下面几种要求都超出了「租能量」用得着的范围:
- 让你在钱包里签一笔授权,对象是你不认识的合约或地址。签了,对方可能不经你同意就动你的币。
- 让你先转一笔币过去当「激活费」「押金」,说之后才给能量;或者让你把 USDT 先转给他,由他替你转。
- 在群里或私信里主动找上门,说能帮你「解决能量不足」。
本文不构成任何投资建议。