You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python发送TRC20 USDT?现有代码误发TRX求解决

解决Python发送TRC20 USDT的问题

你的代码用了client.trx.transfer接口,这是波场原生TRX的转账方法,自然只会发送TRX。要发送TRC20 USDT,需要调用USDT的TRC20合约方法,以下是修正后的代码:

from tronpy import Tron
from tronpy.keys import PrivateKey

# 初始化主网客户端
client = Tron(network='mainnet')
# 替换为你的私钥(十六进制格式)
priv_key = PrivateKey(bytes.fromhex("你的私钥"))
# 替换为转出地址(base58格式)
from_address = "你的转出地址"
# 替换为转入地址(base58格式)
to_address = "接收地址"
# TRC20 USDT的主网合约地址
usdt_contract = client.get_contract("TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t")

# 注意:USDT是6位小数,所以1 USDT对应1000000个最小单位
amount = 1_000_000  # 这里代表1 USDT

# 构建TRC20转账交易
txn = (
    usdt_contract.functions.transfer(to_address, amount)
    .with_owner(from_address)
    .build()
    .sign(priv_key)
)

# 打印交易ID并广播
print(txn.txid)
print(txn.broadcast().wait())

关键说明

  • 合约地址:TRC20 USDT主网合约固定为TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t,测试网请替换为对应合约地址
  • 金额处理:TRC20代币有小数位,USDT是6位,转账时要把实际金额乘以10^6转换为最小单位
  • 手续费:转账TRC20 USDT需要消耗少量TRX作为链上手续费,确保转出地址有足够TRX余额
  • 地址格式:必须使用波场的base58格式地址,不要用十六进制地址

内容的提问来源于stack exchange,提问作者idks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 16:25:11