TL;DR
- Cheapest network: BEP20 (BNB Smart Chain), 0.01 USDT per withdrawal at Binance, Bitget and HTX (as of 2026-11-03).
- Binance: TRC20 fee 4 USDT (minimum 10), BEP20 0.01 (minimum 5), ERC20 0.6 (minimum 5). Its TRC20 fee was 1.5 USDT on 2026-10-20.
- OKX and Kraken don't offer USDT on BEP20; from them ERC20 costs less than TRC20 (OKX 0.29 vs 1.5 USDT).
- Binance paused withdrawals after a security incident in late October 2026 and reopened them in phases from November 1. On November 3 its fee data showed USDT withdrawals enabled on TRC20, BEP20 and ERC20; if yours is still paused, withdraw from one of the other exchanges below instead.
- Paying for an AI API with USDT? Top up TeamoRouter from $5 and call Claude, GPT and DeepSeek on one key.
Short answer
As of 2026-11-03, BEP20 (BNB Smart Chain) costs 0.01 USDT to withdraw at Binance, Bitget and HTX, the lowest fee of the three common networks. OKX and Kraken don't offer USDT on BEP20; from those two, ERC20 costs less than TRC20 (OKX 0.29 vs 1.5 USDT, Kraken about 0.59 vs 1.00 USDT). TRC20 was not the cheapest of the three networks at any exchange where we could read all three fees.
Most fees are flat amounts in USDT per withdrawal, and they change often. These numbers are as of 2026-11-03; check the fee on your exchange's withdrawal screen before you send.
USDT withdrawal fees and minimums: TRC20, BEP20, ERC20
Each cell shows the withdrawal fee in USDT, then the minimum withdrawal in USDT. All values were read on 2026-11-03 from the exchange's own fee page or public API and are copied without rounding.
| Exchange | TRC20 (Tron) | BEP20 (BNB Smart Chain) | ERC20 (Ethereum) | Source |
|---|---|---|---|---|
| Binance | 4 · min 10 | 0.01 · min 5 | 0.6 · min 5 | Binance fee page |
| OKX | 1.5 · min 10 | not offered | 0.29 · min 2 | OKX fee page |
| Bitget | 1.5 · min 5 | 0.01 · min 5 | 2 · min 5 | Bitget public API |
| KuCoin | 1.99 · min 4 | 1 · min 10 | 5.5¹ · min 30 | KuCoin public API |
| HTX | 1.2 · min 1 | 0.01 · min 1 | 0.3 · min 1 | HTX public API |
| MEXC⁵ | check app | check app | check app | MEXC fee page |
| Kraken² | 1.00 · min 6.00 | not offered | 0.5866 · min 0.70392 | Kraken support article |
| Gate³ | fee: check app · min 10 | fee: check app · min 1 | fee: check app · min 1 | Gate public API (minimums) |
| Coinbase⁴ | not listed | not listed | fee: check app | Coinbase Exchange public API |
Bold marks the lowest fee of the three networks at that exchange.
- KuCoin's API gives 5.5 USDT as the minimum fee for ERC20 and also lists a withdrawal fee rate of 0.2% for that network, so larger ERC20 withdrawals may cost more. The withdrawal screen shows the final fee.
- Kraken's article says its withdrawal fees are subject to change and the final fee is shown when you confirm. Its ERC20 figures were not round numbers on the day we checked.
- Gate's fee page (gate.com/fee) didn't load from where we collected this data, and Gate's public API gives minimums but not fees, so Gate's fees are marked "check app".
- We couldn't find a published USDT withdrawal fee for Coinbase (its help pages didn't load for us), so check the fee in the app when you send. Its public Exchange API lists USDT on Ethereum, Arbitrum, Polygon and Tempo, with no TRC20 or BEP20.
- MEXC's fee page and public endpoints returned "Access Denied" from where we collected this data on 2026-11-03, so we couldn't read its fees or minimums this time. Check the withdrawal screen in the MEXC app.
Not in the table: Bybit. Its fee page and public API weren't reachable from where we collected the data, and its coin-info API needs an API key. Check the withdrawal screen in the Bybit app; paying TeamoRouter from Bybit is covered step by step in our Bybit guide (in Russian).
"Not offered" means the network doesn't appear in that exchange's USDT withdrawal list.
Other networks, where the exchange lists them
Most of these exchanges also send USDT on other chains, some of them cheaper still. Use one only if the place you're paying accepts that network. Fee in USDT, then the minimum, same date and sources as above.
| Exchange | Arbitrum One | Polygon | Solana | TON |
|---|---|---|---|---|
| Binance | 0.3 · min 3 | withdrawals suspended | 0.7 · min 5 | 0.3 · min 3 (memo field) |
| OKX | 0.0034 · min 2 (USDT0) | 0.0078 · min 2 (USDT0) | 0.26 · min 2 | 0.038 · min 2 |
| Bitget | 0.1 · min 5 | 0.07 · min 5 | 0.5 · min 5 | 0.15 · min 5 |
| KuCoin | 1 · min 5 | 0.8 · min 1.6 | 1.5 · min 3 | 0.5 · min 1 |
| HTX | withdrawals suspended | withdrawals suspended | 0.3 · min 2 | 0.3 · min 1 |
| MEXC | check app | check app | check app | check app |
| Kraken | 1.00 · min 4.00 | 1.00 · min 2.00 | 0.9433 · min 1.13196 | 0.10 · min 2.5 |
| Gate | fee: check app · min 1 | fee: check app · min 1 | fee: check app · min 1 | fee: check app · min 1 (tag) |
OKX also lists X Layer (USDT0) at 0.0022 USDT with a 0.004 minimum. OKX labels its Arbitrum and Polygon USDT as USDT0.
Network basics: address format and confirmation time
| Network | Address looks like | Confirmations before a deposit is credited⁶ | Binance's estimated arrival time |
|---|---|---|---|
| TRC20 (Tron) | Starts with T, 34 characters | 1–3 | about 1 minute |
| BEP20 (BNB Smart Chain) | Starts with 0x, 42 characters | 1–15 | about 1 minute |
| ERC20 (Ethereum) | Starts with 0x, 42 characters | 6–12 | about 2 minutes |
- Ranges across the deposit confirmation counts published by Binance, Bitget, KuCoin and HTX. The receiving side sets its own count, and some exchanges wait for more confirmations before the deposited funds can be withdrawn again (64 on Ethereum at Binance, KuCoin and HTX).
BEP20 and ERC20 addresses look exactly the same. Both are 0x followed by 40 hexadecimal characters, and so are addresses on Arbitrum, Polygon and other EVM chains. An exchange will accept a BEP20 address on an ERC20 withdrawal without complaint, because it can't tell them apart. TRC20 addresses start with T, so a 0x address fails the format check on a TRC20 withdrawal.
Once a withdrawal is sent, the chain usually confirms it within minutes. If your exchange's withdrawal history shows no TxID yet, the withdrawal hasn't been broadcast; the exchange is still processing or reviewing it.
How to pick a network
- Start from the receiving side. The deposit page, invoice or wallet you're paying tells you which networks it accepts. Only those count.
- Find your exchange in the table and compare the fee for those networks. Then check the minimum: a low fee doesn't help if the minimum is above what you want to send (for example, OKX's TRC20 minimum is 10 USDT).
- Check what arrives. Many exchanges take the fee out of the amount you type. On the withdrawal screen, look at the "amount received" line and make sure it covers what you owe.
- For a large amount, send a small test first, then the rest.
Common mistakes
- Sending on the wrong network. The most common case is an ERC20 withdrawal to an address you were given for BEP20, or the other way round: the address format is identical, so nothing stops you. The USDT arrives on a chain the receiver may not watch, and getting it back depends entirely on the receiver. Pick the network on the withdrawal screen first, then paste the address.
- Network names that don't match. Exchanges name the same network differently: BEP20 may show as BSC or BNB Smart Chain, TRC20 as Tron or TRX, ERC20 as Ethereum or ETH.
- Adding a memo or tag that isn't needed. USDT on TRC20, BEP20 and ERC20 doesn't use a memo or tag at the exchanges whose data shows it (Binance and Gate). Leave the field empty unless the receiving side gives you one. TON is different: Binance shows a memo field for USDT on TON and Gate flags TON as tag-based, so when you deposit USDT on TON to an exchange, use the memo it gives you.
- Withdrawing less than the minimum. Minimums range from under 1 to 30 USDT in the table above. If you only need a few dollars, check the minimum for your exchange and network before you buy the USDT.
- Forgetting the fee comes out of the amount. If what arrives is short, the payment may not count as complete. Check "amount received" before confirming.
Paying for Claude / GPT API with USDT
On TeamoRouter, open the top-up dialog in the console and click Pay with crypto. You can pay with USDT, USDC or ETH from any exchange app; the checkout shows which networks your amount supports (BEP20 works from $5). No wallet extension is needed. The minimum top-up is $5, and the invoice is valid for 60 minutes. To keep the fee low, pick whichever of the networks the checkout offers costs least at your exchange in the table above. Send the full amount in one transfer: a small test transfer to the invoice address counts as a partial payment. Exchange-by-exchange steps: Binance, OKX.
Step-by-step guide: How to pay for Claude and GPT APIs with USDT.
FAQ
Which network is cheapest for withdrawing USDT? On 2026-11-03, BEP20 at 0.01 USDT on Binance, Bitget and HTX. From OKX and Kraken, which don't offer BEP20, ERC20 was the cheapest of the three.
Is TRC20 cheaper than ERC20? At most of the exchanges we checked, no. ERC20 cost less at Binance (0.6 vs 4 USDT), OKX (0.29 vs 1.5), HTX (0.3 vs 1.2) and Kraken (about 0.59 vs 1.00). TRC20 cost less at Bitget (1.5 vs 2) and KuCoin (1.99 vs 5.5).
Does OKX support USDT on BEP20? OKX's withdrawal fee page listed no BNB Smart Chain network for USDT on 2026-11-03. From OKX, use ERC20, TRC20 or another network the receiver accepts.
Do I need a memo or tag for USDT? Not on TRC20, BEP20 or ERC20, unless the receiving side gives you one. On TON, use the memo the receiving exchange shows.
Can I send USDT from a BEP20 withdrawal to an ERC20 address? The address will be accepted because the format is the same, but the USDT goes out on BNB Smart Chain. It only counts if the receiver supports BEP20 at that address. Always send on the network the receiver asked for.
How long does a USDT withdrawal take? Binance estimates about 1 minute on TRC20 and BEP20 and about 2 minutes on ERC20, once the transfer is broadcast. Exchange processing or review before that can take longer.
Why is the fee in my app different from this table? Exchanges change withdrawal fees, and this table is a snapshot from 2026-11-03. The withdrawal screen shows the fee that applies to you.
Sources and method
All data was read on 2026-11-03 between 06:53 and 07:20 UTC, from each exchange's own pages or public, unauthenticated API endpoints. Values are copied as published. A cell marked "check app" means we couldn't read that value from a public source.
- Binance: public endpoint
https://www.binance.com/bapi/capital/v1/public/capital/getNetworkCoinAll(fieldswithdrawFee,withdrawMin,estimatedArrivalTime,minConfirm,withdrawIsTag,addressRegex). Fee page: binance.com/en/fee/cryptoFee. - OKX: the "Network fee" and "Minimum withdrawal" columns of its withdrawal fee page, from
https://www.okx.com/v2/asset/withdraw/fee-amount-infos. - Bitget: public API
/api/v2/spot/public/coins?coin=USDT(fieldswithdrawFee,minWithdrawAmount,depositConfirm). - KuCoin: public API
/api/v3/currencies/USDT(fieldswithdrawalMinFee,withdrawalMinSize,withdrawFeeRate,preConfirms). - HTX: public API
/v2/reference/currencies?currency=usdt(fieldstransactFeeWithdraw,minWithdrawAmt,withdrawStatus,numOfFastConfirmations). - MEXC: its fee page and public endpoints returned "Access Denied" (403) from where we collected this data on 2026-11-03, so MEXC is marked "check app".
- Kraken: the fee table embedded in Cryptocurrency withdrawal fees and minimums.
- Gate: minimums and tag flags from public API
/api/v4/wallet/currency_chains?currency=USDT; fees not available from a public source we could reach. - Coinbase: network list from public API
api.exchange.coinbase.com/currencies/USDT. - Bybit: not included; see above.
Related
- How to pay for Claude and GPT APIs with USDT
- Paying for AI APIs from Binance
- Paying for AI APIs from OKX
- OpenRouter crypto payments: USDC only? Paying for AI APIs with USDT
Last updated 2026-11-03 (previous check 2026-10-20); we re-check monthly.