1

I am wondering how exchanged like Binance are able to transfer out tokens from user wallets that have no ETH in them?

For example if I create a new binance account and say I transfer ADA from say MEW to the address given to me by binance, I can see the tokens transfer on the adderss, then when I exchange those tokens on Binance they are moved from the address even though I did not transfer any ETH to that address and I do not see any ETH being sent to it before the token transaction is made.

How does that work? Or am I missing something?

Zaid Amir
  • 312
  • 1
  • 3
  • 15

1 Answers1

1

User’s wallet is used only when you deposit to your account. And for the security purposes; they will collect all users’ balance to a cold wallet. when user make a withdraw then exchange site will transfer from their cold wallets, not from user wallet, to user input address.

And to optimize the transaction free; they don’t always collect user wallet balance immediately. They will collect the users’ huge balance first when needed.

I think that they still need deposit some small amount before they can send your token to another address.

Tony Dang
  • 2,151
  • 2
  • 9
  • 16
  • yes but how will they collect tokens if no ethereum has been transferred to said wallet (no gas money) – Zaid Amir Sep 04 '18 at 13:08
  • they still keep some small ETH in user account. https://etherscan.io/address/0xaed78071009f1bdc9d302389f11d85761434a587 – Tony Dang Sep 04 '18 at 13:14
  • Or you can see, for USDT wallet, they deposit some small BTC when user create an account

    https://omniexplorer.info/address/1FHgr713APbJ4yqnpj9g6RFLDyx4xqNoja

    – Tony Dang Sep 04 '18 at 13:15
  • 1
    It's also possible that the user wallet has approved another wallet to transfer the tokens, that way the exchange can sweep many accounts in one transaction. – natewelch_ Sep 04 '18 at 13:59
  • yes, they can do this for ERC20 token – Tony Dang Sep 04 '18 at 14:06
  • btw, to approve other wallet to transfer they still need to pay tnx fee when calling the approve() function then it does not save the tnx fee. – Tony Dang Sep 04 '18 at 14:14