Crypto Arbitrage Explained [Tutorial]

Crypto Arbitrage Explained [Tutorial]

A magic "money" button and what makes Bitsgap different from other platforms?


You have most likely already encountered other arbitrage platforms that have promised you large and guaranteed earnings through cryptocurrency arbitrage, and all you have been asked to do is deposit money into the wallets of these services.

At the same time, you have not been given a detailed explanation on what will happen and how you will actually make a profit. Bitsgap arbitrage is standard mathematics and the fast execution of trades on exchanges. Moreover, the safety of your funds is guaranteed as the money never leaves your accounts. Here is a guide that will help you to understand the principles underlying the system.

We advise you to refrain from arbitrage if you have no trading experience. Bitsgap does not offer a "magic button" that will generate you profit on each click. Arbitrage requires you to be mindful, to have an accurate understanding of each step and to have a lot of time on your hands. We offer the most complete information about the price difference in the cryptocurrency markets and the working tool, and how effectively you will use them is entirely up to you.

Interface of the Bitsgap arbitrage system


A crypto trading pair always consists of a base currency and a quote currency, such as BTC (base currency) / ETH (quote currency).

  1. Buy exchange - This is the buy exchange where the price of the base cryptocurrency is always cheaper. You can filter out the exchanges you are interested in with a better purchase price
  2. Sell exchange - This is the sell exchange with a better price, the filter works just as in number 1
  3. Balance to be used - This is the function used to limit the volume of traded funds. For example, you have 1 BTC on your balance. The maximum size of an arbitrage trade allows it to be used fully, but you can choose to use only 10% of the balance and only 0.1 BTC will be used.  
  4. Search - Smart search allows you to filter the coins you are interested in. You can specify pairs such as BTC/USD or just BTC to find all combinations of Bitcoin and arbitrage, and you can specify any number of search items by separating them with a comma. Example "BTC, LTC/ETH, XRP, XLM/USDT"
  5. Pair - This is the cryptocurrency pair through which the arbitrage transaction takes place, also on this line you will see the buy and sell exchanges and the prices of the given pair on these exchanges.
  6. Profit - This is the profit you have made after the completion of this arbitrage transaction. The profit is calculated by taking into account each exchange and the standard taker fee. If your fee is lower than the standard fee, the profit from the arbitrage transaction will be even higher for you.
  7. Execution - This field is intended for displaying the "Trade" button or describing why you cannot execute this trade now.

How does arbitrage work on Bitsgap


Arbitrage is the purchase of cryptocurrency on one exchange where the price is low and then immediately selling it on another exchange where the price is higher.

The standard way of executing an arbitrage trade:
You buy currency on Exchange-1 and then transfer it to Exchange-2 for the purpose of selling it. Depending on how quickly the transaction is confirmed on the blockchain and the time of processing the withdrawal of funds by the exchange, the transfer can take from 3 hours to a minute. The problem with this method is that the arbitrage opportunity may be completely exhausted during the transaction.

Executing an arbitrage trade with Bitsgap
Lightning fast execution of the arbitrage transaction in case of availability of the quote currency at the buy exchange and the availability of base currency at the sell exchange, as well as the availability of necessary volumes.  

Imagine that you are making a transaction through the BTC / USDT pair with a volume of 0.1 BTC on Kraken > Bitfinex. You already have the USDT needed to buy 0.1 BTC at a lower price on Kraken and also have the 0.1 BTC on Bitfinex for which it will be sold in USDT at a higher rate. This means that there is no need to wait until the bitcoin from Kraken reaches Bitfinex because you already have the necessary volume. It means that you can make the transaction, rebalance the funds and repeat the transaction again.

After clicking the Trade button, Bitsgap will send 2 limit orders:

1. 0.1 BTC buy order for USDT will be sent to Kraken
2. 0.1 BTC sell  order in USDT will be sent to Bitfinex

In case of success (and in most cases successful trades will be made on both exchanges) we will consider this trade as completed and the information about it including the amount of profit will show up in the History section.

Rebalancing after the crypto/crypto arbitrage


After the transaction is completed, your balance must be rebalanced to repeat the transaction.

The safety and security of your funds are of utmost importance to us. All transactions take place via API, where withdrawal of funds is disabled, so we do not have access to them. Therefore, we do not have any technical capacity to perform automatic rebalancing and withdrawal of funds from your accounts. Due to this, the rebalancing of the funds is entirely your responsibility.

In case you have used a crypto/crypto trading pair, there should be no additional questions regarding the rebalancing. Taking into account the example of a trade above, you need to do the following:

1. Transfer USDT received from the BTC sale from Bitfinex to Kraken
2. Transfer BTC received from the purchase for USDT from Kraken to Bitfinex

Rebalancing after a crypto-fiat arbitrage


Fiat currency is any currency that has been declared by the government as a legitimate means for payment (EUR, USD, GPD, etc)


