A TRC20 address is an account, and the contract decides what's in it

You've received a transfer to a TRC20 address, or you're about to send one, and the balance there is labeled USDT. The label alone settles nothing. Every token on TRON is issued by a token contract, a program on the network that records who holds how much of that one token. TRON's TRC-20 standard, like Ethereum's ERC-20, gives every address one balance per token contract, and each received transfer is added to whatever that balance already held. Two tokens from two different contracts can both be named USDT, and your wallet will list them side by side. Scammers sometimes deploy a token that copies USDT's name and icon, betting that the victim will glance at a wallet screen and stop there.

Tether runs one contract per network. On TRON, it's TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. A token minted by a different contract can still display the name USDT and the usual icon in a wallet app or on a site, and none of that makes it Tether's token.

What Tronscan and Etherscan put in front of you

Search the address on Tronscan if you're dealing with the TRON version of USDT, or on Etherscan for the Ethereum version. Both list every transfer involving that address: sender, recipient, the contract that issued the token, amount and time. The record is public, so you can look up any address without a login or a paid tier.

Read the contract field first. It shows the address of the token contract, which is a different thing from the wallet address you searched. On Ethereum, Tether's official contract is 0xdAC17F958D2ee523a2206206994597C13D831ec7. If the contract address on a transfer is anything other than Tether's official one for that network, the explorer may still call the token USDT, and it still isn't Tether's asset.

A made-up example: one swapped character, a different contract

Made-up example: an explorer labels a transfer USDT, and the contract that issued it reads almost exactly like Tether's real one, with one character in the middle swapped. The transfer happened and the contract exists, so the explorer fills in the rest of the record as usual. Only the contract address tells you what the token is, and in this case it matches neither of Tether's two official contracts. Whatever the explorer's token name field says, this is a different token from Tether's USDT.

Four steps before you trust a TRC20 balance

A TRC20 balance passes or fails on four checks, worked through in order:

  1. Find the contract address behind the balance. The transfer record on Tronscan or Etherscan shows it next to the token's display name.
  2. Compare that contract, character by character, against TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t if you're checking a TRON transfer, or 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Ethereum.
  3. Read the rest of the transfer record on the same page: who sent it, who received it, how much moved and when.
  4. If the contract doesn't match, stop there. The balance isn't Tether's USDT, and nothing else in the record changes that.

What a matching contract settles, and what it leaves open

A contract that matches one of Tether's two official addresses means the balance is USDT. Who controls the address is a separate question, because a genuine USDT balance can sit in an address tied to a scheme as easily as in any other.

Before you send funds to a site that asks for them, run the site through TrustSniffer's website checker. For the wallet address itself, our wallet checker looks at that address's own transfer history rather than the balance it shows right now. Send only when the contract matches and neither check raises a concern. If a result is unclear, hold off until you can confirm who is on the other end. If you already sent real funds after receiving a token with a mismatched contract, look up your own outgoing transfer on Tronscan or Etherscan: the record shows exactly where the funds went next, and you should note that address before you report the loss.

Frequently asked questions

What is the official USDT TRC20 contract address?

Genuine USDT on TRON comes from one contract, TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. On Ethereum, Tether's official contract is 0xdAC17F958D2ee523a2206206994597C13D831ec7.

How do I check if USDT on a TRC20 address is real?

Search the address on Tronscan and open the transfer record. The contract field sits next to the token's display name. Compare it character by character with Tether's TRON contract. If the two differ, the token is something other than Tether's USDT, whatever label it carries.

Can a fake token show the name USDT in my wallet?

Yes. A token minted by a different contract can display the name USDT and the usual icon in a wallet app or on an explorer, and your wallet will list both side by side. Only the contract address tells you which token you hold.

Does a matching contract mean I can trust the address?

A matching contract means the balance is USDT. Who controls the address is a separate question, because a genuine balance can sit in an address tied to a scheme. Run the site through our website checker and the address through our wallet checker before you send.