Skip to main content

Arbitrage


Arbitrage is defined as "the simultaneous purchase and sale of an asset to profit from a price difference".

It is a trade that profits by exploiting the price differences of exchanges or market inefficiencies. Arbitrage is a result of market inefficiencies and would not exist if all markets were perfectly efficient.

Setup Guide Exchange/Market Arbitrage#

Cryptohopper’s Arbitrage bot allows you to trade discrepancies in the market, capitalizing on changes in market price between the same pairs on different exchanges. There are two types of Arbitrage: Exchange Arbitrage and Market Arbitrage. This page reviews Exchange Arbitrages.

Please note: you need an Adventurer subscription to exchange Arbitrage and a Hero Subscription to run Market Arbitrage. Hero users can disable Exchange arbitrage if they only would like to use Market Arbitrage.

Before we go in depth, keep in mind that the arbitrage bot on Cryptohopper does not send funds among different exchanges (as you might expect from Arbitrage). Therefore, we don't need permission for "withdrawal rights" through the API.

To create your Arbitrage bot, go to the "Your Hoppers" menu item in the top left corner of your dashboard. Click the "New" button and select the Arbitrage - it’s that simple! Now you have to decide what configuration you want - Exchange or Market Arbitrage.

arbitrage exchange market bots automated automatic crypto cryptocurrency bitcoin ethereum trading bot platform cryptohopper

Exchange and Market Arbitrage can be used in the same bot type. Market Arbitrage and Exchange Arbitrage share the same Base config, but the requirements to run Exchange and Market Arbitrage differ slightly start with Exchange Arbitrage.

Exchange Arbitrage#

But if you can't withdraw your funds, how does it work? In order to do exchange arbitrage, you have to own the coins for which you would like to arbitrage. For example, your base currency is USD, and you have seen that usually ADA, ATOM, and EOS are prone to offer arbitrage opportunities among certain exchanges. Then, you will need to have all these coins on two (or more) exchanges you want to arbitrage on. Now you are ready to start taking advantage of price inefficiencies.

Let's analyze how this mechanism works. Imagine an arbitrage opportunity between USD (your base coin) and EOS (the coin offering the arbitrage opportunity): You own USD and EOS on exchanges A and B.

  • On exchange A, the price of EOS is 3.10, and on exchange B it is 3.02. Therefore, there is an arbitrage opportunity because EOS is more expensive on exchange A.
  • The Hopper will automatically buy and sell on both exchanges without needing to send funds from one exchange to another. Since buying and selling happens at the same time, the chance of being profitable is significantly higher than manual arbitrage.

The goal is to keep the same amount of EOS while increasing your total USD amount.

Since you want to increase the amount of USD, you would, for example, sell 2000 (expensive) EOS on exchange A (for USD). At the same time, you would also buy 2000 EOS (cheap) on exchange B to maintain the same amount of EOS you had before the trade. It could happen that one of your funds of a specific coin is depleted on one of your exchanges, then it will be necessary to move funds manually from one exchange to another to start the process again.

Configure Your Exchange Arbitrage#

Go to the "Your Hoppers" menu item in the top left corner of your dashboard. Click the "New" button and select the Arbitrage.

Step 1: Basic settings

  • Fill in a name for your arbitrage bot and determine how long your orders should stay open on the exchanges configured.

Step 2: Exchanges Connect your Exchange account(s) or start with paper trading. You need 2 or more exchanges in order to Exchange Arbitrage. The Hopper will search for Exchange Arbitrage opportunities on all your configured exchanges.

  • The configured Maker and Taker fee is not taken into account when showing profitable opportunities on your Dashboard.Do your funds appear under "Assets" on your Dashboard? Great - your connection has been set up correctly. It's recommended to check in the Hopper output whether you have configured your exchanges without errors. The following Tutorials show how to connect Cryptohopper to your exchange.

Step 3: Notifications

  • Select if you want to be notified when a trade is made, canceled, or encountered an error.

Step 4: Coins and amounts

  • Set the percentage sell amount. This is a percentage of your total funds and will become your standard order size. Make sure that your orders are larger than the minimum order size of the exchanges. If you want to set different amounts per coin, configure it under the Percentage Sell Amount. We recommend using "USD amount" in combination with "Prefill all markets" as all amounts will be converted in the coins shown.

  • Ignore different amounts: When this setting is enabled, and if the buy and sell amounts do not match because of decimal amount formatting at the exchange, then arbitrage will still continue with the different buy and sell amount. This has a small impact on the profit/loss shown in your Hopper due to profit calculations.

