Skip to main content
Arbitrage Trading Bot
Updated over a week ago

What is the Arbitrage Bot and its benefits?

The Crypto.com Arbitrage Bot is a trading bot designed for eligible traders to engage in sophisticated arbitrage strategies between perpetual contracts and the corresponding spot trading pair. The Arbitrage Bot currently supports both positive carry - a long spot and short perpetual contract strategy, and reverse carry - a short spot and long perpetual contract strategy, as described further in the Examples section below. It potentially allows traders to collect the funding fee from the funding rate mechanism built into the perpetual contracts while hedging the market risk with the same underlying.

Eligbility

Arbitrage Bots involve spot and perpetual futures pairs. Users who are not based in the locations here can create an Arbitrage Bot.

For trading pairs available, please refer to the Trading Bots landing page for the most updated list.

Key points to consider before creating an Arbitrage Bot

Regardless of whether the strategy selected is positive carry or reverse carry, both involve two trades:

  1. Positive carry: a long spot trade + a short perpetual contract trade

  2. Reverse carry: a short spot margin trade + a long perpetual contract trade

To ensure the successful build-up of both legs, please ensure you have:

  1. Sufficient wallet balance to complete the trades listed above, else the individual trading leg may be rejected by the system.

  2. Sufficient margin balance to support the short positions taken, to minimize chances of margin calls or liquidations.

The Arbitrage Bot does not make frequent trades. It executes the two-leg (spot and perpetual) trades, and there are no further trades until the user decides to unwind the perpetual positions or the spot assets are sold.

How do I create an Arbitrage Bot?

  1. In the Trading Bots page, tap Create a Bot on a set of trading pairs (a perpetual + a spot pair) you would like to deploy the Arbitrage Bot on.

  2. Fill out the following parameters:

    1. Trading Pair combination

    2. Funding amount - The amount you would like to buy/sell in quote currency

  3. Tap Proceed and the bot parameters will be finalized. You will receive a confirmation prompt for your new bot. Additionally, you can name your bot if you would like to.

  4. Review your bot parameters, and read the Exchange Terms and Conditions, Derivatives Terms and Conditions, Trading Bot Risk Warning and these Arbitrage Bot FAQs in full. Confirm that you have read and agree to the above after reviewing them.

  5. You have successfully created an Arbitrage Bot. You may view its full details under Dashboard > My Bots > Arbitrage Bot.

How do I view my Arbitrage Trading Bots?

  1. To view all your trading bots, navigate to your Dashboard. Here, you will see a snapshot of your active trading bots.

  2. To view your Trading Bot(s) specifically, navigate to Bots > Arbitrage. There is also an option to filter Trading Bots that are Active, Paused, or Ended.

  3. If there is an Arbitrage Bot that you would like to view in greater detail, simply click the bot’s row. Here, you will be able to see the bot’s full transaction history.

How can I unwind my Arbitrage Bot?

To terminate the bot, follow these steps:

  1. Go to Dashboard > My Bots > Arbitrage

  2. Select an Arbitrage Bot with a Filled status and tap Unwind

  3. A confirmation prompt will appear. Tap Confirm to unwind your position(s).

    Important Note: By clicking Confirm, you agree to unwind both legs of the bot based on your initial strategy and transaction history. Unwinding does not account for changes resulting from positions taken on trading pairs outside the bot’s initial legs, including buy or sell orders placed between the bot’s creation and unwinding. Please review your transaction history in detail before proceeding.

  4. After reviewing the details, click Confirm

How can I cancel my Arbitrage Bot?

To cancel an Arbitrage Bot, follow these steps:

  1. Go to Dashboard > My Bots > Arbitrage

  2. Select an Arbitrage Bot with a Working status and tap Cancel

  3. A confirmation prompt will appear. Review the details and tap Confirm to cancel all open orders under the Arbitrage Bot.

    Important Notes:

    • By clicking Confirm, you agree to unwind both legs of the bot based on your initial strategy and transaction history. Unwinding does not account for changes resulting from positions taken on trading pairs outside the bot’s initial legs, including buy or sell orders placed between the bot’s creation and unwinding. Please review your transaction history in detail before proceeding.

    • Cancelling the bot terminates all open orders on both legs, but order quantities that are partially or fully filled will remain in your wallet. These orders are not unwound automatically, and you are responsible for any remaining positions.

  4. After reviewing the details, click Confirm

Arbitrage Bot trading examples

Positive carry strategy

Spot trading:

  • BTC/USD Price: $30,000

Perpetual Contract Market:

  • BTCUSD-PERP Price: $30,050

  • Funding Rate: 0.0013% every hour

  1. Initial Setup:

    • Buy 1 BTC on the spot market at $30,000.

    • Short 1 BTCUSD-PERP contract at $30,050.

  2. Daily Funding Payment:

    • If the funding rate remains at 0.0013% every hour, you will receive funding payments because you are shorting the perpetual futures contract.

    • Daily funding received = 0.0013% * $30,050 * 24 (since funding is paid every hour) ≈ $9.37.

  3. Arbitrage Profit Calculation:

    • Spot Market ment: $30,000

    • Short Futures Proceeds: $30,050

    • Daily Funding Received: $9.37

  4. Price Convergence:

    • If the prices converge to $30,025 the next day, you can close the positions:

      • Sell the spot BTC at $30,025.

      • Buy back the BTCUSD-PERP contract at $30,025.

  5. Final Profit:

    • Spot Market Sale: $30,025 - $30,000 = $25 profit.

    • Futures Buy Back: $30,050 - $30,025 = $25 profit.

    • Total Profit: $25 (spot) + $25 (futures) + $9.37 (funding) = $59.37.

