Which cryptocurrency exchange is the cheapest?
[UPDATE 26.09.2022 – Shortly after publishing the article I decided to change the title for something more neutral and direct, also I made some small correction and added information about other exchange services and alternatives to these large cryptocurrency exchanges.]
I used several cryptocurrency exchanges over the years, some got hacked, some got into bankrupt or just disappear in obscure circumstances while others grow sometimes very fast to become some of the largest companies in the cryptocurrency industry. But whenever it’s fully centralized, centralized P2P market or fully decentralized (as far as it’s technically possible), there is always something common, they makes money by charging fees. Market goes up, people sell and buy, they make money. Market goes down, people sell and buy, they make money. As long as the fee collected cover their running expenses, they have no reason to get out of business, and fee collected are proportional to the volume of exchange, that’s why they will do their marketing to push you to exchange as much as possible, as often as possible. I did concentrate on large cryptocurrency exchanges with advanced trading option like limit order and not only market order with a price not controlled by the user. Still other alternatives exist and I will talk about it at the end of the article.
Fee schedule complexity
These fees can be relatively transparent and easy (1% flat is quite standard for spot market exchange rate) but in most cases it’s getting quickly complicated. Users tend to compare the trading fee, how much it cost to exchange a fiat currency for a cryptocurrency or cryptocurrency for another one. For exchange platform where you can make or take order from an order book, trading fee are generally below 1%. However most of the time we dimiss all the other fees, like fiat and cryptocurrency deposit fee, fiat and cryptocurrency withdrawal fee, currency exchange rate (between your local fiat currency and the exchange main currency, e.g. CHF to USD or EUR). And I’m not even talking about fees for all other service, like special support (in case of lost banking transfer or inheritance, or whatever they might need to do for you that cost time and money) or fee for other services than spot market exchange (margin, lending, stacking,…).
A fee hide another
All these fees start to add up quite quickly and should not be neglected, especially if your local currency is not EUR or USD. A few weeks ago I got an email from Bitstamp, one of the first exchange I use, that they will change their trading fee policies and “offer” free trading fee below 1000 USD of monthly volume. First, like most users I guess, I thought it was a good news, and I could finally use my account again as I stopped using it due to the high fees compared to other exchanges. If you just want to buy less than 1000 USD to increase you holding, that’s a good bargain right? But let’s take everything into consideration.
I did calculate several scenarios, when you deposit and withdraw with a Swiss bank account in CHF, a European bank account SEPA in EUR and when you just want to convert one cryptocurrency for another (I used Ethereum to Bitcoin in my example).
For the comparison I use a selection of the most used cryptocurrency exchanges accessible to Swiss customers, have some years of experiences in the industry, that I used at least once and have a relatively good reputation (almost all of them got hacked or had a more or less controversial episode in the past, but which bank didn’t?).
For each scenarios I made a table with each exchange and repeat the calculation for various amounts from 100CHF to 100’000CHF transferred at once and traded within a month (most exchange offer decreasing fee depending on your total volume of transactions on the last 30 days).
To withdraw in your Bitcoin wallet, some fee are fixed in term of bitcoins. For the calculation I assumed that 1 BTC = 20’000CHF/EUR/USD (let’s say we are at parity CHF/EUR/USD as when I started investigating for this article it was not far from it) and 1 BTC = 14 ETH (highly variable as well but it has a marginal influence on the results).
Another term that you will see when looking at the fee, it’s whenever your are you are maker or taker. I.e. maker = when you add an order in the order book that is not fulfilled immediately by another order and you wait for it to be taken, taker = when you place an order that match immediately an order from the order book. In my calculation I used the maker fee. Maker fee are usually cheaper but the difference will not change the ranking of the results as the difference between maker and taker is more or less the same between the exchanges. It’s just that I prefer to place a limit order for a price not reach yet and wait a few hours or days to be filled than just buying at market price which is usually not the best deal you will get, but at the end it’s a matter of your trading strategy and how hurry you are.
Scenario 1 : Buy Bitcoin with CHF from a Swiss bank
This scenario have the following steps:
- Transfer CHF from a Swiss bank account to the exchange bank account
- (For exchange without BTC-CHF market) Convert or let it automatically convert your CHF for the most used fiat currency on the exchange (usually USD)
- Place one or several limit orders for a price not met yet (e.g. buy for 100 CHF of Bitcoin at a price 0.1% below the current market price)
- Wait for all orders to be fulfilled (assuming it happens within 30 days)
- Withdraw all the exchanged Bitcoin to a non-custodial Bitcoin wallet under your control (as you should never leave coin on an exchange, not your key, not your coins).
Amount (CHF) | Binance (CHF) | Binance (%) | Bitstamp (CHF) | Bitstamp (%) | Coinbase (CHF) | Coinbase (%) | Kraken (CHF) | Kraken (%) |
100 | NA | NA | 11.9 | 11.9% | NA | NA | 0.36 | 0.4% |
500 | NA | NA | 29.5 | 5.9% | NA | NA | 1.00 | 0.2% |
1000 | NA | NA | 51.5 | 5.2% | NA | NA | 1.80 | 0.2% |
5000 | NA | NA | 239.5 | 4.8% | NA | NA | 8.20 | 0.2% |
10000 | NA | NA | 474.5 | 4.7% | NA | NA | 16.20 | 0.2% |
50000 | NA | NA | 2332 | 4.7% | NA | NA | 80.20 | 0.2% |
100000 | NA | NA | 4657 | 4.7% | NA | NA | 150.20 | 0.2% |
Not all exchanges offer this scenario but for the ones who does we have huge differences. Here we got completely scammed (I have not other word) by the conversion fee between your CHF (not supported by Bitstamp) and USD as well as the high withdraw fees to get your BTC off the exchange. On the other side, Kraken offer very low withdrawal fee and even completely free Bitcoin withrawal if you want to have your Bitcoin send over the Lightning Network (I detailed how to achieve that in the linked article). Using Kraken your will save at least 11.5CHF and more than 4500 CHF if you exchange a lot of volume. Forget about the free trading free of Bitstamp below 1000 CHF, it get completely crushed by their conversion and withdrawal fees.
Scenario 2 : Sell Bitcoin for CHF to a Swiss bank
This scenario have the following steps:
- Transfer BTC from your non-custodial Bitcoin wallet to the exchange wallet
- Place one or several limit orders for a price not met yet (e.g. sell for 100 CHF of Bitcoin at a price 0.1% above the current market price)
- Wait for all orders to be fulfilled (assuming it happens within 30 days)
- Withdraw all the exchanged fiat currency (it could be USD or CHF depending if the exchange offer BTC-CHF market or not) to a Swiss bank account in CHF.
Amount (CHF) | Binance (CHF) | Binance (%) | Bitstamp (CHF) | Bitstamp (%) | Coinbase (CHF) | Coinbase (%) | Kraken (CHF) | Kraken (%) |
100 | 3 | 3.0% | 29.4 | 29.4% | NA | NA | 0.36 | 0.4% |
500 | 15 | 3.0% | 47 | 9.4% | NA | NA | 1.00 | 0.2% |
1000 | 30 | 3.0% | 69 | 6.9% | NA | NA | 1.80 | 0.2% |
5000 | 150 | 3.0% | 257 | 5.1% | NA | NA | 8.20 | 0.2% |
10000 | 300 | 3.0% | 492 | 4.9% | NA | NA | 16.20 | 0.2% |
50000 | 1500 | 3.0% | 2357 | 4.7% | NA | NA | 80.20 | 0.2% |
100000 | 3000 | 3.0% | 4707 | 4.7% | NA | NA | 150.20 | 0.2% |
Similar to scenario 1, not all exchange offer this option but Binance does in this direction, with a flat 2.9% currency exchange fee and 0.1% withdrawal fee, still better than Bitstamp 4.4% conversion fee! Using Kraken will save you 29 CHF vs Bitstamp and almost 3 CHF vs Binance (on 100 CHF it’s 2.6%) for low volume trading and more than 4500 CHF for 100’000 and more of volume per month! That a fortune, imagine 0.225 BTC more in your wallet, how much it could worth in a 2,5 or 10 years!
Scenario 3 : Buy Bitcoin with EUR from a EUR bank account
This scenario have the following steps:
- Transfer EUR from a bank account using SEPA to the exchange bank account (assuming there is no fee as it should be for SEPA in EUR).
- Place one or several limit orders for a price not met yet (e.g. buy for 100 EUR of Bitcoin at a price 0.1% below the current market price)
- Wait for all orders to be fulfilled (assuming it happens within 30 days)
- Withdraw all the exchanged Bitcoin to a non-custodial Bitcoin wallet under your control (as you should never leave coin on an exchange, not your key, not your coins).
Amount (EUR) | Binance (EUR) | Binance (%) | Bitstamp (EUR) | Bitstamp (%) | Coinbase (EUR) | Coinbase (%) | Kraken (EUR) | Kraken (%) |
100 | 5.1 | 5.1% | 10 | 10.0% | 10.55 | 10.6% | 0.36 | 0.4% |
500 | 5.5 | 1.1% | 10 | 2.0% | 12.15 | 2.4% | 1.00 | 0.2% |
1000 | 6 | 0.6% | 10 | 1.0% | 14.15 | 1.4% | 1.80 | 0.2% |
5000 | 10 | 0.2% | 22 | 0.4% | 30.15 | 0.6% | 8.20 | 0.2% |
10000 | 15 | 0.2% | 37 | 0.4% | 50.15 | 0.5% | 16.20 | 0.2% |
50000 | 55 | 0.1% | 117 | 0.2% | 150.15 | 0.3% | 80.20 | 0.2% |
100000 | 105 | 0.1% | 217 | 0.2% | 225.15 | 0.2% | 150.20 | 0.2% |
This scenario is more common as all exchanges listed here support directly EUR and have BTC-EUR market with high volume. The differences are not as high as when using CHF but you could still save between 10 and 120 EUR by using the cheapest option but there is a trick. Kraken is not the cheapest in all cases. From 10’000 EUR and more exchanged per month, Binance start to be more interesting, for 100’000 EUR of monthly volume you could save an extra 45 EUR. However if you decide to use Binance, be sure to never transfer low amount and group your transfer to be always a few thousands at once, which would not be the case for most readers I imagine.
Scenario 4 : Sell Bitcoin for EUR to a EUR bank account
This scenario have the following steps:
- Transfer BTC from your non-custodial Bitcoin wallet to the exchange wallet
- Place one or several limit orders for a price not met yet (e.g. sell for 100 EUR of Bitcoin at a price 0.1% above the current market price)
- Wait for all orders to be fulfilled (assuming it happens within 30 days)
- Withdraw all the exchanged EUR using SEPA to a bank account in EUR.
Amount (EUR) | Binance (EUR) | Binance (%) | Bitstamp (EUR) | Bitstamp (%) | Coinbase (EUR) | Coinbase (%) | Kraken (EUR) | Kraken (%) |
100 | 1.1 | 1.1% | 3 | 3.0% | 10.55 | 10.6% | 0.25 | 0.3% |
500 | 1.5 | 0.3% | 3 | 0.6% | 12.15 | 2.4% | 0.89 | 0.2% |
1000 | 2 | 0.2% | 3 | 0.3% | 14.15 | 1.4% | 1.69 | 0.2% |
5000 | 6 | 0.1% | 15 | 0.3% | 30.15 | 0.6% | 8.09 | 0.2% |
10000 | 11 | 0.1% | 30 | 0.3% | 50.15 | 0.5% | 16.09 | 0.2% |
50000 | 51 | 0.1% | 110 | 0.2% | 150.15 | 0.3% | 80.09 | 0.2% |
100000 | 101 | 0.1% | 210 | 0.2% | 225.15 | 0.2% | 150.09 | 0.2% |
Same as scenario 3, Kraken is the best for small amount and start to get more expensive already with 5000 EUR exchanged. Up to your trading profile and maybe other factors, to choose your preferred exchange.
Scenario 5 : Sell Ethereum for Bitcoin
This scenario have the following steps:
- Transfer ETH from your non-custodial Ethereum wallet to the exchange wallet
- Place one or several limit orders for a price not met yet in the (e.g. sell for 100 EUR of Ethereum for Bitcoin at a price 1% above the current market price)
- Wait for all orders to be fulfilled (assuming it happens within 30 days)
- Withdraw all the exchanged Bitcoin to a non-custodial Bitcoin wallet under your control.
Amount (EUR) | Binance (EUR) | Binance (%) | Bitstamp (EUR) | Bitstamp (%) | Coinbase (EUR) | Coinbase (%) | Kraken (EUR) | Kraken (%) |
100 | 4.1 | 4.1% | 10 | 10.0% | 10.4 | 10.4% | 0.36 | 0.4% |
500 | 4.5 | 0.9% | 10 | 2.0% | 12 | 2.4% | 1.00 | 0.2% |
1000 | 5 | 0.5% | 10 | 1.0% | 14 | 1.4% | 1.80 | 0.2% |
5000 | 9 | 0.2% | 22 | 0.4% | 30 | 0.6% | 8.20 | 0.2% |
10000 | 14 | 0.1% | 37 | 0.4% | 50 | 0.5% | 16.20 | 0.2% |
50000 | 54 | 0.1% | 117 | 0.2% | 150 | 0.3% | 80.20 | 0.2% |
100000 | 104 | 0.1% | 217 | 0.2% | 225 | 0.2% | 150.20 | 0.2% |
This scenario is again split between Binance and Kraken, with Binance getting cheaper around 5000 EUR worth of exchanged coins and above. Note that it might be slightly different for other coins pair or even for the reverse operation, Bitcoin to Ethereum as the withdrawal fee change for each coins. Double check for your scenario if the saving is worth using one or more exchange to cover all use cases.
Alternatives
These large companies ranked among the most used cryptocurrency exchange are not the only way to buy and sell Bitcoin and other cryptocurrencies. I will list some of the other options if you want to avoid these large companies for any reasons (complexity, KYC requirement, company under another jurisdiction than yours, custodial wallet and associated risk of losing your coins until they are withdraw to your own wallet,…).
Market order automated exchange
Services like MtPelerin, Relai, Bity (and many others) offer to buy (and sell) Bitcoin (and cryptocurrencies) with a much simpler interface, clear and simple fee (like 1% flat) and possible extra advantages like sending directly coins to a wallet under your control. Of course your will have to take the exchange rate as it is, with the risk that it changes significantly between the time you send money from your bank account until it reach the service and get converted.
Centralized service to help P2P exchange
One of the oldest way to exchange coins was to use a service, with optionally an escrow service, to allow you to get in direct contact with a seller or buyer. You can define an in person meeting for the exchange in cash (not really recommended anymore due to high risk of a 5$ wrench attack, except maybe at Bitcoin meetup with trusted individuals) or another mean of transfer for the fiat payment (IBAN transfer, Revolut, Twint, PayPal, GiftCard for a given shop,…). The most famous services are LocalBitcoin and Bitcoin.de, but new service like PeachBitcoin are trying to make it even simpler. Here you must trust the service to act as an escrow in case of an exchange going wrong (fiat money was never sent or charged back) but I always had good experience and never need the escrow service, same for all users I talked with. Note that when selling bitcoins you always pay the network fees to send them out and usually the buyer will pay a fee to the platform for the service, which can be significant, always check before doing any transaction.
Decentralized service for P2P exchange
Similar to the above but with the platform itself being not only accessible by one centralized web front end. The most famous is Bisq, that is full P2P program running on your computer, a bit like a BitTorrent client and using the Tor network to connect users. Alternative like RobotSats allow you to self-host your own instance on your Bitcoin node and then exchange fiat for bitcoins (or satoshis as we are mostly dealing with small amount) over the Bitcoin Lightning Network. Here you lock some bitcoins as a collateral in a multi-signature transaction that can be released by an optional escrow service in case of dispute. It’s usually much more difficult to use and price offered is easily 2 to 8% higher than market price or you must wait for your offer to be taken, which could take hours, days or forever, while you must stay ready to react and do or confirm the transfer once matched. But it’s the only fully censorship resistance and anonymous way to buy and sell bitcoins.
Decentralized exchange (DEX on DeFi)
The fully decentralized exchange solution also appeared in the last 3-4 years and is getting very interesting for liquid, instant exchange, with low transaction fees and without the need to trust anyone (or almost). Each blockchain supporting smart contract as it’s DEX, like UniSwap on Ethereum. Again, I mentioned low transaction fee, but they have kind of hidden fees as well, especially on blockchain with high fees like Ethereum, as you must pay a transaction fee to pass you transaction on the blockchain without a short delay and often you must even do several transaction to allow the smart contract of the decentralized exchange to access your token, and then make another transaction to revoke the access later.
I will not list them here as there are really a lot and they are mostly confined to exchange tokens on the same blockchain, so it’s useless to buy or sell Bitcoin with CHF/EUR/USD, you can only transact a token representing what you want to exchange, like USDT, USDC, DAI, called stablecoins, that should represent USD (they are stable coins for EUR and even CHF but it’s far from common) and wBTC representing bitcoin on the Ethereum blockchain (which is not the same blockchain as the Bitcoin blockchain of course). But then you must have another way to exchange the stablecoins for the fiat in your bank account, which can never be provided by a DEX by definition. Maybe it will be possible in the future if we get central bank digital currencies (CBDC), however I’m far form enthusiastic about this perspective.
Conclusion
We should never trust the advertised trading fees, whenever it’s on a centralized or decentralized exchange, as it could end up being only a fraction of the total fees. If you choose a centralized exchange only because it has the lowest trading fees you might not get the best cost overall, unless you always leave your coins on the exchange and make a ton of back and forth exchanges between several coins and fiat (call day trading), which I’m clearly not doing and not recommending at all for any beginner or non-professional (or anybody as I think this practice is stupid but I’m not here to judge).
For a Swiss investor willing to trade directly from your CHF account, options are limited and only Kraken offer reasonable fees. When you have a bank account and EUR, have EUR to invest or can convert your CHF to EUR at a good exchange rate with low fee, you might consider some other options to optimize the fees depending of your usual or expected buying/selling volume. But I would also take other aspect into consideration, like the exchange features, reputation, where it’s legally implemented and other criteria important for you.
Did I help you with this post? Did you saved a bunch of money by avoiding to get scam with hidden fees? Consider sending some satoshis on my self-hosted Bitcoin payment platform setup as on my donation page.
If you like this post, be sure to subscribe by RSS and follow me on Nostr and Mastodon to not miss any future post.
Disclaimer I’m not a financial advisor, nor a professional in any kind of industry link to finance, cryptocurrencies nor tax legislation. I’m just giving my personal opinion and life advise about topics that I like and experiment by myself on my free time. My articles could always have mistakes, inaccuracies or lead to misunderstanding of a more complex topic. I cannot by any mean be liable for any loss or issue you could have by following any strategy or using any app or product that I mention in my articles. Using any kind of investment product, cryptocurrencies, smart-contracts, app or tool always come with a certain risk. Before engaging your data, time and money in any activities, always do you due diligence and get informed by yourself about the implications and risks.
Affiliate links Some links in my articles can be affiliate links, usually I mention it explicitly. This mean that if you use the link to a shop or service and then buy the product or subscribe to the service offered, I will get a small commission on your purchase. For you it doesn’t cost anything more and in some case it’s also linked to a promotion where you can get a small discount as well, I try to write it clearly if it’s the case.
If you use the link and buy something there, I will know that someone did but I will not know anything about this person. If you don’t agree to use the affiliate link please visit the website of the shop or service by yourself, for example using a search engine without using an ads at the top of the results of course. If you agree to use them and make a purchase, thanks for the small support.
When I decide to place an affiliate link for a product or service, it’s not because I will maybe get some money from the affiliation but because I truly believe in the product/service and I’m using it myself. I will recommend the same way a product or service that doesn’t offer affiliation and will never give the advantage or highlight one product/service just because it offers an affiliation or because the commission offered is higher, but I hope it’s reflected well in my article.