Step 5: Exchange arbitrage settings Note: the "Selected markets" setting will become visible after saving the Base config, so this will be covered later.

When only using Exchange Arbitrage, you still have to configure a "Minimum profit" and "Max open time arbitrage" for Market Arbitrage to be able to save the Base config. Market Arbitrage can be disabled on the Dashboard, but you can also use Market Arbitrage and Exchange Arbitrage at the same time.

  • Minimum profit: Determine the minimum profit after your fees have been taken into account.

  • Max time arbitrage: Determine how long an arbitrage should be open on your exchange.

  • Max simultaneous arbitrages: Determine how many Market Arbitrage trades the Hopper is allowed to open (3 trades are needed to complete 1 Market Arbitrage trade).

  • Order type: Determine whether the Hopper should use Limit or Market orders. Market orders will be filled immediately, but could result in lower profits/bigger losses than anticipated when there is not much volume or when the market is volatile. It's not recommended to use Market orders with low volume coins.

  • Limit orders are buy/sell orders for a specific price and take longer to get filled.

  • Orderbook matching: Check the orderbooks of all markets and match orders with the orderbook.

  • Fill or kill: A fill or kill order is an order that ensures both trades can be fully executed on both exchanges at the same time. If you don’t use fill or kill, it might result in one of the 2 orders not being filled at the same time, which could result in losses due to fluctuations in crypto prices on both exchanges.

Step 6: Revert and backlog (optional, but recommended)

  • Did an Arbitrage fail in the middle of its execution? For example, your buy order succeeded, but your sell order failed? Move it to your backlog, so you can try it again whenever the time is right. It also shows how you're performing and what your loss-making trades are. We recommend using this feature to improve your profitability and ensure you're not left with "bags".

  • Automatic merge backlog: When this setting is enabled, your backlogs will be automatically merged together. For example, if you have multiple sell orders for the same coin that don’t get filled, they will be merged into 1 backlog position.

  • Move failed to backlog: When this is enabled, then failed or cancelled arbitrage orders will be automatically moved to your backlog. We do recommend using this feature as not all buy and sell orders will be filled immediately. It shows which orders usually don't get filled and helps you determine which coins to trade.

  • Automatic match backlog: When enabled, arbitrage orders moved to the backlog will be automatically matched together if it will result in a correct and successful match, e.g. same amounts, same price or profitable.

  • Revert cancelled orders: Select this option if you want to revert cancelled and failed arbitrage orders. For example, if a sell is successful and a buy order is cancelled, the buy order will be placed again at a different price and the profit/loss will be recalculated.

Step 7: Selected markets

You will need to configure which coins your Hopper will trade for Arbitrage. The coins will only be loaded after you save. Now select the markets you want to trade. Remember that you need funds in the base currency of these markets and the coins you're choosing, otherwise, your Hopper can't perform the Arbitrage. Click the save button again.

Before you choose the trading pairs you would like to trade, it's useful to configure a paper trading hopper first to find out which trading pairs offer more frequent trading opportunities.

It's important to note that when you select very illiquid trading pairs, the chances will be higher your trades won't be filled and that you will be left with "bags". Additionally, using market orders on low volume coins can result in big losses as your orders can fill a significant part of the order book.

Example of Exchange Arbitrage

The following screenshot shows completed arbitrage trades on KuCoin and Binance. It's recommended to check the Hopper output for information about your trades. It will show the reasons why the bot is or isn't executing trades.

The following screenshot shows exchange arbitrage opportunities on the dashboard.

Check the backlog positions as well. There are several reasons why the Hopper shows trades in the backlog. The most common reasons are limit orders not being filled or not enough funds to perform the trade. When clicking on "info", you can revert the order or remove it from your backlog.

We have also created a Troubleshooter article that explains what that could prevent your Hopper from starting to trade.

Market Arbitrage#

What is Market Arbitrage?

Market Arbitrage looks for market inefficiencies within a single exchange. Your Hopper will attempt to increase the amount of the coin(s) you have selected as base coin. It will do this by taking advantage of price differences between the currencies available on your exchange. More specifically, it will make three different trades to increase the amount of the chosen base coin. Market Arbitrage works best on exchanges with lower trading volumes.

