Step-by-step
- Look at the first characters. 0x = EVM, T = TRON, bc1/ltc1 = Bitcoin/Litecoin SegWit, r = XRP, base58 32–44 chars often Solana. The Send network selector must match that family.
- Fix EVM checksums in the encoder. All-lowercase 40 hex is accepted. Mixed-case with a flipped letter is rejected on purpose — same tests as packages/core validate-address.
- Paste the corrected address only in Send. Unlock /app → Send → pick the asset on the correct network → recipient field. Confirm the preview address before you sign.
What each adapter actually accepts
Validation is local (EVM tests use a dead transport — no RPC). Mixed-case EVM must match keccak of the lowercase hex. Other ecosystems never accept 0x.
| Selected network | Rejected examples |
|---|---|
| Ethereum / Base / BNB… | bc1…, T…, r…, 0x + 39 chars, mixed-case bad checksum |
| Bitcoin | 0x…, T…, ltc1… |
| TRON | 0x USDT contract from Ethereum |
| XRP | Destination-tag-only invoices without a valid r-address |
A valid format is not a safe destination. Exchange deposit addresses still need the right network and, for XRP, a destination tag we cannot send yet.
Checksum vs wrong chain
If the 0x checksum is fine but the person meant TRON USDT, Send on Ethereum will happily look valid and you will still lose funds. Format checks cannot see intent. Use the EIP-55 encoder for checksums and the TRON USDT receive guide for T… invoices.
send.invalidAddress → adapter.validateAddress === false
send.addressNotChecked → adapter offline; format not verified yet
If you see “Address format cannot be verified yet (adapter offline)”, that is send.addressNotChecked — wait for the chain adapter, do not force-send.
FAQ
Why did MetaMask accept an address GaurdWallet rejects? Some wallets skip EIP-55 on mixed-case. We reject broken checksums so a single flipped letter cannot silently pay the wrong account.
Is a QR from Discord safe if it validates? Validation only checks shape. Confirm the address with the recipient on a second channel. Drainers use valid 0x strings.
Can I send EVM USDT to a T address if I select TRON? You would be sending TRC-20 (or failing). Ethereum USDT cannot teleport because you changed the dropdown. Different contracts.