the name means nothing, the contract is everything
on TRON, Solana, TON or any EVM chain, a token is a contract (or a mint, or a jetton master), and the name and symbol are just text that whoever deploys it types in. deploying a token named "Tether USD" with the symbol "USDT" is cheap and needs no permission from anyone.
so a wallet that shows "USDT 10,000" is telling you something only if it is reading Tether's contract. if it is reading any contract that happens to call itself USDT, that number can be invented.
the practical rule: the only thing that identifies USDT is the contract address. not the name, not the logo, not the "verified" tick of an app that lets anyone add tokens.
scam 1: lookalike tokens
the simplest version. someone deploys a token called USDT, mints millions of it to themselves and sends some to you. it lands at your address, and a wallet that lists every token it finds will show it as a balance.
it shows up most in over-the-counter and P2P trades: the buyer "pays", you see the USDT arrive, you release the real money or the goods. then you try to sell or send that USDT and nothing happens. there is no market for it, because it was never Tether's.
nobody can stop a token from being sent to your address. what you control is which contract you trust.
scam 2: "flash usdt"
"flash USDT" is advertised online as USDT that shows up in a wallet and then vanishes after a while. there is no such thing as temporary USDT. what exists is one of two tricks:
- a lookalike token, like scam 1, sent to your address so it shows up in your wallet.
- a transaction that never confirms, shown by some interfaces as pending or as balance for a while, and then gone. as Plasma puts it, flash USDT is "a deceptive entry in a wallet interface or an unconfirmed transaction that lacks any underlying value".
it is also sold cheap, which says everything. a threat intelligence report by ZeroFox found fake Tether offered on dark web forums in May 2024 at 0.5% to 2% of the value of real USDT, with the seller admitting it could not be exchanged for other cryptocurrency.
if someone offers to sell you flash USDT, the scam is on you: you pay real money for something that is not money. if someone "pays" you in it, you release real value for nothing. and if a site asks for an "activation fee" or your seed phrase to unlock received USDT, that is the scam too. real USDT never needs unlocking.
scam 3: address poisoning
this one does not fake the token. it fakes the address.
- the attacker watches who you send to.
- they generate an address whose first and last characters match that recipient's.
- they send you a transfer from it: often zero value, sometimes a tiny amount, sometimes a fake token. now it sits in your history, right next to the real one.
- next time you copy "the usual address" from your history, you copy theirs.
it is not rare. researchers at Carnegie Mellon measured it on Ethereum and BNB Smart Chain between July 2022 and June 2024 and found over 270 million attack attempts against more than 17 million victims. 6,633 of them worked, for at least US$ 83.8 million in losses. zero-value transfers are popular because they cost the attacker only the network fee.
it works because people check the first few and last few characters of an address and skip the middle. the attacker counts on exactly that.
the official contracts, by network
these are the contracts dolaramp reads, each one checked against the issuer's own list. the same list, with copy buttons and explorer links, is on contracts.
| network | token · issuer | contract |
|---|---|---|
| tron (TRC-20) | USDT · Tether | TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t |
| solana (SPL) | USDT · Tether | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB |
| solana (SPL) | USDC · Circle | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| solana (SPL) | PYUSD · Paxos | 2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo |
| gram (TON) | USDT · Tether | EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs |
| base | USDC · Circle | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| arbitrum one | USDC · Circle | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| arbitrum one | USDT0 · Tether | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 |
on Arbitrum, USDT lives as USD₮0, Tether's official omnichain deployment, which is why dolaramp labels it USDT0. on Ethereum, which dolaramp does not use, Tether lists USDT at 0xdac17f958d2ee523a2206206994597c13d831ec7. list checked on 26 sep 2026.
how to check any token yourself
- find the contract, not the name. in the transaction on the explorer (Tronscan, Solscan, Tonviewer, Basescan, Arbiscan), open the token and copy its contract address.
- compare all of it against the issuer's list: Tether's supported protocols page, Circle's USDC addresses, Paxos' PYUSD page. every character, not just the start and the end.
- if it doesn't match, it isn't USDT, whatever the name, the logo or the price your wallet shows next to it.
- never pay to "unlock" or "activate" received funds, and never type your seed phrase into a site that promises to.
how dolaramp handles it
dolaramp does not read "any token". it reads the 8 contracts above and nothing else, pinned in the code of the app, of the API and of the checker page. that has three consequences:
- a fake token never becomes a balance. it can sit at your address, nobody can prevent that, but the app does not read it, does not add it up and does not show it. if a buyer says they paid and your balance did not move, nothing real was sent.
- there is no "add token" button. there is nothing to add, so nobody can talk you into importing a fake contract.
- the app checks what it signs. before signing a gasless TRON send, the app refuses if the token in the permit is not Tether's contract, or if the recipient or the amount differ from what you typed.
what it does not do: it does not stop address poisoning on its own. if you paste the attacker's address, it is a valid address, and the app will send there. the checks below are still on you.
how to use the checker
dolaramp.com/verificar is free and needs no account.
- paste any address: tron, solana, gram (TON) or EVM (
0x…). - the page detects the network and reads the balance at each issuer contract pinned for it.
- every line shows the token, the amount and the contract it came from, marked verified contract.
how to read the result:
- a balance there is real: it is held at the issuer's own contract.
- zero is not proof of fraud: the address may simply be empty. but it is also exactly what an address full of lookalike USDT looks like, because the lookalike lives at another contract that we do not read. if someone showed you "USDT" at that address and the checker reads zero, it wasn't Tether's.
- "not read" means a contract could not be read at that moment. that is not a zero; try again.
limits, honestly:
- a
0xaddress is valid on every EVM chain; the checker reads it on Base only. it does not read Ethereum, BNB Smart Chain or Arbitrum balances for that address. - it can never tell you that you hold a fake. it cannot see the other token, only what is, or is not, at the real contracts.
- it is not a safety rating. a real contract does not make a counterparty honest.
- it allows up to 10 checks per minute from the same connection, and we do not store the addresses you check.
against address poisoning
- don't copy addresses from your transaction history. copy them from the source: the recipient's app, an invoice, a saved note.
- check the middle, not just the first and last characters.
- ignore transfers you didn't expect, especially zero-value ones or tokens you don't recognize.
- send a small test first when the amount is high, and confirm with the recipient that it arrived.
faq
How do I know if my USDT is real?
Check the token's contract address on the explorer and compare every character with the issuer's official list. On TRON, real USDT is TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Name and logo prove nothing.
Is flash USDT real?
No. It is either a lookalike token at another contract or a transaction that never confirms. It cannot be sold or swapped as USDT, and real USDT never needs to be unlocked or activated.
What is address poisoning?
An attacker sends you a zero-value or fake-token transfer from an address that starts and ends like one you use, hoping you copy it from your history. Always copy addresses from the source and check the middle.
Can a fake token show up in dolaramp?
Not as a balance. dolaramp only reads 8 issuer contracts on 5 networks, has no add-token button, and our free checker at dolaramp.com/verificar reads any address against the same list.