For example, say that you have BTC as a base coin. Your Hopper has found a market arbitrage opportunity that includes the coins Ethereum and Litecoin.

  1. First, it will buy Ethereum (48 ETH) with Bitcoin (1 BTC) on the exchange (sell Bitcoin).
  2. Secondly, the Ethereum (48 ETH) the Hopper has just bought is used to buy Litecoin (153 LTC).
  3. The final step is to buy back Bitcoin (1.005 BTC), completing the triangle and increasing the initial amount of Bitcoin.

Market Arbitrage Base Config Market Arbitrage and Exchange Arbitrage share the same Base config. All arbitrage settings will be covered, except for settings specific to Exchange Arbitrage.

Go to the "Your Hoppers" menu item in the top left corner of your dashboard. Click the "New" button and select the Arbitrage. Please note: you need an Adventurer subscription for Exchange Arbitrage and a Hero subscription for Exchange and Market Arbitrage. Hero users can disable Exchange Arbitrage if they only would like to use Market Arbitrage.

Step 1: Basic settings

  • Fill in a name for your arbitrage bot and determine how long your orders should stay open on the exchanges configured.

Step 2: Exchanges

  • Connect your Exchange account(s) or start with paper trading. You can use 1 or more exchanges for Market Arbitrage. The Hopper will search for Market Arbitrage opportunities on all your configured exchanges separately. Paper trading arbitrage Hoppers do need a subscription to enable the bot.

  • The configured Maker and Taker fee is not taken into account when showing profitable opportunities on your Dashboard.

  • If your funds appear under "Assets" on your Dashboard, then your connection has been set up correctly. It's recommended to check in the Hopper output whether you have configured your exchanges without errors. The following Tutorials show how to connect to your exchange.

Step 3: Notifications

  • Enable this setting if you want to be notified when a trade is made, canceled, or encounters an error.

Step 4: Coins and amounts

  • Set the percentage sell amount. This is a percentage of your total funds and will become your standard order size. Make sure that your orders are larger than the minimum order size of your exchanges. If you want to set different amounts per coin, configure it under the Percentage Sell Amount. We do recommend using "USD amount" in combination with "Prefill all markets" as all amounts will be converted into the coins shown. More trading opportunities will arise when you own multiple base coins.

  • Ignore different amounts: When this setting is enabled and the buy and sell amounts do not match because of decimal amount formatting at the exchange, then the arbitrage will still continue with the different buy and sell amount. This has a small impact on the profit/loss shown in your Hopper due to profit calculations.

Step 5: Market arbitrage settings

  • Note: We skipped "Selected markets" as these will become visible after saving the Base config.

  • When only using Market Arbitrage, you still have to configure a "Minimum profit" and "Max open time arbitrage" for Exchange Arbitrage to be able to save the Base config. Exchange Arbitrage can be disabled on the Dashboard, but you can also use Market Arbitrage and Exchange Arbitrage at the same time.

  • Minimum profit: Determine the minimum profit after your fees have been taken into account.

  • Max time arbitrage: Determine how long an arbitrage should be open on your exchange.

  • Max simultaneous arbitrages: Determine how many Market Arbitrage trades the Hopper is allowed to open (3 trades are needed to complete 1 Market Arbitrage trade).

  • Order type: Determine whether the Hopper should use Limit or Market orders. Market orders will be filled immediately, but could result in lower profits/bigger losses than anticipated when there is not much volume or when the market is volatile. It's not recommended to use Market orders with low volume coins. A limit order is a buy/sell order for a specific price and take longer to get filled.

  • Orderbook matching: Check the orderbooks of all markets and match orders with the orderbook.

  • Fill or kill: A fill or kill order is an order that ensures both trades can be fully executed on both exchanges at the same time. If you don’t use fill or kill, then it might result in one of the 2 orders not being filled at the same time, which could result in losses due to fluctuations in crypto prices on both exchanges.

  • Use buy rate: You can choose between 3 different buy rates; Last, Lowest Ask and Highest Bid.

  • Use sell rate: You can choose between 3 different sell rates; Last, Lowest Ask and Highest Bid.

  • Order sequence: You can choose between 3 different order sequences. If you own the coins you need for a Market Arbitrage trade, it is recommended to select "All at the same time, cancel if not possible". This option results in the highest completion rates of your trades as the Hopper can place all orders at the same time. It will also result in fewer trades executed overall. "All orders at the same time if possible, otherwise chronological" results in more trades than the first option mentioned and allows your hopper to trade with more different coins. The last option is "Chronological order".