If you have used a crypto/fiat trading pair, then the rebalancing can be a time-consuming process. The recommended method is to transfer the fiat currency to a bank account from the exchange. You need to do the following:

  1. Transfer the cryptocurrency purchased by fiat from the buy exchange to the sell exchange.
  2. To transfer the money received from the arbitrage trade from the exchange to the bank account. This process takes 1-5 days and different exchanges can charge a commission ranging from $10 to $60, which you need to take into account in calculating the final profit.
  3. Once the money has been credited to your bank account, you can transfer it to a buy exchange for a repeat arbitrage trade.


Given that arbitrage with the fiat trading pairs turns an average profit of 2-2.5%, and that exchanges can charge $60 for the transfer of money to the bank, we recommend that you use a minimum of $10,000 to work with this type of arbitrage. With this amount you will receive approximately $150-250 per each arbitrage cycle.


Although the arbitrage solution provided by Bitsgap allows you to execute transactions almost instantly, there are some problems you may face during the process:

  1. We cannot guarantee 100% execution of arbitrage transactions as during the transaction process there can be a lot of problems such as the lack of necessary rights for trading on your API keys, temporary technical maintenance on one of the exchanges, unavailability of the API service, lack of necessary volume, which could happen if someone has managed to make a deal on this lot before you. You may find yourself in a situation where the deal was successfully executed on one of the exchanges, but something went wrong on the second.
  2. Bitsgap does not have the technical capability to verify whether deposits / withdrawals are turned on the exchanges, as such information is not transmitted through the API. Therefore, you need to manually check whether the exchange has disabled the option of depositing and withdrawing the base and quote currency for your arbitrage pair. Otherwise, there is a risk you may be ‘stuck’ with one currency.
  3. There may be periodic problems with certain coins, as different exchanges use different blockchains/protocols for the same coin, which makes rebalancing impossible. Bitsgap does not have access to such data, so you are solely responsible for checking this coin. (For example, the popular USDT cryptocurrency has 2 protocols: Omni and ERC-20).

Messages you may see instead of the Trade button


Please add {exchange} API key to trade - in this case, you have not enabled the API key {exchange} of the participating arbitrage trade. Go to the My exchanges section and add the desired exchange if you have one.

Please add {coin} to {exchange} balance - this error tells you that you do not have the coin on the exchange that is required for executing the trade

Unable to complete arbitrage deal. Balance is less than 15.00 USD. - We have set the minimum value of a trade to be executed at $15, which means that you must have the necessary coins for that amount on each of the exchanges.

Process of making the trade



As demonstrated in the screenshot above, all the conditions were met to execute an arbitrage deal through the XMR/USD pair. On Kraken we have the necessary amount of USD, and on Bitfinex we have XMR, so we have a TRADE button and we can perform the arbitrage.


After clicking the Trade button you will see messages that both orders have been sent to the exchange (order created). In case of a successful execution, you will see the order completed messages.

Errors in the process of arbitrage


  • If something goes wrong, you'll see an error message, for example: "Order failed: your api key read only", which means that you have not allowed trading through the added API key and you need to check its settings.
  • If you see only one order completed message and the second message does not appear within 5-10 seconds, it means that some of the orders have not been executed and are "stuck" on the exchange (for example, partially executed). This is possible if the orderbook on the exchange did not have the necessary volume for the execution of the trade.
  • In this case, you simply have to wait until the volume required to complete the transaction at the price required to complete the transaction. Alternatively, you can cancel the stuck order and then sell back the purchased cryptocurrency on the buy exchange. At the same time, you may lose double fees for buying and selling this currency.


Successfully completed trades are displayed on the History page, where you will be able to see all the data, including the profit received from the trade.

The profit is always displayed in the quote currency.

Check-list prior to making a deal


  • Sort by exchanges where you have the funds to do an arbitrage
  • Make sure you have sufficient funds to perform the operation
  • Go to the exchanges and make sure that there is a possibility to withdraw funds for further rebalancing
  • Check withdrawal fees and make sure that this currency is now available for withdrawal from the exchange
  • Make sure that coin you selected have the same blockchain on other exchange

Are you prepared to do arbitrage?


To test yourself, answer the following questions:

  1. In the XLM/ZEC pair, which is the quote currency and which is the base currency?  
  2. Which of the currency trading pairs should be on the sell exchange and which one should be on the buy exchange?
  3. In which currency the profit from a successful execution of the arbitrage transaction is calculated?
  4. How much money do I need to have on my balance for crypto/crypto arbitrage and crypto/fiat arbitrage?
  5. How much can you earn per month with €10,000 in crypto/fiat arbitrage, given that the profit is 2,5% and withdrawal from the exchange takes 5 days?
  6. Who does the rebalancing of the funds in your accounts?
  7. What does the following error mean? - "Unable to complete arbitrage deal. Balance is less than 15.00 USD"
  8. Are fees included in the displayed arbitrage profits? If so, which one of the options is correct:

- The maker fee on the buy exchange is included
- The taker fee is included
- Standard taker fees on both exchanges are included

If you find it difficult to answer any of these questions, you are not yet ready to make arbitrage trades. We highly recommend you to pay attention to the Bitsgap Trading Bot as it is an easier way to make profit in the cryptocurrency market automatically and in the shortest time possible.

Ready to bring your crypto to the new level?

Bitsgap is an all in one tool to trade and manage your cryptocurrency.

Get started free