When your crypto sits on an exchange, the exchange holds the private keys and you hold a promise. That promise is only as good as the company behind it. Self-custody flips it: you hold the keys, the funds move when you decide, and no third party can freeze, lend out, or lose them on your behalf. This guide walks the move in the order you will actually meet each step, from picking a wallet to the small test send that keeps a typo from costing you everything.
One rule sits above the rest, so read it before you touch anything. Always send a small test amount first, then the rest. Crypto transfers are final. A single wrong character in the address, or the wrong network picked from a dropdown, sends your funds somewhere no one can pull them back from. A test send of a few dollars proves the whole path works before you trust it with real money. Everything below is built around that one habit.
- On an exchange you own an IOU, not the coins; self-custody puts the keys on your own device so no outage, freeze, hack, or insolvency reaches your funds.
- Match the withdrawal network on the exchange to the network your wallet is set to receive on. Wrong network is the most expensive mistake in crypto.
- Copy the receive address from the wallet's Receive screen and paste it. Never type an address by hand, and never reuse one from your transaction history.
- Send a small test amount first, confirm it arrives in your wallet, then send the rest. It is the cheapest insurance in crypto.
- Verify the balance on a block explorer, then store your seed phrase offline on paper, separate from the device. Anyone who reads those words owns your funds.
Why move crypto off an exchange at all?
The short answer: on an exchange you own an IOU, not the coins. The exchange controls the keys, and your balance is a line in its database it has promised to honor. Most days that promise holds. The days it does not are the ones that matter. Exchanges have frozen withdrawals during stress, been hacked, and in the case of FTX in 2022, gone bankrupt with customer funds missing. "Not your keys, not your coins" is the plain version of the lesson.
Self-custody removes the company from between you and your money. With the keys on your own device, no platform outage, account freeze, hack, or insolvency reaches your funds, and you can send any time without waiting on a withdrawal review. For long-term holdings, that independence is the whole case.
It is not free of cost, and a guide that pretends otherwise is selling you something. The tradeoff is that you become your own bank, and a bank's responsibilities come with it: no password reset, no support line that can reverse a bad send, no one to recover your funds if you lose your backup. The exchange's risk becomes your diligence. Many people split the difference, keeping a small working balance on an exchange for trading and moving the savings they would hate to lose into self-custody. You do not have to move everything to start.
Step 1: Set up a wallet you control
A self-custody wallet is software or hardware that creates and holds your private keys on your own device. No company keeps a copy. The choice that matters most is hot versus hardware, and it comes down to how much you are moving and what you will do with it.
A software (hot) wallet runs on your phone or laptop and stays connected to the internet. It is free, takes a few minutes to set up, and is fine for the amount you would carry in a pocket. MetaMask is the most common one for Ethereum and the networks built on it. Because a hot wallet lives on an internet-connected device, malware or a malicious site that reaches that device can reach the keys, so it suits smaller, active balances rather than long-term savings.
A hardware (cold) wallet is a physical device, about the size of a USB stick, that keeps your keys offline where malware cannot touch them. To send, you confirm the transaction on the device itself, so even a compromised computer cannot move your funds without the button press in your hand. For an amount you would treat like savings, that extra step is worth it; the Ledger Nano X is one established option. The tradeoff is a small upfront cost and a little more friction on every send.
- Hot wallet: free, sets up in a few minutes, fine for the amount you would carry in a pocket.
- Hardware wallet: keys stay offline where malware cannot touch them; every send needs the button press in your hand.
- Hot wallet: lives on an internet-connected device, so malware or a malicious site that reaches it can reach the keys.
- Hardware wallet: a small upfront cost and a little more friction on every send.
Either way, download or buy from the official source only, never from an app-store clone or a sponsored search ad, and buy hardware direct from the maker or an authorized seller, never used or from a marketplace listing. Fake wallets and tampered devices exist to capture your keys the moment you set them up.
When you create the wallet, it shows you a seed phrase (also called a recovery phrase), a list of 12 or 24 words in a fixed order. This is the master key to everything in the wallet, and this is the irreversible part. Write it on paper by hand, in order, and check each word against the screen. Do not photograph it, type it into any app, or paste it into a notes file or password manager. Anyone who reads those words owns your funds, full stop. Store the paper somewhere physically safe, separate from the device. Most wallets then ask you to re-enter the words to confirm you copied them correctly; do it slowly, because this is your one chance to catch a mistake.
You will not need the seed phrase for day-to-day sends, only to restore the wallet if the device is lost, stolen, or breaks. That is why it has to survive independently of the device.
Step 2: Run the pre-transfer checks
Before you move a cent, confirm three things. Skipping these is how the expensive mistakes start. The asset matches: the coin you withdraw on the exchange has to be the coin your wallet is set to receive, because sending Bitcoin to an Ethereum address strands the funds. The network matches, which is the one people get wrong most, since many tokens live on more than one blockchain and each is a separate network with its own addresses (more on this in Step 4). And your wallet supports the asset: a Bitcoin-only wallet cannot hold Ethereum tokens, and a wallet built for Ethereum networks will not receive native Bitcoin. Confirm your wallet handles the coin and the network before you generate an address for it.
Step 3: Get your receive address
Open the wallet and find the "Receive" button. Pick the specific asset you are moving, Bitcoin, Ethereum, USDC, or whatever it is. The wallet generates a different address for each asset and network.
The address is a long string of letters and numbers. A Bitcoin address might look like bc1q... and an Ethereum address like 0x71C7..., with a QR code usually shown alongside.
Use the wallet's copy button. Do not type the address by hand or read it off the screen character by character. One wrong character points the funds at an address nobody holds, with no way back.
Moving between two devices in the same room, the QR code is the cleanest path, because there is nothing to mistype.
Step 4: Match the network exactly
This is the step that prevents the most expensive mistake in crypto, so slow down even if the transfer feels routine.
USDC, for example, runs on Ethereum, Solana, Polygon, Arbitrum, Base, and others. Each is a separate network with its own addresses. Send USDC across the Ethereum network to an address that only exists on Solana and it is not a transfer you can reverse; the funds land where your wallet may not even be able to show you.
Before you type anything into the exchange's withdrawal screen, confirm two things match. First, the network your wallet is set to receive on. If your wallet expects USDC on Ethereum, the withdrawal has to go out on Ethereum too. Second, the address format fits the asset. Bitcoin mainnet addresses start with 1, 3, or bc1; Ethereum and the networks like it start with 0x. If the format is not what you expect, stop and work out why first.
On the exchange, the withdrawal page has a network selector, and the labels are easy to skim past. They are different networks, not interchangeable even when you are moving the same token:
| Exchange label | Network it means |
|---|---|
| ERC-20 | Ethereum |
| TRC-20 | Tron |
| BEP-20 | BNB Smart Chain |
The one you pick has to be the network your wallet address belongs to. When the exchange offers more than one cheap option for a token, pick the network your wallet actually supports, not just the one with the lowest fee.
Step 5: Send a small test transaction
Now the irreversible part begins, which is exactly why it starts small. On the exchange, go to Withdraw or Send and choose the asset.
Paste your wallet's receive address. Select the matching network from Step 4. Enter a small amount, the exchange's minimum or close to it, a few dollars' worth at most. This is the cheapest insurance in crypto, and skipping it to save the fee is how people lose the whole transfer instead of a few cents of network cost.
Crypto transfers are final. Before you submit, check the address and network on the confirmation screen are the ones you intended, and send a small test amount first. A wrong network or a single wrong character in the address sends your funds somewhere no one can pull them back from.
Review the confirmation screen before you submit. The exchange shows the amount, the network fee, and the total leaving your balance. Check the address and network on that screen are the ones you intended. Most exchanges then ask for two-factor authentication or an email confirmation; that prompt is your last clean moment to cancel if something looks off. When it is right, submit and wait.
Confirmation is not instant, and how long it takes varies with how busy the network is. Open your wallet and watch for the test amount to arrive under the correct asset and network. If it lands, the path works and you are clear to send the rest.
If it has not shown up after a reasonable wait, do not panic and do not resend. Find the transaction ID, sometimes called a TXID or transaction hash, in the exchange's withdrawal history and paste it into a block explorer for that network. The explorer shows whether the transaction is pending or confirmed, so you know whether to wait or look for a problem.
Step 6: Send the rest
With the test confirmed in your wallet, go back to the exchange and withdraw the balance you want to move.
Use the same address and the same network as the test. Paste the address fresh from the wallet's receive screen rather than retyping it, and check it against what you used a moment ago, at least the first and last several characters. Submit, clear the two-factor prompt, wait for confirmation the same way, and watch the wallet balance update.
You do not have to move everything at once. If the amount is large, sending in two or three batches is a reasonable way to limit what is exposed to any single mistake.
Step 7: Confirm on a block explorer and secure the wallet
Once the full amount has arrived, two things are worth doing right away.
Verify the balance independently. A block explorer is a free public website that lets anyone look up any transaction or address on a given network: Etherscan for Ethereum, mempool.space or a similar tool for Bitcoin. Paste your wallet address into the explorer for that network and check the on-chain balance matches what your wallet app shows. If they agree, the funds are genuinely settled on-chain, not just displayed by the app. The explorer also shows how many confirmations a transaction has; more confirmations mean the transfer is more firmly settled.
Then settle your seed phrase for the long term. The written copy should live somewhere that survives fire and theft, a safe rather than a desk drawer, and a second copy at a separate location guards against losing the only one. Keep it off every screen: no photos, no cloud, no password manager. From here, your crypto answers to your wallet and nothing else. No exchange outage, freeze, or failure touches it.
What it costs to move
Two fees apply, and they are separate.
| Fee | Who it goes to | What sets it |
|---|---|---|
| Exchange withdrawal fee | The exchange | A flat amount per withdrawal on some platforms, nothing on others; check the current fee schedule before you start |
| Network fee (gas / miner fee) | The network that processes the transaction | Rises and falls with how busy that network is; shown as an estimate before you confirm |
The first is the exchange withdrawal fee. Some platforms charge a flat amount per withdrawal in the asset you are moving, and some charge nothing. It is set by the exchange, so check its current fee schedule before you start; what Coinbase charges for a given coin can differ from what Kraken or the next platform charges.
The second is the network fee, sometimes shown as a "miner" or "gas" fee. This goes to the network that processes the transaction, not the exchange, and it rises and falls with how busy that network is when you send. Busy periods cost more, quieter ones less. The exchange shows an estimate before you confirm, and that estimate is the best figure you will get, because no one can name the exact amount in advance.
The fee also depends heavily on which network you use. Moving USDC over Ethereum mainnet can cost far more than moving the same USDC over a cheaper network like Polygon or Base, because the underlying block space is priced differently. When the exchange offers a choice of networks for the same token and your wallet supports more than one, the cheaper network can save real money on a small transfer, as long as both ends agree on it. Neither fee is avoidable, so factor both in, especially on smaller transfers where fees eat a larger share of the total.
Per-asset notes: Bitcoin, Ethereum, and stablecoins
The steps are the same for every coin, but a few asset-specific details trip people up.
Bitcoin. There is one Bitcoin network, which removes the cross-network confusion that bites stablecoin transfers. The wrinkle is address formats. Older addresses start with 1 or 3; newer "native SegWit" addresses start with bc1 and usually cost less to send to. Any modern wallet and exchange handles all of these, so use whatever address your wallet hands you. Do not paste a "Lightning" invoice into a normal on-chain withdrawal, or the reverse; they are different rails.
Ethereum. Ether itself moves on Ethereum and its layer-2 networks (Arbitrum, Base, Optimism, and others). The catch is that ETH on Arbitrum is not the same as ETH on Ethereum mainnet for the purpose of a transfer; the network you withdraw on has to match the network your wallet is receiving on. Every send on an Ethereum-style network costs a gas fee paid in ETH, so keep a little ETH in the wallet to cover future sends.
Stablecoins (USDC, USDT). These are the highest-risk transfers precisely because the same token exists on many networks. USDC on Solana and USDC on Ethereum share a name and a value but are different assets on different rails. The address you receive at and the network you withdraw on must point at the same blockchain. This is the single most common wrong-network loss, so the test send matters most here.
Common mistakes that lose funds
These are the ones that actually take people's money, in the order I see them most.
Wrong network. Sending a token on one network to an address that only exists on another is the classic loss. You can sometimes recover it if you control the destination wallet and can add the right network there, but that is not guaranteed and it is fiddly. If the funds went to an exchange deposit address on the wrong network, contact that exchange's support with the transaction hash right away. Matching the network in Step 4 is how you never have this conversation.
Typo'd address. There is no postal service for crypto, no one to forward a misdelivered transfer. Send to an address no one holds and the funds are stranded forever; send to one someone else holds and they are simply gone. Copy and paste, then verify. Never type an address by hand.
Address poisoning. This one preys on the copy-and-paste habit. An attacker sends a tiny, often worthless transaction to your wallet from an address engineered to share the same first and last few characters as one you have used before. Later, when you copy an address from your transaction history to reuse it, you grab theirs by mistake, and your next send goes to the attacker. Defend against it by copying the address from the wallet's own Receive screen, never from your history, and by checking the full middle of the address, not just the ends.
Skipping the test send. The usual excuse is that the fee feels wasteful on a small move. It is the opposite. The test send is the only thing standing between a few cents of fee and the entire transfer, and it is the one step that catches a wrong network or a bad address before it matters. Run it every time.
Losing the seed phrase. A broken, lost, or stolen device is a non-event if your seed phrase is safe; you restore the wallet and carry on. A lost or destroyed seed phrase is the disaster with no recovery, because no support line can reissue it. Back it up properly before any real funds go in, not after.
Frequently asked questions
How long does it take to move crypto off an exchange? From minutes to an hour, depending on the network and how busy it is. The exchange may also hold a withdrawal for a short security review, especially on a new account or after a password change. The on-chain part varies with network load, which is why the guide frames times qualitatively rather than promising a number.
Can I reverse a crypto transfer if I make a mistake? No. A confirmed transaction is final; there is no chargeback and no central authority to undo it. The only routes back are if you control the receiving wallet, or if the funds landed at an exchange that can help, and neither is guaranteed. This is the whole reason for the test send.
Is it safe to leave some crypto on an exchange? A small working balance for trading is a normal tradeoff many people accept. The risk is that you do not control the keys, so an outage, freeze, or failure can cut off access. Keep on an exchange only what you would be comfortable losing access to, and self-custody the rest.
Do I need a hardware wallet, or is a phone wallet enough? A software wallet is fine for smaller, active amounts. For savings you would hate to lose, a hardware wallet keeps the keys offline and is worth the small cost. Plenty of people use both: a hot wallet for day-to-day, a hardware wallet for the long-term stack.
What is a block explorer and why would I use one? It is a free public website that shows every transaction and address on a network. Paste your transaction hash to see whether a transfer is pending or confirmed, or paste your address to confirm the balance settled on-chain. It is the independent check that the move actually worked.
Self-custody trades the exchange's risk for your own diligence, and the steps above are that diligence. If you are still weighing how much to move off an exchange in the first place, or how you got the coins there to begin with, our crypto safety hub and our buying crypto guide cover where those lines sensibly sit.