A token contract is not an exchange deposit address
USDT and USDC each have a contract address on every network they exist on. That address is the program that mints and moves the token. It is not your Coinbase deposit, not your Binance deposit, and not a place Tether or Circle will refund.
People paste it because Google shows it, because an explorer highlights it, or because a withdrawal screen asked for a contract to add a custom token and the next screen asked for a destination. Those are different fields.
How to tell them apart on an EVM chain
Length does not save you: contract and deposit address look identical. The difference is provenance. A deposit address is copied from a logged-in deposit screen after you chose the asset and network. A contract address is copied from a token page, a CoinGecko profile, or Tether's contract list.
| String | Typical length | What it is for |
|---|---|---|
| Token contract | 42 characters, 0x… | Identifies USDT, USDC or another token on that chain |
| Exchange deposit address | Also 42 characters, 0x… | Identifies the account the exchange will credit |
| Transaction hash | 66 characters, 0x… | Identifies one transfer |
- Tether: USDT authorised contracts — Primary issuer list of USDT contracts by network. These are not deposit addresses.
- Circle: USDC on multiple chains — Primary issuer documentation for USDC deployments. A Circle contract is not an exchange account.
What happens if you already sent to the contract
On Ethereum, sending the native token to a contract that has no withdraw function typically locks it. Sending USDT to the USDT contract is a token transfer the contract did not expect as a 'deposit'. Tether and Circle do not operate a lost-and-found for those mistakes.
An exchange recovery form also will not help: the destination is not an exchange address. Anyone offering to reverse it in exchange for a seed phrase is running the recovery-scam playbook.
The safer habit
- Add a custom token using the contract. Send using a destination copied from the exchange deposit screen in the same session.
- Check that the sending network matches the deposit screen's network, not the network implied by whichever contract you Googled.
- For USDT, remember that the TRON contract and the Ethereum contract are unrelated strings. Copying either into the other network's destination field fails.
What you get, and what it costs
Free, always
The transaction check: network, asset, amount, both addresses, timestamp, on-chain status, confirmation count, and a copyable evidence message for support. No diagnosis.
£9.99, one-off
The diagnosis: the likely cause, recovery outlook, step-by-step instructions, the official support route, wording written for that case, and 72-hour monitoring. No subscription.
Questions
The explorer shows the USDT contract in my transaction. Did I send to it?
Not necessarily. A normal USDT transfer mentions the contract because that is the token that moved, and it also mentions the recipient address. The recipient field is the one that must match the exchange deposit address.
Can TXLens recover funds sent to a token contract?
No. TXLens can read the hash and tell you the recipient was a contract rather than a documented exchange deposit address. It cannot move tokens out of a contract, and neither can a Telegram recovery agent.
Related
Platform requirements on this page were last reviewed 2026-08. They change without notice, which is why every diagnosis is phrased as a likely cause rather than a certainty.
TXLens is read-only. We only use your transaction ID and public blockchain data. We never ask for your private keys, seed phrase or exchange login.