The fees for withdrawing cryptocurrencies vary dramatically across exchanges. For example, Stocks.exchange charges 0.002BTC (around $22) for a withdraw whereas Bittrex charges 0.001BTC ($10.50). The smallest fee, that I know of, is on Poloniex which charges 0.0005 BTC ($5.25).
As for transferring money between exchanges, Bitcoin is to be not the best option out there. This is to say, despite the mempool getting less clogged up and the Lightning Network coming into play, it still may take some time.
A fee for a withdraw
Luckily for us, the exchanges don't just trade Bitcoin, but also have other cryptocurrencies. That's how we can transfer our money to another exchange for almost nothing. By the way, it only makes sense to do this if you have small amounts to transfer (less than $1,000). If you are planning to do this with large amounts it won't work because the fees for buying and selling will outweigh what you are trying to save.
If you have large sums of money - make sure to account for all the buying and selling fees. It may just be cheaper to pay the withdraw fee.
1. Finding an exchange with the best withdrawal fees.
Let's assume you want to withdraw 0.01BTC from Bittrex to a cold wallet. The fee is 0.001BTC (10%) and you don't want to pay that.
Our task is to transfer money from Bittrex to Poloniex because the latter one has the lowest fees.
The fees may always change, so it is best to have accounts on multiple exchanges and compare all the fees before withdrawing.
2. Choosing the currency for transfer
The currency you should choose should have the following features:
- Low price. The more coins you need to buy - the smaller your withdrawal fee will be.
- Same price on both exchanges and the smallest possible spread (the difference the buying price and the selling price)
- Large trading volumes. The larger the volumes for buying and selling the lower the chances of the exchange rate changing unfavourably for you.
In most instances, you can use Doge or Bytecoin for that. Both meet the criteria I described above, but Doge tends to be a bit quicker.
Exchange your BTC for Doge and send them to Poloniex for just 2 coins for the transfer.
3. Selling on the exchange
You have two ways of selling what you got. Sell at the current buying price or at the selling price. Doge has quite a large number of buy and sell orders as it is often used as a way of transferring money between exchanges (it also has large coin turnover in general). If you put the order at the selling price than you should be able to sell what you got in around 1-12 hours, dependent on the time of day. That way you'll save the most.
This is how my friend did it:
He used his 0.01023405BTC to buy Doge and sent them from Bittrex to Poloniex. He received 0.01019278 BTC on Poloniex in around an hour or so (the fee to transfer between exchanges was 0.00004127 BTC =~ $0.56 cents). He then withdrew them to a cold wallet for 0.0001 BTC (~1.4$). In total, he saved around 0.001 - 0.00014127 = 0.00085873 BTC (~12$).