Spreadscan — скринер для арбітражу криптовалют
Сервіс для міжбіржового арбітражу криптовалют — знаходить монети, які на різних біржах коштують по-різному, і відкриває угоду одразу на двох біржах.
- Клієнт
- Spreadscan
- Галузь
- Криптовалюти, міжбіржовий арбітраж
- Тип проєкту
- Вебсервіс

01Задача
Міжбіржовий арбітраж — це заробіток на різниці ціни однієї й тієї самої монети на різних біржах. В арбітражі ф’ючерсів трейдер одночасно купує ф’ючерс на біржі, де він дешевший, і продає на біржі, де він дорожчий. Коли ціни зближуються, обидві позиції закривають і забирають різницю. Монети між біржами при цьому не переказуються. Потрібен був сервіс, який сам знаходить такі розбіжності на всіх біржах і показує різницю цін для реальної суми угоди, а не лише за ціною на екрані.
02Рішення
Сервер постійно отримує ціни ф’ючерсів із бірж і знаходить одну й ту саму монету на різних майданчиках. Пару бірж з однією монетою називають зв’язкою. Щосекунди сервіс перераховує зв’язки, у яких змінилися ціни.
Різницю цін (спред) сервіс рахує не за однією найкращою ціною, а за заявками в біржовому стакані на обрану суму та за вирахуванням комісій. Так видно, за якою ціною насправді виконається угода. Поруч показано фандинг — регулярні виплати між покупцями й продавцями ф’ючерса, які впливають на підсумок угоди.
Щоб не сприйняти різні монети за одну, сервіс звіряє їх за адресою контракту. Якщо ціна на біржі застаріла або виглядає підозріло, зв’язка позначається, і відкрити угоду на цій зв’язці не можна.
Для кожної зв’язки відкривається картка з графіком різниці цін. З картки угода відкривається одразу на двох біржах: купівля на одній і продаж на іншій. Сервер сам закриває угоду, щойно досягнуто заданого прибутку або збитку, виставляє на біржах аварійні стоп-ордери для захисту від ліквідації та звіряє позиції з біржами.
Нову стратегію можна перевірити без ризику у віртуальній торгівлі: тренувальні угоди розраховуються так само, як реальні, але без грошей.
Що зробили. Розробили сервіс для міжбіржового арбітражу — пошук розбіжностей цін на всіх біржах, картку зв’язки з графіком, торгівлю одразу на двох біржах, віртуальну торгівлю та сповіщення.
03Дизайн
Темний термінал для роботи з цифрами
Інтерфейс виконано в темній темі, звичній для торгових терміналів. Цифри набрано моноширинним шрифтом, тому розряди стоять рівно в колонках.
Зеленим і червоним позначено купівлю й продаж на кожній біржі та знак різниці цін, жовтим — активні елементи й кнопки дій.
Кольори бренду
Таблиця спредів на всіх біржах
Усі знайдені розбіжності цін в одній таблиці — біржі, ціни, обсяг торгів, різниця цін на суму угоди та фандинг. Фільтри за біржами, розміром різниці та обсягом.

Картка зв’язки
Графік різниці цін між двома біржами, поточні ціни та панель, з якої угода відкривається одразу на обох біржах.

Угоди та віртуальна торгівля
Історія реальних угод з результатом кожної та тренувальні угоди, на яких стратегію перевіряють без грошей.


Налаштування торгівлі
Ліміт суми угоди, сума для розрахунку спреду та підключені біржі. Ключі доступу до бірж зберігаються в зашифрованому вигляді.

Сповіщення за спредом
Сервіс надсилає повідомлення в Telegram, коли різниця цін у зв’язці досягає заданого рівня.

09Результат
Сервіс працює на виділеному сервері й одночасно відстежує тисячі зв’язок. Трейдер бачить реальну різницю цін для своєї суми угоди, перевіряє зв’язку за графіком і відкриває позицію на двох біржах з одного вікна. Сповіщення про потрібну різницю цін і про збої збору даних надходять у Telegram.
Біржі, дані та сповіщення
- API криптобірж
- Потоки цін через WebSocket
- Реєстр монет
- Telegram
Технології та строки
Node.js, ccxt, WebSocket, ClickHouse, SQLite, Docker, systemd, Caddy, TradingView Lightweight Charts, Telegram Bot API.
Наступний може бути ваш
Потрібен схожий проєкт?
Розкажіть про задачу — обговоримо її та підготуємо пропозицію.
або зателефонуйте +380 (95) 658 67-78
11Контакти
Розкажіть
про задачу
Опишіть проєкт або проблему із сайтом. Ми зв’яжемося з вами в робочий час, уточнимо деталі й підготуємо пропозицію з етапами, строками та вартістю.
- 01Зв’яжемося з вами
- 02Обговоримо задачу
- 03Підготуємо пропозицію














