SOL Transfer Guide: Exchange to Wallet, Wallet to Wallet
How to withdraw SOL from a centralized exchange to Phantom, send SOL and SPL tokens wallet-to-wallet, and use J Tools for bulk transfers.

Transferring SOL is the most common operation on Solana, and the one newcomers most often get wrong on day one. People withdraw from an exchange and pick the wrong network, losing the funds. Or they assume sending SPL tokens works exactly like sending SOL, only to hit an ATA rent surprise. This guide covers both flows step by step: how to withdraw SOL from an exchange to your wallet, and how to send SOL or SPL tokens between wallets. For bulk transfers, we point straight at the J Tools tool that handles it.
TL;DR
- Exchange → Phantom withdrawal: Buy SOL on Binance / MEXC, Withdraw → Solana network → paste Phantom address → confirm. Typical settlement 1-3 minutes, fee around 0.005 SOL.
- Wallet-to-wallet SOL transfer: Phantom Send → address + amount → confirm. Fee 0.000005 SOL (~$0.001). Confirms in 1-2 seconds.
- SPL token transfer: Same flow, but if the recipient has no ATA, one is created (~0.002 SOL extra rent). The first transfer to a fresh address shows that cost.
- Bulk transfer: For 10+ recipients, use the Solana multi-sender tool. CSV upload, hundreds of recipients in a single bundle.
Withdrawing SOL from an exchange to Phantom — step by step (Binance example)
The most common path: you bought SOL on Binance with USDT or fiat, now you want it in your Phantom wallet.
1. Copy the Phantom address
Open Phantom, click the address or QR icon at the top. Use "Copy" to get the address into your clipboard. Solana addresses are 32-44 characters, base58 encoded.
2. Open Withdraw on Binance
Binance Spot Wallet → Withdraw → select SOL. Paste the Phantom address into the address field.
3. Network selection — critical
The network must be set to "Solana (SOL)". If you pick BSC, Ethereum (ERC-20), or Tron, the funds are gone and you can't recover them. The SOL token is native on Solana; "wrapped SOL" on BSC is a different asset. The network field usually auto-fills, but verify it.
4. Enter amount, submit
Type the withdraw amount. Minimum is around 0.01 SOL; fee is around 0.005 SOL. Submit, then complete email + 2FA + anti-phishing code verification.
5. Settlement time
Solana itself confirms in 1-2 seconds, but Binance has its own internal queue, so 1-3 minutes is typical. When the balance updates in Phantom, you're done. The tx hash can be tracked on Solscan.
Which exchanges support the Solana network
Binance, MEXC, Coinbase, OKX, Kraken, Gate.io, Bybit, BitMart all support native Solana withdrawals. KuCoin supports it too but occasionally pauses withdrawals during incidents.
Wallet-to-wallet SOL transfer
Phantom-to-Phantom transfer is faster and cheaper, just an on-chain Solana transaction.
Steps
- Phantom Send: tap Send on the home screen.
- Address: paste the recipient's Solana address. Phantom verifies the address; an invalid checksum is rejected.
- Token: select SOL (default).
- Amount: enter the amount. The "Max" button calculates the post-fee maximum.
- Confirm: "Next" → review → "Send" → approve in the Phantom signature popup.
On-chain in 1-2 seconds. The tx hash shows up in Phantom's history and on Solscan. Typical fee 0.000005 SOL.
Sending SPL tokens — what differs from SOL
Sending an SPL token (USDC, BONK, JUP, etc.) has two extra wrinkles:
1. The recipient already has the ATA: if they've ever held this token before, the Associated Token Account exists, and the transfer costs the same 0.000005 SOL.
2. The recipient doesn't have the ATA: the ATA gets created automatically, costing roughly 0.002 SOL in rent that comes out of the sender's wallet. Phantom shows this in the pre-confirmation step.
Practical implication: when sending SPL to a fresh address, part of your balance pays for the ATA. For bulk airdrops these costs add up quickly.
Bulk transfers to 10+ addresses — the multi-sender
Sending to 100 addresses by hand means 100 transactions, 100 signatures, and a separate network fee for each. The Solana multi-sender tool takes a CSV and bulk-distributes SOL or any SPL across the list in a single bundle.
Common use cases: post-launch holder rewards, NFT-mint utility airdrops, community campaign payouts, payroll. CSV format: address,amount per row.
Sweeping SOL from many wallets — the batch collector
The reverse case: you have SOL spread across 10 wallets and want it consolidated. Maybe you ran a bot setup, generated a vanity wallet set, or accidentally created multiple wallets. Manual collection is per-wallet login + transfer + dust check.
The Solana batch collector tool sweeps balances from many source wallets into a single destination. Upload a wallet list, scan balances, approve the consolidated transfer.
Setting up a vanity-prefix wallet
If you want an address that starts with specific characters (e.g., JTOOLS...), the Solana vanity wallet generator tool brute-forces the prefix on a GPU. Four-to-five-character prefixes take minutes; seven-plus-character prefixes can take hours.
Common mistakes
Wrong network selected: withdrawing SOL on BSC, ERC-20, or Tron means the funds are gone. Always confirm the "Solana" network is selected.
Address paste corruption: most Solana addresses are case-sensitive. Phantom rejects bad checksums, but not every UI does. For first-time transfers, send a small test amount.
Insufficient fee balance: when sending SPL, the wallet needs roughly 0.005 SOL reserved for fees. If the ATA needs creating, add 0.002 SOL more for rent. A wallet at 0 SOL can't send SPL.
Treating "memo" as required: some exchanges require a memo for XLM-style coins; Solana memos are optional. Leave the memo field empty for most transfers.
What's next
Once SOL transfer is solid: create your own token with the Solana token creator tool, open a liquidity pool with the Solana liquidity create + buy tool, scan holder distribution with the Solana token snapshot tool. More guides at the Solana tutorials category and Solana tag page. Full Solana tool catalogue at J Tools all tools.
How to send SOL from Phantom back to Binance (the reverse direction)
Going the other way (Phantom to an exchange) works almost like a normal wallet-to-wallet send, with one twist that trips people up. The destination is the exchange's deposit address, not your own, and it changes per asset.
- Get the deposit address. On Binance, go to Wallet, Deposit, choose SOL, and pick the Solana (SOL) network. Copy the address it shows.
- Match the network on both sides. That address only accepts native Solana deposits. Send through any other chain and the exchange will not credit it.
- Send from Phantom. Open Send, paste the deposit address, pick SOL, enter the amount, approve. It confirms on-chain in a second or two.
- Wait for credit. The exchange waits for a set number of confirmations before crediting, so a deposit can read as pending for a few minutes after Solana already finalized it.
Solana deposits do not use a memo or tag. If the exchange shows an optional memo field for SOL, leave it empty. Memos and destination tags belong to chains like XLM and XRP, not Solana.
Send SOL to a SOL deposit address and USDC to a USDC deposit address. Each asset has its own deposit address even though they all live on Solana, and mixing them up is a frequent recovery ticket.
How long does a Solana withdrawal take, and why is it pending?
Solana itself is fast. A transfer reaches the chain in roughly one to two seconds and finalizes shortly after. The delay you feel almost never comes from the network. It comes from the exchange's internal queue.
When a withdrawal or deposit sits as pending, the cause is usually one of these:
- Confirmation threshold. Exchanges wait for a fixed number of confirmations before releasing or crediting funds. That is policy, not a network fault.
- Risk review. A large amount, a brand-new withdrawal address, or a recent security change can route the transaction through extra checks.
- Withdrawal lock window. After a password reset or a fresh login from a new device, many exchanges hold withdrawals for a set period.
To check the real status, find the transaction signature in your wallet history or the exchange's withdrawal record and look it up on Solscan. If Solscan shows it finalized, the funds already moved on-chain and the rest is just the receiving exchange crediting your balance. If there is no signature yet, the transaction never left the exchange, so only the exchange can release it.
Wrong network and wrong address type: what is actually recoverable
The costliest mistakes happen at the network and address-type step, so it helps to know which ones are fixable.
Wrong chain (unrecoverable in practice). Withdraw SOL on BSC, Ethereum, or Tron instead of Solana and the asset lands on a different chain as a wrapped representation your Phantom wallet cannot see. Native SOL and the "wrapped SOL" on another chain are separate assets. On Solana the only legitimate wrapped form is wrapped SOL (wSOL), which you wrap and unwrap yourself one-to-one, unrelated to any cross-chain bridge an exchange offers.
Sending to a token account instead of a wallet. Every SPL token you hold sits in an Associated Token Account derived from your main wallet. If you copy an ATA address off a block explorer and send to it, the funds may land somewhere your wallet UI does not surface cleanly. Always send to your main wallet address, the one Phantom shows under Receive.
Tiny test first. For any first transfer to a new address or exchange, send a small amount, confirm it arrives, then send the rest. A fraction of a cent in fees beats a wrong-network loss.


