There is no universal “USDT address” or “USDC address.” A receiving address is valid only together with an exact blockchain and token route. Before publishing an invoice, identify the network, copy a public address you control and confirm that the wallet can receive that token representation.
Never share a seed phrase or private key. Never paste a token contract or mint into GramPayBot’s receiving-wallet field.
Quick decision table
| Route family | What the receiving address looks like | Important check |
|---|---|---|
| Ethereum, Optimism, BNB Chain, Base, Polygon, Arbitrum | 0x plus 40 hexadecimal characters | The same-looking address does not make EVM networks interchangeable |
| TRON | Usually a Base58Check address beginning with T | Select TRON/TRC20, not an EVM network |
| Solana | A base58 public key | Distinguish the wallet owner from a token account and the USDT/USDC mint |
Use the detailed EVM address guide, TRON address guide or Solana address guide for the route you intend to enable.
Receiving address versus contract or mint
The receiving address identifies the merchant. The contract or mint identifies the asset. Both can look like ordinary blockchain addresses, but they are not interchangeable.
For example, the Solana USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v identifies USDC; it is not your wallet. A fake token may copy the name, ticker and logo, so compare the full identifier using the token verification checklist.
Self-custody wallet or exchange deposit
A self-custody wallet gives you direct control, but you are responsible for keys, backups and the native fee asset. An exchange deposit address is controlled by the exchange and may have minimum deposits, unsupported representations, memo requirements or temporary suspensions.
Open the asset’s Deposit or Receive screen and select the exact network. Do not reuse an address from transaction history. If an exchange does not explicitly list the route, do not assume that a familiar-looking address is supported.
Safe setup checklist
- Choose
token + networkin the supported-routes matrix. - Copy your public receiving address from that network’s Receive screen.
- Check the full address, including several characters in the middle.
- Verify the official token contract or mint separately.
- Read exchange minimums and deposit restrictions, if applicable.
- Create a low-value invoice and send an amount above any provider minimum.
- Confirm the successful transfer, exact token identifier, recipient and amount in the correct explorer.
- Confirm that you can actually use or withdraw the received balance.
The product guide Wallets and networks explains where this setting appears in GramPayBot. The comparison payment link versus wallet address explains why an invoice adds route, amount and payment-status context around the address.
Stop before accepting payments if
- the sender and recipient selected different networks;
- the value copied into GramPayBot is a contract or mint;
- the exchange does not list the selected token/network pair;
- a low-value test is missing or cannot be moved afterward;
- only the first and last characters were compared;
- someone asks for a seed phrase to “verify” the wallet.
An address that passes a syntax check can still be the wrong destination. Treat network, token identifier, receiving address and test result as one setup record.
Next step
Create a tracked crypto payment link
Issue a USDT or USDC invoice manually, send one hosted checkout and follow its payment status without an API.
Explore payment links →