The Beginner’s Guide to Bitcoin Arbitrage
By: Ofir Beigel | Last updated: 1/16/23
The fact that each Bitcoin exchange shows its own price for Bitcoin has given birth to the arbitrage phenomena. In this post I’ll explain exactly what arbitrage is and how it is conducted.
Bitcoin Arbitrage Summary
Bitcoin arbitrage is the process of buying bitcoins on one exchange and selling them at another, where the price is higher. Different exchanges will have different prices for Bitcoin, and some people manage to take advantage of this to generate profit out of thin air.
That’s Bitcoin arbitrage in a nutshell. If you want a more detailed explanation of Bitcoin arbitrage and how it’s conducted, keep on reading. Here’s what I’ll cover:
- How Bitcoin’s price is determined
- A simplified example of Bitcoin arbitrage
- Barriers to Bitcoin arbitrage
- Bitcoin arbitrage calculator
- Frequently Asked Questions
- Conclusion – Should you try to arbitrage?
Before we can talk about arbitraging (i.e. buying at a low price and selling at a high price) we need to understand what “Bitcoin’s price” really means.
On any exchange, the price of Bitcoin is determined by the last trade made on that exchange. Since different exchanges have different amounts of buyers and sellers with different preferences, it’s only natural that prices won’t correlate 100%.
You can view exchanges as closed markets that aren’t directly linked. On top of that, some exchanges have very low trading activity on them, which makes Bitcoin’s price on them much more volatile.
As a result, some people try to buy Bitcoins “for cheap” on one exchange and then sell them at a higher price on another exchange. Here is a great video by Andreas Antonopoulos about why arbitrage opportunities exist:
Let’s take a simple arbitrage example in order to illustrate how arbitrage is done. At the time of writing, the price of Bitcoin on Bitstamp is $11,561 while the price of Bitcoin on CEX.io is $11,645.
The difference between prices is $84, and this is quite a decent opportunity for arbitraging. Let’s say, you buy 100 bitcoins on Bitstamp at the rate of $11,561 each, and subsequently you sell them on CEX.io at the rate of $11,645 each.
In a perfect world you’d make $87 per Bitcoin.
Let’s get down to the math:
Number of Bitcoins bought in Bitstamp – 100
Price of each Bitcoin – $11,561
Total expenses – $11,561 * 100 – $1,156,100
Number of Bitcoins sold on CEX.io – 100
Price of each Bitcoin – $11,645
Total revenue – $11,645 * 100 = $1,164,500
Total profit – $1,164,500 – $1,156,100 = $8,400
An interesting thing to notice from the example above is that we need a relatively large amount of capital in order to make a substantial profit via arbitrage. However, in real life things are even more complicated than the simplified example above.
When trying to arbitrage you’ll probably encounter several setbacks:
- It may take some time to verify transactions (to and from exchanges), and during this time the price of Bitcoin may change.
- Many exchanges require considerable verification steps in order to trade a large amount of Bitcoins.
- Exchanges fees, which I have overlooked in the given example, will eat away at your profits.
- Transaction volume needs to be high enough on both exchanges to satisfy such large orders of buying and selling.
- Keep in mind that price differences can also reflect technical issues or reputation issues of an exchange. An interesting example is what happened during the last days of Mt.Gox where the price of Bitcoin was extremely low, since traders didn’t trust the exchange to allow them to withdraw their funds (i.e. There weren’t many buyers on the exchange).
Now that you know what you will face in a real-life Bitcoin arbitrage trade, let’s take an example that includes all of the different variants and fees involved. Relevant fees include:
- Fiat deposit fees
- Fiat withdrawal fees
- Bitcoin deposit fees
- Bitcoin withdrawal fees
- Transaction fees (i.e. trading fees)
I’ve taken the liberty to create some sort of Bitcoin arbitrage calculator using a Google spreadsheet to show you how hard it can be to actually generate a profit.
Take a look below:
If you want to clone this calculator for yourself, feel free to make a copy using this link. As you can see, my “real world” profit comes to about a $10K loss, while I’ll need over $1.1M in capital. All of this suggests that making a profit through Bitcoin arbitrage is quite a difficult task.
In the case above, the main thing that’s eating away at my profits is the withdrawal fee from CEX. Once you get to deal with such large amounts you can reduce your trading and withdrawal fees by using OTC (Over The Counter) services.
Keep in mind that the bigger the spread (the difference in price between buy and sell orders), the more profitable the arbitrage. However, it still doesn’t amount to much unless you put large amounts of money at risk.
Another thing to take into account is that it can take up to 7 days for fiat deposits to appear on an exchange due to how slow the traditional banking system is.
During that time, the spread can change drastically and eliminate any chance for arbitrage. So, the best tactic would be to keep some fiat currency on the exchange and choose the right time to execute the arbitrage.
Finally, any time you keep money on an exchange you’re putting your money at risk, as exchanges getting hacked or going out of business is unfortunately still common these days.
As I’ve demonstrated, you’ll need to keep a large amount of money on the exchange in order to be mildly profitable, so I’m not sure it’s worth the risk.
Arbitrage is completely legal as the only thing that is being done is exploiting price gaps between exchanges. A person conducting arbitrage is just buying and selling as any other trader would do.
The act of arbitraging Bitcoin is not as simple as it may seem at first glance. Overall, Bitcoin arbitrage may be an opportunity to make some passive income, but at the same time it involves huge risks.
Arbitrage is actually a positive process, unlike speculation, margin trading and other activities that can be viewed as market manipulation – and in some cases may even be truly harmful to the market as a whole.
Bitcoin should have the same price across all exchanges. Arbitrage simply helps bring the exchanges together onto the same page. As Bitcoin’s market grows, the gap between exchanges will narrow, as more and more people will conduct arbitrage.
As for the ‘how’, nowadays almost all exchanges have an API which can become a useful arbitrage tool.
Utilizing these APIs will allows you to create a custom arbitrage bot, so that you don’t have to sit in front of the computer all day. Still, even attempting to arbitrage manually can be very beneficial, as long as you watch closely and make sure you are placing simultaneous trades.
If you’ve had any experience with Bitcoin arbitrage I’d love to hear about it in the comment section below.