In crypto, leaving funds on an exchange is similar to leaving your money in someone else’s account. This method is fine if you’re a regular trader, but keep in mind that you do not have full control over your assets. Your private keys.
A self-custodial wallet is different. These wallet types have you holding your seed phrase, or recovery phrase. If you lose said phrase, you can lose access to your wallet. If someone steals them, they can take control of your funds.
That said, self-custodial wallets mean you’re in full control of your wallet’s safety. No central intermediary can mess up and leak your funds. In many ways, they’re the most secure way to store your crypto, assuming you follow best practices, including:
- Keeping your recovery phrase safe.
- Using strong device security.
- Double-checking every transfer.
If you’ve been looking to move funds from an exchange to a self-custodial wallet, this step-by-step guide walks you through the exact steps to move crypto from an exchange to your own wallet without getting tripped up by networks, fees, or other issues.
Note: This guide assumes you already use a self-custodial wallet.
Step 1: Understand what you’re doing
If you only remember one thing, remember this: crypto transfers do not have an “undo” button.
With a few caveats, crypto transactions are effectively irreversible. The only way to get a “refund” is for the receiver to send the funds back. So when you decide to send crypto from one wallet to another, slow down and verify the details.
Confirm that you’re sending funds to the right wallet type, such as Ethereum to Ethereum (ERC-20), rather than Ethereum to Polygon. Then, triple-check the address. Character by character. If you paste the wrong address and hit send, no “customer service” can pull it back.

One more risk to know: some scams try to trick you into copying a “similar looking” address from your transaction history. MetaMask calls these address poisoning scams and explains that people often recognize addresses by the first and last characters, which attackers try to match.
Step 2: Set-up your self-custodial wallet safely
While setting up your wallet, be it hardware or software, write down your private keys and recovery phrase, then store them somewhere safe.
If you’re using a software wallet, the set-up process is relatively simple. For hardware wallets, follow any physical documentation to complete any additional steps, such as setting up a personal identification number (PIN).
When it comes to hardware wallets, the PIN protects your device, but the recovery phrase is your real backup. Whoever has your recovery phrase can recreate your wallet on another device.
Step 3: Get your receiving address
Of course, you can’t withdraw from an exchange to your self-custodial wallet until you know exactly where you’re sending.
Open your wallet, select an asset, and choose ‘Receive’. Then, copy the address. Do not type it by hand.
The below image shows Phantom self-custodial wallet.

Go to the exchange that holds your assets, pick your asset of choice, and click send. Paste the address and check each character. Some exchanges allow you to “save” a wallet address for future use, like saving a contact in your phone. If you plan to transact frequently between these two wallets, consider saving the addresses.
Step 4: Pick an amount and understand fees
Most network transfers charge some sort of fee, which is normal, but the amount can vary. For example, Ethereum transfers have a gas fee which changes based on the amount you’re sending and the time of day.
Here’s what you’ll usually see on an exchange withdrawal screen:
- Withdrawal amount
- Network fee
- Minimum withdrawal amount
- Estimated arrival time
Two beginner mistakes to avoid:
- Sending your entire balance without leaving room for fees. Some assets require you to hold a bit of the network’s native coin if you want to move funds again.
- Skipping a test transaction before sending the full amount. A small test send can save you from massive losses.
Step 5: Confirm and track the transaction
After you click confirm, it’s time to track the transaction.
Exchanges will show a transaction hash (TxID) and a status. Use the TxID to follow it on a block explorer.
Etherscan is one such explorer for Ethereum transactions. Paste your TxID to follow the transaction’s status, its block confirmations, and to ensure it’s on the right network.
As long as the transaction confirmations are increasing, the transaction will likely end up successful.

For extra protection, consider sending a small, test transaction worth $5 or so. If that goes through, you can send the rest.
After the transaction arrives, check:
- Does the amount match what you sent, minus fees?
- Does it show under the correct asset type in your wallet?
- If it’s a token, you may need to “enable” or “add” the token in your wallet user interface list for it to appear.
If something goes wrong: common issues and fixes
Here are some common issues you may run into, and how to fix them.
My transaction is pending
Sometimes, transactions may be delayed due to busy network conditions or a problem with the exchange. In this case, you might see the term “pending.” These issues are typically handled within an hour. Just make sure to check a block explorer to ensure that the network has received it.
However, do not panic-send a second transaction because the first one “looks stuck.”
Invalid address
This can happen if the exchange doesn’t support a specific address format. For example, Zcash (ZEC) privacy coin has multiple address formats, including transparent and shielded. Some exchanges might support transparent but not shielded.
In this case, you might have to convert your funds to another cryptocurrency or move them to an exchange that supports your requested format.
I chose the wrong network
This can be tricky. Of course, the safest move is to prevent this by matching networks ahead of time, but know that if you pick the wrong network, you can suffer a permanent loss of funds.
Unfortunately, there isn’t much you can do in this situation. Sometimes, the transaction will be denied, and the funds will be sent back to your wallet. The best protection is prevention.
Step-by-step recap of the steps
- Secure your wallet’s recovery phrase.
- In your self-custodial wallet, select your asset, go to receive, and copy the address.
- In your exchange wallet, select the right asset, click send, and paste your self-custodial wallet address.
- Triple-check the wallet address.
- Check the amount and fees.
- Confirm and check the transaction on a block explorer.
Self-Custody FAQs
Can I move crypto from an exchange to a self-custodial wallet without paying fees?
Usually no. Most networks require a fee to process transactions, and exchanges may also apply withdrawal fees or minimums. The fee depends on the network and how busy it is.
How long does it take for the crypto to arrive?
It depends on the network and the exchange. Sometimes the blockchain is busy. Sometimes the exchange is processing the withdrawal. “Pending” often resolves quickly, but you should verify progress using the TxID on a block explorer.
What’s the safest way to do my first transfer?
Do a small test send first (like $5), confirm it arrives in your wallet, then send the rest. This reduces the risk of a wrong address or a wrong network mistake.
Why does my exchange say “invalid address” if I copied it directly from my wallet?
Because “invalid” can mean “unsupported format.” Some coins have multiple address formats, and an exchange may not support all of them. In many cases, the fix is to generate a different receive address format (if your wallet supports it) or use a platform that supports your format.