Home / Wallet basics / Withdraw to wallet

How to withdraw crypto from an exchange to a self-custody wallet: a beginner's walkthrough

You've bought some crypto on an exchange, you've set up your own wallet, and you're stuck on the step in between: how do you actually move the coins out? It looks trivial. It's also where beginners lose everything in one shot — and almost every loss comes down to two things: picking the network and pasting the address. Let's slow down and walk through the whole thing.

Published 2026-06-13 Updated: 2026-06-13 ~2,400 words · 10-min read Lead: Lin Zhixing · 2 reviewers + 1 proofreader
06 · WITHDRAW EXCHANGE $ $ $ Arbitrum OP · cheap TRC20 $ MY WALLET 0x9c4f...3a1b self-custody · your keys Pick the right network · test small first · then the coins are really yours vxccex.com · ChainStudy Editorial
What a withdrawal really is: taking the coins the exchange "owes" you in its internal ledger and moving them, through the network you chose, to an on-chain address whose key you hold yourself. The pipe you send through (the network) has to match the one your wallet receives on — otherwise the coins get stuck in the wrong pipe.
Withdrawing is not a casual "tap send". It's an irreversible on-chain transfer, and whether it works comes down to two things: is the destination address correct, and did you pick the right network. Almost every beginner loss happens at one of these two steps. The disciplined flow is: confirm your wallet supports the target network → copy and double-check the first and last characters of the address → send a small test first → only scale up once it arrives cleanly. This is the jump from "coins on an exchange" to "coins that are actually yours."

⚠ Educational content only — not financial / investment / legal / tax advice. On-chain transfers are irreversible; the wrong network or address can mean a permanent loss, so always send a small test first. Full disclosure → disclaimer.

TL;DR · the whole thing in three lines
  1. A withdrawal moves the coins the exchange "owes" you to an on-chain address you control the keys to. Read why self-custody matters first, then act.
  2. Picking the network is the make-or-break step. The same coin on ERC20 / OP / Arbitrum / TRC20 / BSC sits on separate, non-interchangeable tracks. The network you select on the exchange must exactly match the one your wallet receives on.
  3. Your first withdrawal is always a 1 USDC test. Confirm it arrives, then reuse the same address and same network for the real amount. On-chain is irreversible — those few cents of fee are the cheapest insurance you'll ever buy.

Why move coins to your own wallet at all

The crypto you bought on an exchange isn't really in your hands, strictly speaking. That number on the dashboard is one row in the platform's internal ledger that says how much it owes you. As long as the coins stay there, you can't do anything on-chain — swaps, bridging, DeFi, claiming an airdrop, interacting with any on-chain app. All of that requires the coins to actually live on the chain, movable only by your wallet's signature.

That's the whole point of a withdrawal: turning a "we owe you" balance in a ledger into real assets in an on-chain address whose private key you hold. Complete this step and you've gone from "an exchange's customer" to "the owner of a self-custody wallet." The full logic underneath — what private keys, seed phrases, addresses, and signatures actually are — is in the self-custody primer. If you haven't read it, do that first; it makes everything below click faster.

Not that everything should come out. Our standing advice is a dual-track setup: long-term holdings you won't touch stay on a regulated exchange behind its risk controls; daily on-chain working capital goes into a self-custody wallet, capped at "I'd survive losing all of this." Withdrawing is how you move that second bucket out.

Two things to set up before you withdraw

Two checks before you touch anything — and don't reverse the order:

1. You need an on-chain address

Meaning: set up your own wallet (OKX Wallet, MetaMask, either is fine) and note its receive address. Ethereum-family addresses start with 0x and are 42 characters. The address is for receiving — sharing it publicly doesn't compromise anything, so you can copy and paste it freely. If you don't even have a wallet yet, go back and run through the twelve-step setup in the wallet primer and back up your seed phrase first.

2. Confirm your wallet supports the network you'll use

This is the step that gets skipped, and the consequences are the worst. Whatever network you plan to withdraw on (say USDC on Arbitrum), confirm your wallet can see and manage assets on that network first. Most mainstream wallets default to Ethereum, a few layer-2s, and BSC — but TRC20 (Tron) is a different address system entirely, and not every EVM wallet supports it. Before you withdraw, switch to the target network inside your wallet, confirm the address displays correctly, then go back to the exchange.

Choosing the network: the most important step

This is the first thing to burn into memory. The same coin on different networks is several parallel tracks that don't connect. Take USDC: there's a version on Ethereum mainnet (ERC20), on Arbitrum, on Optimism (OP), on Base, on BSC, and on Tron (TRC20) — and they don't move between each other automatically. The network you pick when withdrawing must exactly match the one your wallet receives on. Off by one and the coins go nowhere good.

An analogy that sticks: it's like plugging into different mains sockets. USDC is the electricity, but the ERC20 "socket" and the TRC20 "socket" are shaped differently — plug into the wrong one and there's no power. Except here, once it's plugged in, you can't pull it back out.