Step 6: Revert and backlog (optional, but recommended)

  • Did an Arbitrage fail in the middle of its execution? For example, your buy order succeeded, but your sell order failed. This setting moves that failed order to your backlog, so you can try it again whenever the time is right. It also shows how you're performing and what your loss-making trades are. We recommend using this feature to improve your profitability and ensure you're not left with "bags".

  • Automatic merge backlog: When this is enabled, your backlogs will be automatically merged together. For example, if you have multiple sell orders for the same coin that didn't get filled, they will be merged into 1 backlog position.

  • Move failed to backlog: When this is enabled, arbitrage orders which are failed or cancelled will be automatically moved to your backlog. We recommend using this feature as not all buy and sell orders will be filled immediately. It also shows which orders usually don't get filled and helps you determine which coins to trade.

  • Automatic match backlog: When this setting enabled, arbitrage orders moved to the backlog will be automatically matched together if it will result in a correct and successful match, i.e. same amounts, same price or profitable.

  • Revert cancelled orders: Select this option if you want to revert cancelled and failed arbitrage orders. For example, if a sell is successful and a buy order is cancelled, then the buy order will be placed again at a different price and the profit/loss will be recalculated.

Step 7: Selected markets You will need to configure which coins your Hopper will trade for Arbitrage. The coins will only appear as loaded after you save. Next, select the markets you want to trade. Remember that you need funds in the base currency of these markets and the coins you're choosing, otherwise your Hopper can't perform the Arbitrage. Click the save button again.

Before you choose the trading pairs you would like to trade, it's useful to configure a paper trading hopper first to find out which trading pairs often offer trading opportunities.

Remember: when you select very illiquid trading pairs, it increases the chances that your trades won't be filled and that you will be left with "bags". Additionally, using market orders on low volume coins can result in big losses as your orders can fill a significant part of the order book.

Example of Market Arbitrage trades

The following screenshot shows completed arbitrage trades on KuCoin. It's recommended to check the Hopper output for information about your trades. It will show reasons why the bot is or isn't executing trades.

The Dashboard always shows market arbitrage orders are open.

Check the backlog positions as well. There are several reasons why the Hopper shows trades in the backlog. The most common reasons are limit orders not being filled or not enough funds to perform the trade. When clicking on "info", you can revert the order or remove it from your backlog.

Further down on the Dashboard, you can see which opportunities there are.

We have also created a Troubleshooter article that details what issues could prevent your Hopper from starting to trade.

Arbitrage Dashboard#

Remember that you need funds in the base currency and the coins that you have selected. If you're using exchange arbitrage, then you need it even on all connected exchanges! If you're paper trading, deposit all those simulated funds on your paper exchange(s).

Look out for these sections on your Arbitrage Dashboard:

  1. Open orders. The open orders dashboard lists all the active orders that are currently being used by the Hopper. If the Hopper is in the middle of an arbitrage trade, it will show it here too.

  2. Open exchanges markets and backlog. This will list all current open exchange arbitrages, the open market arbitrages, and backlog items in your Hopper.

  3. Hoppers enabled / disabled. You can enable or disable exchange/market arbitrage here, depending on what kind of arbitrage you'd like to use.

  4. Latest arbitrages. The latest arbitrages dashboard shows you what trades were made, and if they were successful or not.

  5. Exchange arbitrage results. Your Hopper will scan the markets for Arbitrage opportunities and display the results here, so you can judge if your settings are too tight and if your Hopper is properly configured.

  6. Market arbitrage results. Your Hopper will scan the markets for Arbitrage opportunities. It will show what it has found here, so you can judge if your settings are too tight and if your Hopper is properly configured.

  7. Manual order. This is handy if you don't have enough funds of a certain currency. Place your manual order here so that your funds are sufficient in all selected markets.

  8. Totals in assets on exchange.. Last, but certainly not least,see what's on your exchange and if you've made a profit. Reset the balances when you start. It's the best way to track profits.


Last updated on

Was this article helpful?


Start trading with Cryptohopper for free!

Free to use – no credit card required

Let's get started
New apps coming soon!