How to Identify the Correct Stablecoin Network and Contract
Why the Same Stablecoin Appears More Than Onceâ
Stablecoins such as USDT and USDC are issued on many blockchains. USDT on Ethereum, USDT on TRON, and USDT on BNB Chain are all worth about one dollar, but they're separate tokens on separate networks. Each one has its own contract address, the address of the token's program on that network.
That's why your wallet can show several USDT rows. Gem Wallet labels each row with its network, for example USDT with Ethereum or USDT with TRON underneath.
Two things matter when you send or receive a stablecoin:
- The network: the sender and receiver must use the same one. See What to Do After Sending Crypto on the Wrong Network.
- The contract: it must be the issuer's official token. Anyone can create a token called "USDT", including scammers.
How to Check a Stablecoin in Gem Walletâ
- Tap the stablecoin on your wallet screen.
- Check the network shown under its name.
- Look for its status. Tokens in Gem Wallet's list are checked against trusted third-party sources. A token can show as:
- Verified: matched to a known, trusted token.
- Unverified: not sufficiently verified. It may have arrived through an airdrop, a transfer, or a manual import.
- Suspicious: identified as a potential scam or spam token.
- Scroll to the token's details and check the Contract address. Compare it with the issuer's official list (below), or tap View on to open it in the network's explorer.
Never trust a token because of its name, symbol, logo, or balance. A fake "USDT" can show a large balance and a dollar price. Check the contract address and the network every time.
Where to Find the Official Contract Addressesâ
Check the issuer's own website, not a link from a message or a social media post:
- Tether (USDT): the "Supported Protocols" page on tether.to lists USDT's official contract on each network.
- Circle (USDC): the "USDC Contract Addresses" page in Circle's developer docs lists USDC's official contract on each network.
For example, the official USDT contract on Ethereum is 0xdAC17F958D2ee523a2206206994597C13D831ec7, and on TRON it's TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. A token with the same name at any other address on those networks isn't the real USDT.
Native and Bridged Stablecoinsâ
Some networks have more than one version of a stablecoin:
- Native: issued directly by Tether or Circle on that network, such as USDC on Base or Arbitrum.
- Bridged: a copy created when the stablecoin was moved from another network through a bridge, often with a different name, such as USDC.e.
Both can be real, but they're different tokens with different contracts. An exchange or app may accept only one of them. Before you send, check which version the recipient expects, and swap to the right one first if needed.
Before You Send or Receiveâ
- Receiving: on Receive, choose the network the sender will use, and give them the address for that network. See How to Select the Correct Network When Receiving Crypto.
- Sending to an exchange: use the exact network the exchange's deposit page shows, such as TRC-20 for USDT on TRON or ERC-20 for USDT on Ethereum.
- Adding a token by contract: if you add a custom token, Gem Wallet shows Know What You're Adding for an unverified token. Only continue if you got the contract address from the issuer. See How to Add a Token or Custom Token on Gem Wallet.
If You Received a Fake Stablecoinâ
Fake tokens are often sent to wallets unasked, to lure you to a scam website or into approving a malicious contract.
- Don't try to sell, swap, or send it, and don't visit links in its name.
- Hide it from your wallet screen.
- If you already approved something because of it, see What are Token Approvals? and revoke the approval.