USDT 黑名单是怎么回事
USDT 由一家公司发行,而这家公司在自己的代币合约里留了一个开关:任何地址都可能被拉黑。对一家批量发放 USDT 的企业来说,黑名单不是无关紧要的冷知识——它是一份按收款方计的风险,忽视它就要花真金白银。下面讲它是怎么运作的,以及怎么筛查它。
黑名单是什么
TRON 上的 USDT 合约给了它的发行方 Tether 拉黑地址的权力。一个被拉黑的地址在代币这一层被冻结:它持有的 USDT 动不了,涉及它的转账也过不去。这个冻结只作用在代币层面——这个地址仍然能持有和转移 TRX;停下来的只是 USDT。
每一次冻结都是一笔链上交易,所以这份名单天生就是公开的:任何人在任何时刻都能查任何地址。事先不公开的是时机——一个地址在被冻结之前的那一刻,都还好好的。
地址是怎么上去的
Tether 会因为执法请求和法院命令、因为涉及制裁,以及围绕黑客和诈骗资金的流向而冻结地址。冻结不是一份法庭判决——错判和牵连的冻结都发生过——但对一个正要往这样一个地址付款的人来说,实际的结论是一样的:这笔转账到不了账。
付给一个被冻结地址的钱要付出什么代价
这笔转账在链上失败。花在它身上的东西不会回来:能量——或者被烧掉的 TRX——是为这次尝试付的钱,不是为结果付的钱。
在一批转账里,损失是悄悄叠加的:五百笔里有一笔收款方被冻结,肉眼看不出来,它自己就会失败——如果您的流程会对失败重试,它还会一直按全价失败下去。发送前筛查不是走个合规的样子;它每一次都更省钱。
怎样在花掉第一分 TRX 之前筛查
这项服务在正常流程里就会检查收款方,您也可以直接查询:
curl "https://api.nrg.market/v1/address-check?address=TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9" \
-H "Authorization: Bearer $KEY"
{"activated": true, "holds_usdt": true, "blacklisted": false, "is_contract": false}
blacklisted 就是这个冻结本身,直接从链上读出来。其余三个字段回答的是决定一笔转账要花多少钱的相邻问题:activated——这个地址是否已经在链上存在;holds_usdt——收款方是否已经有代币账户(如果没有,转账需要大约两倍的能量);is_contract——收款方是不是一个智能合约,它对能量的胃口是它自己的事。
一次成本估算(POST /v1/estimate,一次最多 500 个收款方)一次就标出每一个有问题的收款方——blacklisted、inactive_recipient、contract_recipient——不预留也不花掉任何东西。一个点名了被拉黑收款方的订单会被直接拒绝,报错 blacklisted_recipient,在任何钱动之前——一笔到不了账的转账不是一项值得卖的服务。
制裁名单是一件和代币黑名单分开、也更宽的事;这里怎么处理被禁止的目的地,写在可接受使用政策里。
花钱之前先筛查一批。GET /v1/address-check 回答单个地址,POST /v1/estimate 一次回答多达五百个,两者都不预留也不收费。GET /v1/address-check 在 API 参考文档里 →
我们真正会被问到的问题
一个被冻结的地址能解冻吗?
能——同一个开关两个方向都能用,Tether 也确实这样用过。这完全是发行方自己的决定,解冻是例外,不是能指望的常态。
黑名单会影响 TRX 或者其他代币吗?
不会。冻结存在于 USDT 合约内部,只涉及 USDT。这个地址照常能发送和接收 TRX 以及其他代币。
有没有一份官方名单可以下载?
状态存在链上,每一次冻结都是一笔公开交易。实际做法是在发送的那一刻按地址逐一查询——这正是 GET /v1/address-check 做的事——而不是下载一份从下载那一刻起就开始过时的快照。
我们给一个后来被冻结的地址发过款,这笔转账有风险吗?
已经完成的转账是历史,不会被撤销。冻结只是从那一刻起,不让这个地址再动用资金——这正是为什么收款方要在发送的那一刻筛查,而不是一年查一次。