How to Receive and Transfer USDT in MetaMask?

MetaMask grew up over the last couple of years: one account now covers every EVM network with a single 0x address, plus Bitcoin, Solana and Tron with their own separate addresses. The app got faster, and popular tokens like USDT usually appear in the balance on their own after a transfer, with manual adding as the fallback. One thing did not change: the network must match on both sides of every transfer, or the coins are usually gone for good.

Updated Sep 03, 2026 4 min read Checked regularly
Add and transfer USDT to MetaMask

Which Networks Work for USDT in MetaMask

USDT works on Ethereum, BNB Chain, Polygon, Arbitrum, OP, Base, Solana and, since the multichain update, Tron. Older guides still call MetaMask an Ethereum-only wallet; the app moved on, the guides did not. Two details worth knowing. Each non-EVM network has its own address format: EVM networks share your 0x address, while Bitcoin, Solana and Tron show separate addresses in the same wallet. And on some L2s the token is labeled USDT0: that is Tether's omnichain version of the same coin, same dollar, same issuer. Check the contract if in doubt, but the zero in the name is not a red flag.

How to Find a USDT Address in MetaMask

We use Ethereum (ERC-20) in this example; any supported network works the same way.

  1. Open MetaMask and tap "Receive".
  2. Pick the network and copy the address for it. For Ethereum that is your 0x address; for Tron the app shows a separate address starting with T.

How to Find a USDT Address in MetaMask

How to Transfer USDT From an Exchange

We ran a real withdrawal from BingX. The flow is similar on other major exchanges, only the menu names differ.

  1. In MetaMask, copy your Ethereum address as shown above.
  2. In the BingX app, open "Assets" and tap "Withdraw", pick USDT.
  3. Choose "On-chain", paste the address, set the network to Ethereum (ERC20), enter the amount and tap "Withdraw".
  4. Confirm with your usual security check: email code, 2FA or both, depending on your settings.

How to Transfer USDT From an Exchange

In our test the coins landed in about two minutes; BingX charged 1 USDT for the ERC-20 withdrawal. Withdrawal fees are dynamic and differ by network: check the "Fee" line in the withdrawal form before confirming. And the two habits from every guide we write: verify at least the first and last characters of the pasted address, and send a small test amount first when the sum is serious.

USDT credited in MetaMask

Do You Need ETH to Send USDT From MetaMask?

Usually yes: fees are paid in the network's native coin. For our Ethereum example that means a few dollars' worth of ETH on the same address; on BNB Chain it is BNB, on Polygon it is POL (not MATIC, old guides still get this wrong), on Solana it is SOL, on Tron it is TRX. The exception: on several networks, including Ethereum, BNB Chain, Polygon, Arbitrum and Base, MetaMask can now take the fee from another token and convert it automatically, so a zero gas balance is no longer a dead end there. Receiving needs nothing either way.

FAQ
Yes, current versions do: Tron sits in the network list with its own address starting with T. Just never mix the formats: TRC-20 goes to the T-address, ERC-20 to the 0x one, and the sending platform will reject a mismatch.
Yes. USDT0 is Tether's omnichain version used on Arbitrum, Polygon and several newer networks. Same peg, same issuer. Check the contract address against the official listing and ignore the zero.
Nine cases out of ten: the wallet is set to a different network than the one the coins arrived on. Switch the network selector. If that fails, add the token by hand: "Import tokens" at the bottom of the asset list → "Custom token" → paste the contract address from tether.to or the network's block explorer, never from a random site. And check the transaction on the explorer to confirm it actually completed.