LEG 03 · 链上转移
以太坊(ERC20)转 USDT 要多少 ETH:收款地址是新是旧,网络费差在哪
普通自付费转账要备 ETH。先看两头的 USDT 余额怎样变化,再看基础费和小费;用量乘上实付单价,才是这笔的网络费。
以太坊主网上,普通钱包直接调用 USDT 合约、自付网络费时,用 ETH 结算,扣多少是两个数相乘:这笔用掉多少 gas,每份 gas 付多少钱。2026 年 10 月 25 日北京时间 20:03:59 出块的第 26,269,571 号区块里,一笔用量 63,209 gas,另一笔 46,109 gas,相差 17,100 gas。下面用余额写入规则解释这笔差额,再看单价怎样影响实扣。
单价那头差得更远。这个区块的基础费约 0.0426 Gwei,同一区块里,有人连小费在内付 0.069 Gwei,有人付 1.04 Gwei。两笔用量都在 63,000 gas 左右,前者扣 0.0000044 ETH,后者扣 0.0000659 ETH,相差约 15 倍。哪一头是你自己能动的?一段一段对。
以太坊转 USDT 的网络费怎么算:用量乘单价,基础费烧掉,小费给验证者
2026 年 10 月查阅的 ethereum.org 《Gas and fees》列出的公式是:units of gas used × (base fee + priority fee)。基础费(base fee)由协议按前面区块的拥挤程度定,付出去就被销毁;小费(priority fee)由发送方自己填,归打包这笔交易的验证者。
链上为什么用 ETH 结算?USDT 在以太坊上是一个合约,Tether 支持协议页列的合约地址是 0xdAC17F958D2ee523
两个数都在回执上。用量是这笔实际用掉的 gas;单价是最后实付的那个数,已经含了小费。两者相乘,就是发送地址少掉的 ETH。下文 1 ETH = 10 亿 Gwei。
转给新地址为什么多扣:63,209 和 46,109 差在哪
差在收款方的 USDT 余额是不是从 0 开始记。合约要把收款方的余额写进一个存储位置:原来是 0、现在写成非 0,和原来就有数、只改个数,收费不同。
依据是三份以太坊改进提案。EIP-2200 定的 SSTORE_SET_GAS(从 0 写成非 0)是 20,000;EIP-2929 把改写已有数的 SSTORE_RESET_GAS 改成 5000 − 2100,即 2,900。两者相减,17,100。
发送方那头也有一笔。转完余额归零,等于把一个非 0 的位置写回 0,EIP-3529 规定退还 4,800 gas,退还总数不超过退还前执行耗费的五分之一。
把收款前和转完后的余额分成四种情形,再用同一区块四笔直接转账的实际用量来对照。以下余额变化作为推算前提;回执中的用量和输入数据可以核对,单凭回执不能证明地址当时的余额:
- 若收款方原来有 USDT,发送方转完还有余额:0x93cb87…bc7d,46,109 gas。
- 若收款方原来是 0,发送方还有余额:0x11ecf6…d29c,63,209 gas,比上一笔多 17,100。
- 若收款方原来有 USDT,发送方转完归零:0x2719c2…c51e,41,309 gas,比第一笔少 4,800。
- 若收款方原来是 0、发送方转完归零:0xccf4a1…2a59,58,421 gas。
第四笔按上面的加减是 46,109 + 17,100 − 4,800 = 58,409,回执却是 58,421。差的 12 gas 也有来处:交易输入数据比第一笔多一个非零字节、少一个零字节,按 EIP-1559 列出的输入数据计费,16 − 4 = 12。收款地址和金额的编码都会影响这些字节,不能把四个总用量当成固定收费表。
落到 ETH 上,同一个单价 1.0425621 Gwei 下,46,109 gas 扣 0.0000480715 ETH,63,209 gas 扣 0.0000658993 ETH,后一种用量多付约 37%。
「新」看的是什么?是这个地址在 USDT 合约里此刻的余额,不是钱包建了多久。曾经收过、后来把 USDT 全部转走的老地址,余额回到 0,下一次收款也会涉及从零写成非零的开销;整笔用量还要看发送方余额是否清零、输入数据和具体调用方式。
同一区块有人付 0.069 Gwei、有人付 1.04 Gwei:单价里能动的是小费
基础费每个区块一个数,谁来都一样。第 26,269,571 号区块是 0.0425621 Gwei。
差出来的是小费。EIP-1559 的写法:实付小费取「最高小费」和「最高单价减基础费」两者中较小的那个,实付单价=基础费+实付小费。拿两笔用量接近的回执对一下:
| 回执 | 用量(gas) | 最高单价 / 最高小费(Gwei) | 实付单价(Gwei) | 扣掉的 ETH |
|---|---|---|---|---|
| 0x36ad4e…aa87 | 63,197 | 0.090285418 / 0.026362536 | 0.068924636 | 0.00000435583 |
| 0x11ecf6…d29c | 63,209 | 1.046337492 / 1 | 1.0425621 | 0.0000658993 |
第一行,最高单价减基础费是 0.047723318,比最高小费大,于是小费按 0.026362536 收,加上基础费正好是 0.068924636。第二行,最高单价减基础费是 1.003775392,小费按 1 收。
第二行这 0.0000658993 ETH 里,基础费那份只有 63,209 × 0.0425621 ≈ 2,690 Gwei,约 0.0000026903 ETH;其余 0.000063209 ETH 都是那 1 Gwei 小费,占九成六。
小费影响被优先打包的机会。这两笔实付网络费约相差 15 倍,却在同一个区块上链。这个结果不能推出别的交易也会同时确认。发出前看钱包当前推荐的费用;需要调整时,把最高单价、最高小费和预计等待时间一起看,别把档位名称当成到账承诺。
自己那笔扣了多少:拿交易哈希到区块浏览器里对
先在钱包的活动记录里点开这笔,复制交易哈希,0x 开头、共 66 位。贴进区块浏览器的搜索框。以 Ethplorer 的中文交易页为例,打开后先看左边那块:代币应是 Tether USD,金额对得上,状态是「成功」。
再往下翻到「交易详情」,找「Gas 限制」「使用的 Gas」「Gas 价格」「交易成本」四栏。交易成本就是使用的 Gas 乘 Gas 价格,这是你这笔真正扣掉的 ETH。
「使用的 Gas」只负责对实扣,不能单凭它倒推余额。要解释差额,先确认这笔是否直接调用同一个 USDT 合约的 transfer,再查交易发生前后的代币余额。经兑换合约、批量转账或代付服务发出的交易,不能套上面四笔的总用量。
状态若是失败,USDT 没转出去,网络费照样扣了一笔,怎么核见USDT 转账失败还扣手续费吗。
钱包提示 ETH 不足,余额明明够实扣:发出前核的是上限
发出之前还有一道账。EIP-1559 的规范里有一行 assert signer.balance >= transaction.gas_limit * transaction.max_fee_per_gas:余额要盖住「gas 上限 × 最高单价」,不是实扣。
拿 0x11ecf6…d29c 算:上限 96,064,最高单价 1.046337492 Gwei,发出前余额至少要 0.000100515364831488 ETH;实扣 0.0000658993 ETH。没用掉的 gas、最高单价高出实付的那截,都不收,ethereum.org 那页也写了差额退还发送方。
上限设得宽,差距更大。0x93cb87…bc7d 那笔,上限 220,436、最高单价 170 Gwei,发出前要盖住 0.03747412 ETH,最后扣了 0.0000480715 ETH。
也有设得很紧的。0x36ad4e…aa87 的上限 64,031,实际用掉 63,197,只余 834。这只是那笔交易设定的上限。准备自己的转账时,应让钱包按当前发送方、收款方和金额重新估算,不照抄这 834 的余量。
别为了凑余额,把 gas 上限手动压到 46,000 上下再转给新地址。用量不够,合约执行到一半停下,USDT 没转出去,已经用掉的 gas 照扣。
余额只差一点,先让钱包重新估一次费,或者把单价档位调回市场档;还不够,才补 ETH。补的时候网络要选以太坊主网,提到别的链上,这边照样是 0。
从交易所提 USDT、收 USDT 的一方,不按这套算
从交易所选 Ethereum (ERC20) 提 USDT,链上那笔由平台的地址发出,你付的是提币页上标的提币手续费,跟上面的用量、单价没有直接关系。几条网络的提币费怎么比,见提币网络怎么选。
普通自付费转账中,收款方不出这笔网络费,它记在发送地址名下;到账比约定少了一截,见收 USDT 要付手续费吗。转出去以后一直挂着「待处理」,加速或取消各要多付多少,见以太坊上转 USDT 一直待处理。