How to pick the network (beginner version)
  • Prefer cheap layer-2s: OP, Arbitrum, Base. For small transfers, withdrawal fees here are usually a few cents to a dollar or two (example figures — they move with the network).
  • For USDT on a budget, TRC20 (Tron) is consistently cheap — just confirm your wallet supports Tron.
  • Skip Ethereum mainnet unless the recipient specifically requires it. When mainnet is congested, the withdrawal fee can be larger than the amount you're sending.
  • Speed vs. cost: layer-2s and TRC20 usually land in under 30 seconds; congested mainnet can take a few minutes. For everyday small amounts, cheap wins.

In practice: on OKX, or any exchange you already use, open Withdraw, pick the coin, and you'll be asked to choose a withdrawal network / chain. That dropdown is exactly where things go wrong. Pause for one second, look back at the network your wallet is ready to receive on, confirm both sides say the same chain, and only then continue.

Copying the address: watch for clipboard hijacking

Network chosen, now you paste your wallet's receive address. There's a risk here most beginners have never heard of but that is very real: clipboard-hijacking malware. This kind of malware watches your clipboard, and the moment it sees you've copied something that looks like a crypto address, it swaps in the attacker's address at the instant you paste. You think you're sending to yourself; you're sending to a thief.

The defense is simple, and it should become a reflex: after pasting, eyeball the first and last few characters. If your address is 0x9c4f...3a1b, confirm it starts with 0x9c4f and ends with 3a1b. Swapped-in addresses almost always differ completely at the ends, so checking the head and tail catches them on the spot. Scanning the long middle does nothing — your eyes can't hold it — but four to six characters at each end are easy to compare.

Address poisoning and lookalike-address scams get sneakier than this, and we break them down in the phishing-defense note. For the withdrawal step, just drill "check the ends" into muscle memory and you're covered.

The mandatory small test

The editorial small-test routine
  1. Send 1 USDC first (or the smallest test amount allowed). Pick OP / Arbitrum as the network, paste your wallet address, check the ends, submit.
  2. Wait for it to land. A layer-2 is usually under 30 seconds; open your wallet and you should see the 1 USDC.
  3. Once confirmed, send the large amount on the same address and same network. Exchanges typically let you pull up the address you just used, so you reuse it — fast, and no chance of re-pasting it wrong.

Why make the extra trip? Because on-chain transfers are irreversible, and beginner errors cluster on the address and the network. A 1 USDC test, costing a few cents, verifies all three things at once: the address is right, the network is right, your wallet receives it. Once it passes, withdrawing $10,000 or $1 is the identical flow — only the number changes. Those few minutes buy you out of losing your whole principal to one wrong dropdown or one mistyped character.

Whenever we withdraw on a new chain, a new wallet, or an address we haven't touched in a while, we run a small test first. It isn't a beginners-only ritual — it's the standard move for everyone who goes on-chain.

When you actually need a memo / tag

Some coins, on some networks, ask for an extra field when you withdraw, called a memo or tag (also "note" or "label"). You see it most with XRP, EOS, ATOM and similar, and when sending to another exchange's deposit address.

Its job: those deposit addresses are a single large address shared by many users on the exchange, and the memo / tag marks which user a given deposit belongs to. Leave it out or get it wrong and the money reaches that big address, but the system doesn't know whose account to credit — recovering it means a manual support ticket. Annoying.

