Home › Bots & Tools › How to Test a Bitcoin Arbitrage Bot Before Risking Real Money
How to Test a Bitcoin Arbitrage Bot Before Risking Real Money
To test a bitcoin arbitrage bot, run three stages: log real spreads on paper using your actual fee tier, trade tiny live sizes with hard loss limits, then reconcile every fill against exchange statements. Pass only if net profit after all costs, failed legs included, is positive across different market conditions.
Stage 1: Paper test with real data
Before the bot touches money, record what it would have done.
- Pull live order-book data from both exchanges, not just last-trade prices.
- For each candidate gap, compute the average fill price for your intended size by walking the book.
- Apply your real fee tier and a conservative slippage allowance.
- Record the outcome and the time.
After a few weeks you will know how often net-positive gaps appear, how big they are and at what times of day. Backtesting on historical candles is far less reliable for arbitrage, because candles hide the depth and latency that decide whether you could have traded. If the paper test shows almost no positive trades, stop here and save the licence fee. The cost context is in what a bitcoin arbitrage bot costs.
Stage 2: Small live trials
If the paper results are encouraging, go live with a small fraction of intended capital. The goal is not profit but verification of mechanics.
- Use API keys that can trade but not withdraw, restricted by IP if the exchange allows.
- Set the smallest trade size that still exceeds minimum order limits and fixed fees.
- Set a daily loss limit that you can accept losing entirely.
- Watch the first trades live.
CryptoMEV Bot’s Bitcoin arbitrage page describes configurable parameters and stop-loss and position controls. Use the smallest parameters and verify that each control actually does what the vendor says by triggering it on purpose.
Stage 3: Reconcile everything
For every live trade compare four things: what the bot’s log says, what the exchange statement says, what you expected from the paper model, and the resulting balance change.
| Check | What a mismatch suggests |
|---|---|
| Fill price differs from logged price | Slippage model too optimistic or stale data |
| Fee differs from expected | Wrong fee tier assumed |
| One leg missing | Failure handling gap |
| Balance does not reconcile | Unrecorded fee, transfer or bug |
Key takeaway: a bot that earns on its own dashboard but not in your exchange balances has not earned anything.
What to test deliberately
Do not wait for problems to appear. Provoke them in a small, safe way.
- API failure. Revoke a key briefly or disconnect the network and watch what the bot does with an open leg.
- Stale data. Pause one price feed and confirm the bot stops rather than trading on old quotes.
- Order rejection. Use a balance too small for an order and check how the failure is handled.
- Kill switch. Confirm you can stop trading instantly and see the state of open positions.
- Rebalancing. Run one rebalance transfer and record the cost and time.
These match the risks the vendor itself acknowledges: API downtime and sudden price moves during execution. More failure scenarios are in bitcoin arbitrage risks.
Pass and fail criteria
Write them down before you start so you cannot move the goalposts.
- Pass: net profit positive after exchange fees, slippage, rebalancing and software costs, over at least one calm and one volatile period; no unexplained balance differences; all controls verified.
- Fail: any unexplained loss, a failed leg that the bot did not manage, or profit that depends on a handful of outlier trades.
- Inconclusive: too few trades to judge. Extend the test.
Documentation to keep
Keep a spreadsheet with date, exchanges, side, size, expected and actual price, fees, net result and notes. You will want it for evaluating the bot and for tax records. It also guards against the common bias of remembering wins and forgetting small losses.
When a vendor will not help
A reasonable seller can answer questions about supported exchanges, how failed legs are handled and what the terms say. The vendor publishes terms and a disclaimer, and it lists a contact email on its pages. If you cannot get specific answers, treat that as information. Compare other products using the criteria in bitcoin arbitrage trading software.
Scale slowly
Even after a pass, increase size in steps, keep monitoring and re-run the reconciliation each time you change parameters. Markets change, and an edge that worked last month may not exist next month. This is education, not advice, and trading can lose money.
A sample two-week test plan
Plans are easier to follow when they are concrete. Here is one layout; adjust the durations to your situation.
| Days | Activity | Success signal |
|---|---|---|
| 1-5 | Paper log only, no orders | At least some net-positive candidates at your fee tier |
| 6-7 | Review, set thresholds and limits | Written pass and fail criteria |
| 8-11 | Live, minimum sizes, watched | Fills match logs, no unexplained balance gaps |
| 12-13 | Deliberate failure drills | Controls behave as described |
| 14 | Full reconciliation and decision | Net positive after all costs, or stop |
Two weeks is short and may not include a volatile day, so treat a pass as provisional and keep going at small size. If the period was unusually quiet, extend it. The aim is to learn the system’s behaviour, not to hit a profit number.
Evaluating the vendor during the test
A test is also a chance to see how the seller behaves. Ask a support question that has a definite answer, such as which exchange permissions the software needs, and note how long the answer takes and whether it is specific. The retail tier on the vendor’s Bitcoin arbitrage bot page lists community support, so set expectations accordingly. Also read the vendor’s Binance arbitrage page if you plan to use that exchange, because features differ by market, and make sure what you test is what you will run.
Common ways tests mislead
- Too short a window. A calm week hides the failure cases of a volatile one.
- Survivorship. Counting only the trades the bot completed and ignoring those it skipped for good reasons, or failed to complete.
- Rounded fees. Using 0.1 percent when your tier says 0.16 percent.
- Ignoring idle capital. A strategy that earns 0.5 percent a month on capital that sat unused most of the time is not as good as it looks.
- Testing in one direction. If your inventory only supports selling on one exchange, you tested half the strategy.
When the test is over, write down what you learned, even if the answer is to walk away. The same notes will help you compare other tools later using the scorecard in bitcoin arbitrage trading software.
Frequently asked questions
How do I test an arbitrage bot safely?
Start with paper logging of real spreads, then run small live trades with strict loss limits, and reconcile every fill against exchange statements.
How long should I test a bitcoin arbitrage bot?
Long enough to see calm and volatile conditions, which usually means weeks rather than days. There is no fixed number.
What is a pass criterion for an arbitrage bot test?
Positive net result after all fees and costs, with failed legs and downtime included, that you can reproduce across different market conditions.
Can backtesting prove an arbitrage bot works?
Not on its own. Historical data rarely captures order-book depth and latency, so live small-size testing is needed.