Arbitrage is a trading strategy that seeks to profit from imbalances in an asset’s price on two or more markets. Arbitrageurs buy and sell an identical asset at the same time, buying where the price is lower and selling where it's higher. The difference in price, multiplied by the number of assets bought & sold, is the trader's profit.
Price imbalances between markets usually only last for a few seconds or minutes, and arise during highly volatile market moves. They can even disappear in the time a trader takes to act on an arbitrage opportunity. Because of this, trading bots are often used to find and capitalize on arbitrage opportunities faster than any human can.
One thing that makes this strategy distinct is the time it takes to profit. Profit from arbitrage occurs as soon as both the buy and sell orders are filled (which occur simultaneously), whereas most trading strategies rely on the price moving after a buy or sell. Most of the time a trader spends on arbitrage is in preparation and watching for opportunities.
There are two main types of arbitrage trading, which are explained in depth later on:
Spatial arbitrage: Buying and selling an asset simultaneously on two or more exchanges. Spatial arbitrage involves buying and selling the same asset on at least two exchanges, accumulating the quote currency of those markets as profit. Spatial arbitrage is the most common form of arbitrage and the primary subject of this Guide.
Triangular arbitrage: Arbitrage within a single exchange, a.k.a. cross-currency arbitrage. This method of arbitrage involves the arbitrage asset, a secondary arbitrage asset, and third asset you choose to withdraw as profit.
Crypto arbitrage is a strategy to profit from a cryptocurrency's difference in price in two or more markets or exchanges. Like traditional arbitrage, a trader can profit from buying at a low price on one exchange and selling for more at a different exchange. The only major difference between crypto arbitrage and traditional arbitrage is the type of asset being traded.
Crypto arbitrage opportunities do not last long. However, cryptocurrencies are usually more volatile than traditional assets, which can yield more opportunities for arbitrage. Performing crypto arbitrage trades manually is often too slow to succeed, so arbitrage trading bots are often used in crypto markets as well.
Differences in price for the same asset are usually very miniscule, so traders seeking to profit from crypto arbitrage need to trade large volumes very quickly. A trader needs to be signed up to multiple exchanges, have funds on each, and account for trading and deposit/withdrawal fees before taking an opportunity. This strategy has a high cost to entry, but has the potential to be lucrative to a savvy trader (or programmer).
Opportunities for crypto arbitrage are found in the order book — specifically, the top of the order books in two different markets.
When you buy a cryptocurrency at market price, your buy order matches with the ask (sell) side of the order book. When you sell a cryptocurrency at market price, your sell order matches with the bid (buy) side of the order book. It’s impossible for a bid price to be higher than an ask price in a single market without the orders matching and completing a trade — this is why basic arbitrage requires two or more exchanges.
Traders have to watch multiple markets for the same currency pair to find a crypto arbitrage opportunity. You can practice spotting opportunities even before sending funds to an exchange.
There are some important things to consider when choosing assets and markets to watch:
Pick assets that have multiple markets — either on multiple exchanges, or the same exchange with different quote currencies.
If watching two or more different exchanges, make sure you are eligible to sign up to and fund each exchange. If you can’t trade on the exchange, the arbitrage opportunities are meaningless.
As long as the above criteria are met, most high-market-cap cryptocurrencies can yield arbitrage opportunities. Bitcoin and Ethereum are two of the more obvious choices for crypto arbitrage — both cryptocurrencies are widely used, have liquid markets on multiple exchanges, and are often highly volatile.
The image below uses Cryptowatch Desktop to compare the order books of two markets: Kraken: BTC/USD and Coinbase Pro: BTC/USD. The similar asset between both is Bitcoin (BTC):
These markets are showing an opportunity for crypto arbitrage. Look at the highest bid (topmost prices in green) and lowest asks (lowest prices in red) to spot the opportunity. You can buy from Kraken (right) for $19,136.30 per 1 bitcoin, and sell on Coinbase Pro for $19,162.16 per 1 bitcoin. Remember that your buy order matches with the ask side (red) and your sell order matches with the bid side (green).
Now look to the rightmost column in both order books — this shows the cumulative volume of orders waiting to be filled. On the Kraken side we can see that you can buy 1.1773 BTC for $19,136.30. However, selling that much on Coinbase Pro will consume orders in the order book until the price has equalized, reducing your profits. The price of BTC in Coinbase Pro is only favorable to this arbitrage trade up to a certain volume.
To determine how much volume is favorable to this trade, count the rows in the Coinbase Pro order book until the price matches our buying price of $19,136.3. Five rows down the price is still favorable, so check the volume of orders up to that level using the rightmost column of the order book. Looking at the line that starts with the price “19,140.00”, we can see that we can sell up to 0.95818 BTC before the price equalizes.
If you’ve ever watched an order book move before, you know this type of manual arbitraging is unrealistic. The opportunity between Kraken and Coinbase Pro in the image above disappeared within moments of taking the screenshot. This is why most arbitrage traders use software to spot, calculate, and execute on arbitrage opportunities.
Trading on exchanges includes costs that will affect your crypto arbitrage profits. Market orders are most often used in arbitrage trading because they are fast and match immediately to the top of the order book. Market orders also remove liquidity from the market, and in turn are often charged a higher fee than limit orders. Use the trading fees to determine a minimum profit margin where your arbitrage trading is viable.
There are also deposit and withdrawal fees to consider, but these can be minimized by starting off with funds on both exchanges you intend to trade in. Often the greatest cost to arbitrage trading is time. It’s wholly inefficient to purchase the asset you want to arbitrage on one exchange, withdraw it, then deposit it again on another exchange to sell. By this time the opportunity has most likely passed (you can also transfer directly between exchanges, but the verification time needed for some cryptocurrency transfers invalidates this method).
To make crypto arbitrage trading viable, it helps to have funds deposited ahead of time to the exchanges you intend to trade on. Having ample funds on multiple exchanges reduces time and limits deposit/withdrawal fees.
Arbitrage, including crypto arbitrage, is not only legal but encouraged in most countries. Arbitrage is itself a market force that promotes price equalization and market efficiency. Traders that take advantage of arbitrage opportunities actively equalize multiple markets and help to balance the price of an asset.
Arbitrage is by no means a modern innovation. Online trading (especially in cryptocurrency markets) has made this strategy simpler to implement, but the practice predates written history. Merchants used to collect information from travellers and other traders about commodities that might be in-demand abroad. Buying a commodity locally, where production is high and cost is low, then travelling great distances in order to sell it where demand is higher is an early form of arbitrage.
Consider the silk road (the trade route - not the notorious, now-defunct online marketplace): silk clothes and other products were produced in east Asia, then traveled west until reaching the Mediterranean, and eventually Europe. Silk products were practically unavailable locally in the Western world (for a long time the method to produce silk was a well-kept secret in the east), so imported silk was worth much more there compared to its point of origin. Travelling merchants who purchased silk in eastern markets in order to sell them for a profit in the west were historical arbitrageurs.
Buying and selling simultaneously in two different exchanges is called spatial arbitrage. This is the most commonly-known form of arbitrage and the primary subject of this Guide. The example given above comparing Kraken and Coinbase Pro’s BTC/USD markets is an example of spatial arbitrage.
Spatial arbitrage is essentially a 2-step process:
Buy an asset in Market 1 for a low price
Sell the asset in Market 2 for a higher price
You can transfer the asset after purchasing it in step one, or fund Market 1 with fiat currency and Market 2 with the asset you intend to arbitrage. Transferring it, as mentioned above, is often too inefficient to capture an opportunity before it disappears.
Triangular arbitrage (a.k.a. cross-currency arbitrage) is similar to spatial arbitrage, but both buying and selling take place on a single exchange. This is usually more complicated, because you’ll need to calculate the exchange rate between two different quote currencies to find arbitrage opportunities.
Cryptowatch makes this simpler by letting you choose which fiat currency a market’s quote prices are represented in. Open the settings menu in the top-right of the Charts page to switch the quote currency the market is represented in. Keep in mind that this is a visual change only — selling in the market will give you its actual quote currency.
Triangular arbitrage uses three assets and three currency pairs in its process. Here’s an example using USD, Chainlink (LINK) and Ethereum (ETH):
Deposit USD and use it to buy LINK in LINK/USD
Open LINK/ETH and change the quote price to USD in the trade settings menu
Buy LINK in LINK/USD when the best bid price is higher than the best ask price in LINK/ETH
Sell LINK in LINK/ETH immediately after buying in LINK/USD
Sell ETH in ETH/USD when you want to realize profit
Instead of buying and selling in the same currency pair on two different exchanges (spatial arbitrage), this method involves buying in one currency pair and selling in another. Both currency pairs share a base currency and have differing quote currencies.
After completing steps 1 and 2 you are set up to repeat steps 3 and 4 as often as you like, or as often as arbitrage opportunities are appearing. Triangular arbitrage nearly eliminates withdrawal fees as a cost, but exposes you to two cryptocurrencies in the process. This carries a heightened level of risk, so make sure to practice good risk management if you choose to carry out this (or any) trading strategy.
Cryptowatch Desktop is Cryptowatch’s native app — it’s super fast and runs right on your desktop, streaming crypto data in real-time. What arbitrageurs will find most useful in Cryptowatch Desktop is the ability to run multiple market feeds on a single screen.
Here’s an example of a dashboard we’ve created to watch for Stellar (XLM) arbitrage opportunities:
This dashboard divides each exchange into its own column, identified at the top using the Text module.
The second row is the most important — the Ticker module shows the last traded price, plus the top of the order book. Using this row we can easily see if the bids in any of these markets are higher than another market’s asks.
The third row is composed of each market’s order books. This helps us to see how much volume is assigned to orders near the top of the order book. This information let’s us know how much volume to trade before arbitrage ceases to be profitable.
The final row shows Tick Charts for all four markets. Tick charts measure the bid-ask spread over time, plotting it graphically. This can help us identify which direction either the bid or ask side of the order book is trending towards.
To learn more about Cryptowatch Desktop, check out these Guides:
Crypto arbitrage, like most online trading, can be automated with trading software. Using a trading bot to perform crypto arbitrage decreases the amount of time each trade takes, and increases the amount of trades that occur overall (bots can run 24/7, but you need sleep to live).
Using bots for arbitrage trading makes it possible to capitalize on opportunities that exist for only seconds, or microseconds. Traders sometimes favor the small, consistent profits gained this way because, of course, many small gains can combine into decent long-term profits. Using a trading bot, as long as it’s trading favorably, can act as a kind of passive income between a trader’s active trading sessions.
Crypto arbitrage bots aren’t without their drawbacks, though. Bots do require supervision, and you may find yourself tweaking the parameters often to improve their performance. They also increase the risk you take on in your trading — every bot connected to your exchange accounts or wallets poses a new security weakness. Especially if the bot itself is essentially malware.
Traders can access our API for a standardized, low-latency data feed of every crypto market supported on Crypotwatch. If you have a trading bot or are looking to program your own, you can connect to our API to feed it with real-time crypto data.
Check out the following links for our REST and Websocket API information. You can see our pricing for these data streams here.
Bots have the potential to make crypto arbitrage a more consistent and profitable strategy, but you will have to decide if it’s worth the cost of the bot, the inherent risk of using one, and the time it takes to supervise it. You don’t actually need a bot to perform arbitrage trading — bots can just make the strategy more convenient to you.
You can still perform crypto arbitrage trading manually, especially during times of high volatility. Cryptowatch’s Bollinger Bands alerts can trigger when an asset’s price is diverting from the average, potentially signalling heightened volatility.
It’s also important that you prepare for arbitrage trading if you want to take advantage of it. Traders need a decent amount of starting capital, distributed to at least two exchanges (unless you’re trying triangular arbitrage) so they can move quickly when an opportunity presents itself.
As long as markets are imperfect, arbitrage trading will continue to be viable for a number of investors. Price imbalances between exchanges and similar markets continue to be equalized today because of arbitrageurs.
Crypto arbitrage isn’t a beginner strategy, however — traders need ample capital to make the profits from arbitrage trades worthwhile. Price discrepancies are often insignificant, so large volumes need to be traded in order to profit efficiently. If you choose to trade manually, crypto arbitrage will require hawkish attention to the markets, consuming much of your time. The plus side is that profits are realized almost instantly, so there isn’t anyway waiting involved once an arbitrage opportunity occurs.
Triangular arbitrage helps to eliminate costs by removing the need to withdraw and deposit funds repeatedly, albeit by adding an extra layer of complexity to the strategy.
So yes, arbitrage trading is a viable strategy if you have the funds, the chops, and the discipline to perfect this strategy.