Any crypto exchange like binance, bitfinex and so on let you deposit and withdraw various ERC20 tokens.

Technically I don't understand how they implement gas fees when I withdraw? I deposited 100 TUSD and I was able to withdraw it without having any ETH in the same deposit address.

Once solution I can think of is, exchanges might be transferring ETH from a central wallet to this deposited address and then creating another transaction to transfer tokens. But this process will require 2 different txns which effects time and cost.

Any other solution? Anyone know how these exchanges do this?

2 Answers 2


But this process will require 2 different txns which effects time and cost.

It's likely that your "wallet" on each of those exchanges is really just a database somewhere which does the accounting for their users. You don't have your own wallet. Similarly, when you pay physical money into a bank, they generally don't put your money into a lockbox with your name on it.

When you make a deposit to your deposit address, those funds just go into one of the exchange's pooled wallets, and the appropriate entry in their accounting database is updated accordingly. Multiple deposit addresses can presumably just map to a single user for accounting purposes, meaning any withdrawals, and associated fees, just come out of the same overall pot for that user.


In most cases they'll be transferring directly from one of their hot wallets. Your deposit addresses are in most cases only entry points into their system. After that, it is not guaranteed that they will stay there, most probably they will be moved into some other central hot/cold wallet. How much you own is then an entry in their private database.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.