user81044: 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?

user127531: 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.

81044: <p>Since each transaction creates an unspent output. You'd need to pay a transaction fee to move those funds each time.</p>
<p>They charge withdrawal fees however these are static and not dynamic.</p>
<p>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?</p>
<p>How do they prevent this? Just watch for malicious users like this and ban them?</p>
 127531: <p>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?</p>
<p>Simple answer is NO.</p>
<p>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.</p>
<p>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.</p>
<p>So net net, exchange won’t loose any money in above scenario.</p>
