Step-by-step
- Confirm the mint on a Solana explorer you typed. Solscan (or equivalent) → mint → program. Token-2022 vs Tokenkeg. Ignore ticker-only DMs.
- Receive on Solana in GaurdWallet. Share the Solana public key for native SOL. For tokens, the first receive/swap may create an ATA and spend extra SOL.
- Swap same-chain via Jupiter if you need another SPL. Exchange will not bridge to Ethereum. Keep SOL for fees and rent.
An ATA is not an ERC-20 balance row
On Ethereum the token lives at a contract and your 0x is the owner mapping. On Solana each token account is a separate address derived from owner + mint + program. Our tests require Token-2022 ATA derivation to use the Token-2022 program id — mixing programs is how deposits vanish from a UI.
| Asset | Where it sits |
|---|---|
| SOL | Wallet pubkey — no ATA |
| Classic SPL | ATA under Token program |
| Token-2022 | ATA under Token-2022 program |
Transfer-fee and confidential-transfer extensions can surprise you. If a mint withholds tokens, that is mint policy, not GaurdWallet taking a cut. We do not markup network fees.
Jupiter and product limits
Same-chain swaps via Jupiter, proxied. No Solana↔EVM. RPC is /api/rpc/solana. Path is Phantom-compatible SLIP-0010.
ATA(owner, mint, tokenProgram)
tokenProgram = Tokenkeg OR Token-2022 id
Exchange = Jupiter same-chain only
If a swap created the ATA, the extra SOL was rent, not a hidden GaurdWallet fee. Related: Jupiter Solana swaps.
FAQ
Can I add a Token-2022 mint by 0x address? No. Solana mints are base58. Fetch on Solana in Settings, not on Ethereum.
Why did Phantom show a token GaurdWallet did not? Unlisted mint — add it. Or Token-2022 UI lag. Compare the mint, not the emoji.
Does Token-2022 work with Exchange? If Jupiter routes it. A quote failure is Could not fetch a quote, not a seed problem.