+380 (95) 658 67-78
UA RU EN

Not sure what to choose?

Describe your task and we will help you find a solution.

+380 (95) 658 67-78
All services — 6 areas · 25 servicesNavigation ↑ ↓ · Close Esc
All articles — Development, support and security from our team's experienceNavigation ↑ ↓ · Close Esc

Spreadscan: crypto arbitrage screener

A service for cross-exchange crypto arbitrage. It finds coins priced differently on different exchanges and opens a trade on two exchanges at once.

Client
Spreadscan
Industry
Crypto, cross-exchange arbitrage
Project type
Web service

Order a project

Spreadscan: crypto arbitrage screener

01Task

Cross-exchange arbitrage means profiting from the price difference of the same coin on different exchanges. In futures arbitrage, a trader simultaneously opens a long position on the exchange where the price is lower and a short position where it is higher. When the prices converge, both positions are closed and the spread is captured as profit. No coins are transferred between exchanges. The client needed a service that finds such discrepancies across all exchanges on its own and shows the price difference for the actual trade amount, not just the price on the screen.

02Solution

The server continuously receives futures prices from exchanges and matches the same coin across different venues. Two exchanges trading the same coin form an exchange pair. Every second, the service recalculates the pairs whose prices have changed.

The service calculates the price difference (spread) not from the top quote alone but from the orders in the exchange order book for the selected amount, minus fees. This shows the price at which a trade will actually be filled. Next to it is the funding rate: periodic payments between long and short position holders that affect the trade's outcome.

To avoid treating different coins as the same one, the service matches them by contract address. If a price on an exchange is stale or looks suspicious, the pair is flagged and no trade can be opened on it.

Each pair has a card with a price difference chart. From the card, a trade is opened on two exchanges at once: a buy on one and a sell on the other. The server closes the trade automatically at the preset take-profit or stop-loss level, places emergency stop orders on the exchanges to guard against liquidation and reconciles positions with the exchanges.

A new strategy can be tested without risk in paper trading: practice trades are calculated the same way as real ones, but without money.

What we did. We developed a cross-exchange arbitrage service: price discrepancy scanning across all exchanges, an exchange pair card with a chart, trading on two exchanges at once, paper trading and notifications.

03Design

Dark terminal for working with numbers

The interface uses a dark theme familiar from trading terminals. Numbers are set in a monospace font, so the digits line up evenly in columns.

Green and red mark buying and selling on each exchange and the sign of the price difference, while yellow marks active elements and action buttons.

Brand colors

#EEB84F#0A0A0A#32D97F
04

Spread table across all exchanges

All price discrepancies found, in one table: exchanges, prices, trading volume, price difference for the trade amount and funding. Filters by exchange, spread size and volume.

Spreadscan: crypto arbitrage screener: Spread table across all exchanges
05

Exchange pair card

A chart of the price difference between two exchanges, current prices and a panel for opening a trade on both exchanges at once.

Spreadscan: crypto arbitrage screener: Exchange pair card
06

Trades and paper trading

A history of real trades with the result of each, plus practice trades for testing a strategy without money.

Spreadscan: crypto arbitrage screener: Trades and paper trading
Spreadscan: crypto arbitrage screener: Trades and paper trading
07

Trading settings

The trade amount limit, the amount used to calculate the spread and the connected exchanges. Exchange access keys are stored encrypted.

Spreadscan: crypto arbitrage screener: Trading settings
08

Spread alerts

The service sends a Telegram message when the price difference for a pair reaches the set level.

Spreadscan: crypto arbitrage screener: Spread alerts

09Result

The service runs on a dedicated server and tracks thousands of exchange pairs at once. A trader sees the real price difference for their trade amount, checks the pair on the chart and opens a position on two exchanges from one window. Notifications about the target price difference and data collection failures arrive in Telegram.

Exchanges, data and notifications

  • Crypto exchange APIs
  • WebSocket price streams
  • Coin registry
  • Telegram

Technologies and timeline

Node.js, ccxt, WebSocket, ClickHouse, SQLite, Docker, systemd, Caddy, TradingView Lightweight Charts, Telegram Bot API.

The next one could be yours

Need a similar project?

Tell us about your task — we will discuss it and prepare a proposal.

11Contact

Tell us
about your task

Describe your project or a problem with your website. We will contact you during business hours, clarify the details and prepare a proposal with stages, timeline and cost.

  1. 01We contact you
  2. 02We discuss the task
  3. 03We prepare a proposal

Project request

Mon–Fri 9 AM–6 PM
What you need

By clicking the button, you agree to the privacy policy