Skip to content
ArthaQuant

Cross-exchange crypto arbitrage

Crypto · sample build

A real-time engine that watches order books across exchanges and acts only when the spread survives fees and transfer time.

Cross-exchange crypto arbitrageBTC-USDT · simulated
VenueBidAskTaker fee
Binance68330.468340.70.10%
Coinbase · buy68331.468336.50.40%
Kraken · sell68366.068373.30.26%
Bybit68353.268360.30.10%
OKX68358.268371.80.08%
Gross spread
4.3 bps
After fees
-61.7 bps · skip

The problem

Price gaps between exchanges look like free money until fees, slippage and withdrawal delays are counted. The client needed to know which gaps were real.

The approach

Streamed order books over WebSockets into one normalised view, modelled the full cost of each round trip and routed orders only when the net edge cleared a threshold.

How it was tested

The cost model was checked against real fills before any opportunity was trusted: fees at the client’s actual tier, order-book depth at the moment of the signal, and measured transfer times between exchanges. The engine then ran in observe-only mode, logging every spread it would have taken, before trading with small size.

What was handed over

Order-book aggregator, cost model, execution engine with per-exchange limits, and a dashboard of opportunities seen versus taken.

Stack

  • TypeScript
  • Node.js
  • Redis
  • WebSocket
  • Docker

All example builds