Here's the key, so you don't panic: sending to your own self-custody wallet (OKX Wallet, MetaMask, that kind) almost never needs a memo / tag. Your self-custody address is yours alone, not shared with anyone, so there's no "whose account" ambiguity. In one line:

  • Sending to your own on-chain wallet → if a memo field appears, you can usually leave it blank (follow your wallet's guidance; EVM wallets basically never need it).
  • Sending from one exchange to another → the memo / tag the deposit page asks for must be filled in correctly. This is a different situation from sending to a self-custody wallet.

Fees, minimums, KYC limits

Withdrawing isn't free. The withdrawal fee the exchange charges mostly covers on-chain gas and tracks the network closely: Ethereum mainnet is the priciest, layer-2s and TRC20 are far cheaper (exact numbers move in real time — go by what the withdrawal page shows). Every coin on every network also has a minimum withdrawal amount; below it, you can't withdraw — which is why, for a 1 USDC test, it's worth checking the minimum allows it.

Withdrawals are also bound by your KYC verification level and a daily withdrawal limit. Without identity verification, or right after you've changed your password / withdrawal address / logged in from a new location, the exchange's risk system may temporarily restrict withdrawals, extend the review, or impose a 24-hour hold. That's a security feature, not a malfunction — finishing verification early and avoiding a large withdrawal immediately after a sensitive change saves a lot of friction.

Common mistakes and what's recoverable

The ways beginners most often crash a withdrawal — and whether there's any path back:

Mistake 1: wrong network (mostly unrecoverable)

The worst category. Withdraw to a network your wallet doesn't support, or where the destination address doesn't exist, and the coins are typically stuck for good. The one recoverable case: your destination is your own EVM address (0x) and you simply chose a different EVM chain (you meant Arbitrum, you picked BSC). Because the same seed produces the same address on every EVM chain, you add that chain's network in your wallet, the balance appears, and you move it out. But anything crossing different address systems — ERC20 versus TRC20 — is essentially hopeless. Prevention always beats recovery: confirm the network matches before you send.

Mistake 2: wrong address / clipboard swap

The address ended up being someone else's, or malware swapped it. Once it's confirmed on-chain, it's all but gone. Prevention is the head-and-tail check above, plus the small test — verify the test landed in your own wallet.

Mistake 3: missing memo (when sending to an exchange)

Sending from one exchange to another without the memo / tag — the money reaches the receiving platform's big address but isn't credited to you. This is usually recoverable, but it means contacting the receiving exchange's support with the tx hash and going through a manual process that takes days. Sending to a self-custody wallet doesn't run into this.

Mistake 4: it hasn't arrived — how to check

After you submit, the exchange gives you a tx hash (a long transaction identifier). Paste it into the block explorer for that network (Etherscan / OKLink for Ethereum-family, Arbiscan for Arbitrum, Tronscan for Tron) to see the on-chain status:

  • Shows confirmed (Success) and the recipient is your address → the coins are on-chain. If your wallet doesn't show them, you're probably not on the right network, or the token isn't added in the wallet — switch networks / add the token and it appears.
  • No tx hash from the exchange yet → it's still in the exchange's internal review / risk stage. That's stage one; wait, or check the withdrawal record's status.
  • Hash exists but the explorer can't find it / shows failed → screenshot the withdrawal record and hash and contact the exchange's support.

This walkthrough uses OKX's withdrawal screen as the example (referral code OK18866), but the flow is much the same on any major exchange — pick the coin, pick the network, paste the address, test small. Whatever exchange you already use, the same logic applies.

What you can do once the coins are out

Coins safely in your own wallet — now you're actually on the starting line. These are all things you can only do once the coins live in a self-custody wallet:

  • Make an on-chain swap: trade one coin for another inside the wallet and feel slippage, gas, and approve in action. Detailed walkthrough in your first swap — and remember, approving is more dangerous than the swap itself.
  • Bridge: move coins from one chain to another. That's its own careful operation — see the bridge note.
  • Pick a wallet you actually like: if you're still deciding which wallet to use day to day, read the multi-chain wallet comparison, where we ran the same money through several wallets.

Withdrawing is the first step in the funnel, and the one beginners stall on longest. Get it flowing smoothly and the door to swaps, bridging, and DeFi is finally open.


FAQ · the four questions people ask

How long does a withdrawal from an exchange to a wallet take?

Two stages. First, the exchange's internal review and risk checks — normally a few minutes, but anything that trips a security flag (recent password change, new withdrawal address, login from a new location) can stretch it to tens of minutes or even a 24-hour hold. Second, on-chain confirmation — usually under 30 seconds on OP / Arbitrum / Base, a few minutes on congested Ethereum mainnet, and typically fast on TRC20. Once the exchange shows "sent / completed" and gives you a tx hash, you can paste that hash into a block explorer to track the on-chain side.

If I pick the wrong network when withdrawing, can I get the coins back?

Usually not — this is the single most common way beginners lose money. If you withdraw to a network your wallet doesn't support, or where your destination address doesn't even exist, the coins are typically stuck for good. The one recoverable case: your destination is your own EVM address (0x) and you simply chose the wrong EVM chain (say you meant Arbitrum but picked BSC). Because the same seed phrase produces the same address on every EVM chain, you just add that chain's network in your wallet, the balance appears, and you move it out. But any mix-up across different address systems — ERC20 versus TRC20 — is essentially unrecoverable. So confirm the network matches before you hit send.

What are the withdrawal fees, and is there a minimum?

The exchange sets the withdrawal fee, mostly to cover on-chain gas, and it depends heavily on the network: Ethereum mainnet is the most expensive (a few dollars to tens of dollars when congested), OP / Arbitrum / Base are usually a few cents to a dollar or two, and TRC20 USDT is consistently cheap (examples — they move with the network). Every coin on every network also has a minimum withdrawal amount — below it, you can't withdraw. Practical takeaway: for small transfers, prefer a layer-2 or TRC20 and avoid Ethereum mainnet, where the fee can exceed what you're actually sending.

Why does the first withdrawal have to be a small test?

Because on-chain transfers are irreversible, and the two steps beginners get wrong are the address and the network. Send a small amount first (1 USDC, say), run the whole flow — pick network, paste address, submit, confirm arrival — and verify the address is right, the network is right, and your wallet actually receives it. Once that's confirmed, reuse the same address and same network for the large amount. The few extra minutes and few cents of fee are the cheapest insurance against losing your entire principal to one mistyped character or one wrong dropdown.