Reverse carry strategy

Spot Market:

  • BTC/USD Price: $30,000

Perpetual Futures Market:

  • BTCUSD-PERP Price: $29,950

  • Funding Rate: -0.0013% per hour

  1. Initial Setup:

    • Short 1 BTC on the spot market at $30,000 via a margin order.

    • Buy 1 BTCUSD-PERP contract at $29,950.

  2. Daily Funding Payment:

    • If the funding rate remains at -0.0013% every hour, you will pay funding payments because you are long on the perpetual futures contract.

    • Daily funding received from long futures = abs(-0.0013%) * $29,950 * 24 ≈ $9.35.

  3. Arbitrage Profit Calculation:

    • Spot Market Proceeds: $30,000

    • Long Futures Cost: $29,950

    • Daily Funding Received: $9.35

  4. Price Convergence:

    • If the prices converge to $29,975, you can close the positions:

      • Buy back the spot BTC at $29,975.

      • Sell the BTCUSD-PERP contract at $29,975.

  5. Final Profit:

    • Spot Market Buy Back: $30,000 - $29,975 = $25 profit*.

    • Futures Sale: $29,975 - $29,950 = $25 profit.

    • Total Profit: $25 (spot) + $25 (futures) + $9.35 (funding) = $59.35.

    • *note: the profit figure does not factor in the margin interest cost incurred from the spot margin trade.

Does the Arbitrage Bot have any fees or charges?

There are no additional fees or charges for using the feature.

Standard Spot and Derivatives trading fees apply for trades executed by the Arbitrage Bot, and will be deducted from your Exchange Wallet.

If the wallet lacks sufficient funds, the fees will be deducted from your Funding Amount.

What are some risks associated with the Arbitrage Bot?

Adverse funding rates

In the case of a long-spot and short-perps trade (positve carry strategy), positive funding rate allows users to earn funding fee as on the futures side, the long pays the short holders the funding fee. However, it is also possible that the funding rate may be negative. When the funding rate turns negative, on the futures side, now the short pays the long holders a funding fee. The opposite is true for a short-spot and long-perps trade (reverse carry strategy). The bot might end up holding positions that are no longer profitable, leading to losses over time as the cost of holding these positions outweighs the potential gains from funding fees, which may even lead to liquidations and loss of the funded assets or more. Thus, once your Arbitrage Bot orders are executed, you are advised to closely monitor the funding rates for your perps position to manage this risk.

Session settlements & margin interest cost

Each instruction using the Arbitrage Bot includes a perpetual contract leg. At the end of each hour, all open perpetual positions will be marked to market. If an open position has positive profit, it will be added to the wallet balance; conversely, if negative profit, it will be deducted from the wallet balance. The same debit also applies to any margin interest incurred.

Constant flow of deductions from negative profit settlements may erode your margin balance over time or even cause negative balances that incur interest to be payable, which may result in liquidations if you fail to post additional collateral as required. You will see a notification in your Crypto.com Exchange Wallet when you are on Margin Call to advise you to top up or manage your leveraged position to avoid liquidation.

Quantity mismatch risk

When the Arbitrage Bot executes the spot and perps orders, it is possible that the underlying quantity could be mismatched between spot and derivatives, causing market exposure to either side of the trading strategy, resulting in losses. Some examples include:

  1. Fee currency difference: the fee currency on spot is charged on the ending currency, while for derivatives, it’s on USD.

    1. If BTC/USD and BTCUSD-PERP both traded at $60,000 now and fee rate is 0.1%, the trader went long 1 BTC on BTC/USD and short the same quantity on BTCUSD-PERP, the ending BTC balance or position value will be:

      1. spot BTC balance = 1 BTC * (1 - 0.1%) = 0.999 BTC

      2. perpetual contract quantity = 1 BTC

      3. The difference in quantity between spot and perpetual contract = 1 BTC - 0.999 BTC = 0.001 BTC, meaning the trader’s portfolio is subject to price moves from the net short position of 0.001 BTC.

  2. Difference in execution progress between spot and perpetual contract: during the build-up of positions on both legs, if either leg got filled earlier than the other leg, then during that timeframe, the trader is exposed to the market risk.

  3. Orders rejected by system/risk engine when under margin call, insufficient wallet balance, position or leverage limits are breached, or other administrative measures. When Arbitrage Bot orders are rejected due to your account being under margin call, insufficient wallet balance, position or leverage limits being breached, or for any other reason, the bot will be automatically terminated, and you may need to manually trade/monitor positions to either match the quantity in both legs or exit them completely.

Spot vs. Perpetual mark price divergence (basis risk)

In certain scenarios such as extremely volatile markets, the imperfect correlation between the price of the perpetual contract and the spot trading pair could result in liquidations in users' accounts. When creating a bot, we recommend looking for opportunities to enter when the price divergence is large and exit when the price gap narrows to reduce this part of cost.

Legal and regulatory changes

You may be restricted from using the Arbitrage Bot due to restrictions on certain tokens, or restrictions on spot or derivatives trading as a result of new legal or regulatory changes.

Did this answer your question?