0

Since each transaction creates an unspent output. You'd need to pay a transaction fee to move those funds each time.

They charge withdrawal fees however these are static and not dynamic.

I understand they are probably not hurting for money but couldn't a batch of malicious users send countless small deposits then withdrawal them all at once and cause a large net loss for the exchange?

How do they prevent this? Just watch for malicious users like this and ban them?

1

If I understand the question right.. If userA sends x number of deposits of small amounts of BTC to exchange address and withdraw the total amount at once - will exchange lose money in this case?

Simple answer is NO.

To send BTC, sender pays the transaction fee, receiver doesn’t pay any fee. In above scenario, UserA would have paid fee for each of x deposits it did to exchange address. When it withdrew all BTC from exchange then the exchange just paid transaction fee for one transaction which it charges from user while withdrawals. That one transaction can contain either same UTXOs generated by multiple earlier deposits from userA as inputs or any other UTXO exchange has (that’s exchange to manage). But in nutshell, withdrawal will go in one transaction from exchange.

And normally withdrawal fee charged from user is more than what they really pay in on chain transaction because they batch lot of user’s withdrawals in one transaction.

So net net, exchange won’t loose any money in above scenario.

4
  • OP is asking about the cost the exchange needs to pay to spend the coins that were deposited with them. Oct 7 '21 at 14:05
  • They take cover the cost by charging user while user withdraws the coins from exchange. I may have misunderstood the word "Spend" here, can you elaborate pls? Oct 7 '21 at 14:10
  • 1
    If you deposit coins with an exchange, the exchange at some point needs to spend those UTXOs (e.g. to send them to someone withdrawing). The fee for that depends on the number of UTXOs. In an extreme example, if you'd deposit 1 BTC using 10000 outputs of 0.0001 BTC each, the exchange would likely need to pay over 0.3 BTC in fees just to move those coins. During high mempool contention, the cost may exceed 1 BTC to do so. Oct 7 '21 at 14:16
  • 1
    You mean because transaction size will increase because of so many inputs and so Exchange will have to pay more. I agree that can happen. But to do so the user will have to deposit 10,000 times paying fee each time, by doing which user will loose lot of money. And for Exchange, as they normally overcharge withdrawal fee in most cases, in few extreme examples more fee may not hurt that much. Oct 7 '21 at 16:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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