Short answer: USDT is not supported in Xverse. Dollar balances in Cash are only these three: USDC on Starknet, USDB on Spark, and USDCx on Stacks. USDT and USDC are different issuers' tokens and are never interchangeable by ticker alone. Do not send USDT to any Cash or Receive address.
Supported vs not supported
| Status | Asset | Network |
|---|---|---|
| Supported (Cash) | USDC | Starknet |
| Supported (Cash) | USDB | Spark |
| Supported (Cash) | USDCx | Stacks |
| Not supported | USDT | Anywhere in Xverse (not Cash, not a supported Swap product, not Vesu) |
Always pick asset and network together in Receive / Cash. "USDC on Ethereum" is not the same as "USDC on Starknet."
USDT vs USDC (issuer level)
| USDC | USDT | |
|---|---|---|
| Common issuer | Circle | Tether |
| Peg intent | About 1 USD | About 1 USD |
| In Xverse | Supported in Cash on Starknet (alongside USDB and USDCx) | Not supported |
Xverse does not custody issuer reserves. Peg and redemption risk sit with the issuer and the chain you hold on.
Practical guidance
| Task | What to do |
|---|---|
| Hold spendable dollars next to BTC | Use Cash: USDC (Starknet), USDB (Spark), or USDCx (Stacks) |
| Get paid in stables | Share the exact receive asset and network (Can I get paid…). Ask for USDC, USDB, or USDCx — not USDT |
| Someone wants to send USDT | Decline or redirect. Ask them to send a supported Cash dollar asset instead. There is no USDT deposit path |
| Bank to dollars in Xverse | Due bank to USDC is live where enabled |
| Dollars to bank | USDC to bank may be flag-gated. Check in-app (Can I move money between Xverse and my bank?) |
Common mistakes
- Assuming USDT and USDC are the same token.
- Claiming USDT is available in Cash, Swap, or Vesu.
- Sending USDT-TRC20 / USDT-ERC20 (or any USDT) to a Starknet USDC, Spark USDB, or Stacks USDCx address.
- Confusing USDB (Spark) or USDCx (Stacks) with USDT.
Wrong-network or wrong-asset deposits are often unrecoverable. Send a tiny test first when trying a new path.