URL: https://exchangesteps.com/move-usdt-to-hardware-wallet
Updated: 2026-10-13
Sources: https://support.ledger.com/article/8223740906525-zd , https://support.ledger.com/article/7782669175581-zd , https://support.ledger.com/article/6516823445533-zd , https://trezor.io/guides/sending-receiving-staking-funds/sending-receiving/receive-crypto-in-trezor-suite , https://trezor.io/guides/sending-receiving-staking-funds/sending-receiving/send-and-receive-tron-and-trc-20-tokens-in-trezor-suite , https://www.binance.com/en/support/faq/how-to-withdraw-crypto-from-binance-115003670492 , https://www.binance.com/en/support/faq/360037261532 , https://www.okx.com/en-us/help/how-do-i-make-a-crypto-withdrawal-on-app , https://www.okx.com/en-us/help/what-to-do-if-tn-risk-control-blocks-withdrawals-or-deposits , https://www.bybit.com/en/help-center/article/How-to-submit-on-chain-withdrawal-request , https://www.bitget.com/support/articles/12560603811576 , https://www.bitget.com/support/articles/12560603820647 , https://www.kucoin.com/support/900006083046 , https://www.mexc.com/support/article/how-to-withdraw-on-mexc-app-360030808111 , https://www.mexc.com/support/article/mexc-p2p-trading-guide-17827791522051

# How to Transfer USDT from an Exchange to Ledger or Trezor

> **Quick answer**
> In **Ledger Wallet** or **Trezor Suite**, open the account for the network you'll use (**Tron** for TRC20, **BNB** for BEP20, **Ethereum** for ERC20), press **Receive** and **verify the address on the device's screen**. On the exchange, go to **Withdraw → USDT**, paste that address and choose **the same network**. Send a **small test** first, then the rest. On a Ledger, a new Tron account also needs **0.1 TRX** before the USDT shows.
>
> **[Ledger official shop →]** **[Trezor official shop →]**

| | |
|---|---|
| **Golden rule** | Same network on the exchange and in the wallet |
| **Cheapest usual choice** | TRC20 or BEP20 (check the fee on the withdrawal screen) |
| **Memo / tag** | Not needed for TRC20, BEP20 or ERC20 |
| **First time** | Small test amount, then the rest |

Haven't set up your device yet? [Set up a Ledger](https://exchangesteps.com/how-to-set-up-ledger) · [Set up a Trezor](https://exchangesteps.com/how-to-set-up-trezor).

