How to Set Up an Arbitrage Bot
Exploit price differences between trading pairs or markets to capture low-risk profits automatically.
An arbitrage bot hunts price differences between related markets and trades both sides. The spreads are small, they close fast, and fees decide whether the remainder is profit at all. Set the minimum profit threshold above your full round-trip cost or the bot will trade busily at a loss. Be honest about the edge before funding it. Spreads that survive fees are rare and short-lived, and a bot that trades constantly at a fraction below cost will lose money smoothly rather than dramatically.
Before you start
- Capital available on both legs simultaneously — an opportunity you cannot fund on one side is not an opportunity.
- A profit threshold calculated after fees, not before.
Create an Arbitrage Bot
Navigate to Trading Bots > Create Bot > Arbitrage. This bot identifies and executes trades when the same asset is priced differently across different pairs or when triangular arbitrage opportunities exist between three related pairs.
Select the Arbitrage Type
Choose between direct arbitrage (price differences on the same asset across different quote currencies) or triangular arbitrage (cycling through three pairs to capture pricing inefficiencies, e.g., BTC/USDT > ETH/BTC > ETH/USDT).
Set Minimum Profit Threshold
Configure the minimum profit percentage required before the bot executes a trade. This accounts for trading fees and slippage. A typical threshold is 0.1-0.5% net of fees. Lower thresholds capture more opportunities but with smaller margins.
Configure Capital and Risk Limits
Set the maximum amount per arbitrage execution and the total capital allocated. Also set a maximum number of trades per hour and a daily loss limit as safety controls.
Launch and Monitor
Start the bot and monitor from the dashboard. It shows: opportunities detected, trades executed, cumulative profit, average profit per trade, and any failed executions. Arbitrage margins are typically small but consistent, making volume the primary driver of returns.
If something goes wrong
- The bot trades often and the balance drifts down.
- The threshold is below the true cost. Raise it above the combined fees on both legs and any transfer cost between them.
- One leg filled and the other did not.
- That is execution risk, and it leaves an unhedged position. Tighter limits reduce the frequency; nothing removes it.
- The bot reports opportunities but rarely executes.
- By the time an opportunity is detected and acted on, it is often gone. That is the nature of the strategy rather than a configuration problem.
Frequently asked questions
- Is arbitrage risk-free?
- No. Execution risk, fees and funding costs are all real, and a half-filled arbitrage is simply a directional position you did not choose.
- What threshold is sensible?
- Above the total round-trip cost with a margin for slippage. Below that, activity is not profit.
- How much capital does it need?
- Enough to hold both legs at once. Spreads are thin, so returns scale with capital rather than with effort.
- How do I know my threshold is high enough?
- Compare realised profit against total fees over a full week. If fees exceed profit, the threshold is below your true cost.
- Does it work across exchanges?
- This bot operates within Midas markets. Cross-exchange arbitrage adds transfer time and withdrawal risk, which usually eat the spread.