No hardware wallet? A free phone wallet works too: see our [Trust Wallet guide](https://exchangesteps.com/trust-wallet-guide).

## Before you withdraw: P2P holds

If you just bought the USDT on P2P, the exchange may hold it for a while before you can withdraw it:

- **OKX** can lock crypto bought on P2P for **3, 7 or 15 days** ("T+N"). The lock period shows before you confirm the order, and the unlock time is in the order details.
- **Binance, Bitget and MEXC** apply shorter holds (often 24 to 72 hours) in some currencies and countries.
- **Bybit** can temporarily lock purchased crypto if its risk checks flag something.

The hold lifts by itself. Check the order page if the withdraw button says the amount isn't available yet.

## Step 1: Pick the network

| Network | In Ledger Wallet | In Trezor Suite | Note |
|---|---|---|---|
| **TRC20** (Tron) | Tron account (Tron app) | Tron account (computer) | New Ledger account needs 0.1 TRX to activate |
| **BEP20** (BNB Smart Chain) | BNB Chain account (Ethereum app) | BNB Smart Chain account | Address starts with 0x |
| **ERC20** (Ethereum) | Ethereum account | Ethereum account | Usually the highest fee |

> ⚠️ **BEP20 and ERC20 addresses look the same** (both start with 0x). The exchange may accept the address on either network. Pick the network that matches the **account** you opened in the wallet, not just one the address "works" with.

More on networks: [USDT networks: TRC20 vs BEP20 vs ERC20](https://exchangesteps.com/usdt-networks).

## Step 2: Get your address from the wallet

**Ledger**

1. Connect and unlock the Ledger, open **Ledger Wallet**.
2. **Receive** → choose **USDT** and the network (or the Tron / BNB / Ethereum account).
3. Copy the address and **compare it with the address on the Ledger's screen**, then confirm on the device.

**Trezor**

1. Connect and unlock the Trezor, open **Trezor Suite**.
2. Open the Tron, BNB Smart Chain or Ethereum account → **Receive**.
3. Press **Show full address** and check that it matches the Trezor's screen.

## Step 3: Withdraw from your exchange

| Exchange | Where to withdraw | Full guide |
|---|---|---|
| **Binance** | Assets → Overview → **Withdraw** (app: Send → Withdraw) | [Withdraw from Binance](https://exchangesteps.com/how-to-withdraw-from-binance) |
| **OKX** | Assets → **Withdraw** → On-chain | [Withdraw from OKX](https://exchangesteps.com/how-to-withdraw-from-okx) |
| **Bybit** | Assets → **Withdraw** | [Withdraw from Bybit](https://exchangesteps.com/how-to-withdraw-from-bybit) |
| **Bitget** | Profile icon → **Withdraw** | [Bitget guide](https://exchangesteps.com/bitget-guide) |
| **KuCoin** | Assets → **Withdraw** | [KuCoin guide](https://exchangesteps.com/kucoin-guide) |
| **MEXC** | Wallets → **Withdraw** | [MEXC guide](https://exchangesteps.com/mexc-guide) |

On every exchange the steps are the same:

1. Choose **USDT**.
2. **Paste the address** you copied from the wallet.
3. Choose **the same network** (TRC20, BEP20 or ERC20). KuCoin and OKX may pick it from the address; check it anyway.
4. Enter the amount. The **fee** and the **amount you'll receive** show before you confirm.
5. Confirm with your security codes (email, SMS or authenticator).

## Step 4: Send a small test, then the rest

The first time you use a new address, send a small amount (Binance even shows a reminder). Wait until it appears in Ledger Wallet or Trezor Suite, then withdraw the rest.

**Using a Ledger and TRC20?** If the USDT doesn't show, the Tron account isn't activated yet: send **at least 0.1 TRX** to the same address. Your USDT is safe on the blockchain and appears once the TRX arrives.

> 💡 **Save the address in the exchange's address book or whitelist** (Binance, OKX and Bybit offer it, protected by 2FA). Next time you pick it from the list instead of pasting, which avoids copy-paste mistakes and malware that swaps addresses.

## Step 5: Sending USDT back to the exchange later

To sell on P2P, you send the USDT from the wallet back to your exchange's **Deposit** address, on the same network. The network fee is paid in its own coin:

- **TRC20:** TRX. Trezor says a USDT transfer from an account with no "energy" burns roughly **6 to 13 TRX**, so keep some TRX in the Tron account.
- **BEP20:** BNB. **ERC20:** ETH.

Withdraw a little TRX or BNB from the exchange to your wallet along with the USDT, so you're never stuck.

## Common mistakes

| Mistake | What happens | How to avoid it |
|---|---|---|
| Different network on each side | Funds may be lost or need a paid recovery | Same network on the exchange and in the wallet |
| Address not checked on the device | Malware could swap the address | Always compare with the device's screen |
| No TRX in the Tron account | You can't send USDT out | Keep a little TRX there |
| Withdrawing right after a P2P buy | "Amount not available" | Wait for the P2P hold to end |

**[Ledger official shop →]** **[Trezor official shop →]**

## Frequently asked questions

**Which network is best to send USDT to a Ledger or Trezor?**
TRC20 or BEP20 usually cost less than ERC20. Compare the fees on your exchange's withdrawal screen and make sure your wallet has the matching account.

**Do I need a memo or tag?**
No. TRC20, BEP20 and ERC20 don't use one. Memos are for coins like XRP.

**How long does the transfer take?**
After the exchange processes the withdrawal, usually minutes. Some exchanges review large or first withdrawals manually.

**I sent USDT to my Ledger on TRC20 and see nothing. Is it lost?**
No. A new Ledger Tron account needs at least 0.1 TRX to activate. Send it to the same address and the USDT will show.

**Can I send USDT straight from P2P to my wallet?**
Only after any P2P hold ends. Then withdraw from your Funding or Spot balance as above.

---

*Last updated: 13 October 2026 · Sources: Ledger and Trezor support guides, and the withdrawal help pages of Binance, OKX, Bybit, Bitget, KuCoin and MEXC.*
