Перейти к содержанию

ТЗ: DeFi Arbitrage Analyzer (черновик)

Автор: агент, 08.08.2026 (текущая задача DEF-01; прежний ID 44) Статус: черновик v0.1 — ждёт утверждения владельца Владелец: Роман Головин

⚠️ ЧЕРНОВИК. ТЗ написано агентом по общим паттернам DeFi-арбитража и контексту KB. Требует прочтения и правок под конкретную бизнес-модель. Особенно секции «Стратегии», «Риски», «Метрики» — их надо согласовать с реальным опытом трейдера.


1. Контекст и бизнес-задача

Что уже есть у пользователя: - Начинающий трейдер (уровень «уровни/поддержки») - Опыт P2P на Bybit (см. projects/crypto-p2p-exchange) - VPS Hostkey (используется как выход в интернет из РФ) - AmneziaVPN для доступа к заблокированным сервисам - Технический стек: Python, Node.js, Docker, Postgres

Что хочется: - Инструмент, который в фоне мониторит рынок и подсказывает арбитражные возможности — не автоматический трейд-бот, а именно аналитический помощник (сначала). - Data-driven принятие решений: не «наугад», а на цифрах. - Возможность позже дорастить до полу-автоматической торговли.

Что НЕ входит в MVP: - Автоматическое исполнение сделок (только уведомления) - HFT / арбитраж миллисекундного масштаба - Работа с фиатом напрямую (только крипта ↔ крипта) - Публичный сервис для других людей (только personal use)


2. Определение арбитражных возможностей

Три класса возможностей, за которыми смотрит analyzer:

2.1 · CEX-CEX арбитраж

Разница цены одного и того же актива на разных биржах. - Пример: BTC/USDT на Bybit — $65 000, на MEXC — $65 200. Спред 0.3%. - Проблема: комиссии + время депонирования съедают маржу - Реалистичный порог: 0.5-1% чистого спреда после всех издержек - Кандидаты в биржи: Bybit (уже есть аккаунт), MEXC, BingX, Gate.io, OKX. Все работают из РФ через VPN.

2.2 · Funding rate арбитраж (perp-spot)

Long/short позиции по фьючерсам + spot для нейтрализации рыночного риска. - Работает когда funding rate > 0.03% × 3 × 365 = ~33% годовых - Меньше зависит от волатильности - Требует: маржинальный аккаунт, понимание перп-фьючерсов

2.3 · Triangle арбитраж внутри одной биржи

Замкнутая цепочка обмена: USDT → BTC → ETH → USDT. - Реже даёт возможности (боты выедают за секунды) - Хорошо для обучения: показывает как биржа котирует cross-пары

Приоритет для MVP: 2.1 (CEX-CEX) — легче реализовать, легче понять.


3. Функциональные требования MVP

3.1 · Data collection (сборщик)

Что собираем: - Order book top-10 бидов и асков для каждой торговой пары - Спот-цены - Комиссии биржи (депозит, вывод, торговля) — редко меняются, обновляем 1 раз в день - Скорость подтверждения депозита/вывода — важно для CEX-CEX (если TRC20 подтверждается 30 сек, а BTC-сеть — 30 минут, окно закрывается)

Как собираем: - WebSocket-подписки на order book (Bybit, MEXC, BingX) - REST fallback для случаев когда WS падает - Rate limits: у Bybit 120 req/min, у MEXC 20 req/sec — уложиться

Где храним: - Postgres + TimescaleDB extension (для time-series данных) - Retention: order book snapshots — 7 дней; агрегированные спреды — 90 дней; найденные возможности — вечно

3.2 · Analyzer (движок)

Что делает: - Каждые 1-5 секунд пересчитывает CEX-CEX спреды для всех пар - Учитывает чистый спред: (price_high - price_low) / price_low - fee_taker × 2 - deposit_fee - withdrawal_fee - Проверяет ликвидность: спред не считается если объём в топ-3 бидах/асках меньше $500 - Проверяет доступность депозита/вывода: если Bybit временно отключил вывод USDT в TRC20 — пропускаем

Пороги: - Info — спред > 0.5% чистого (просто в логах) - Warn — спред > 1% (in-app уведомление в Perplexity) - Alert — спред > 2% (Telegram-пуш + звук)

3.3 · Alerts (уведомления)

  • Telegram-бот (свой, через @BotFather) — отправляет в приватный чат
  • In-app в Perplexity Computer через send_notification
  • Расписание: 24/7, но с настраиваемым «тихим часом» (например, 00:00-07:00 MSK — только Alert-уровень)

3.4 · UI (dashboard)

  • Простой web-интерфейс (React/Vite, интегрирован в alatyr-service или отдельно)
  • Реалтайм-таблица топ-20 текущих спредов
  • История найденных возможностей за последние 24 часа
  • Настройки: список отслеживаемых пар, пороги, включённые биржи

Опционально в MVP: ежедневный email-дайджест «Топ-10 возможностей за сутки».


4. Технический стек

Backend

  • Node.js/TypeScript — единый стек с alatyr-service
  • Bun или tsx для запуска
  • WebSocket клиентыws npm package
  • Крон-задачиnode-cron для периодических аудитов
  • Альтернатива: Python (asyncio + websockets) — но потянет второй стек

Data layer

  • Postgres 16 (тот же контейнер что для CRM, разные схемы)
  • TimescaleDB — расширение для time-series
    CREATE EXTENSION timescaledb;
    SELECT create_hypertable('orderbook_snapshots', 'ts');
    
  • Redis — для in-memory кеша топ-цен (последние 100 обновлений)

API-клиенты

  • ccxt — универсальная либа для всех бирж (Node.js + Python versions есть)
  • Плюсы: одинаковый интерфейс для 100+ бирж
  • Минусы: не всегда полная поддержка WebSocket (для WS часто нужны свои клиенты)

Инфра

  • Docker Compose на ragserver (192.168.1.200)
  • Один контейнер сборщика + один анализатор + Postgres + Redis
  • VPN — AmneziaWG для доступа к CEX API из РФ (сейчас Bybit, MEXC доступны, но нестабильно)
  • Мониторинг — Uptime Kuma (задача 28) следит за WebSocket-коннектами

Structure

/opt/defi-analyzer/
├── docker-compose.yml
├── .env
├── data/
│   ├── postgres/
│   └── redis/
├── collector/     # WebSocket-сборщик (Node.js)
├── analyzer/      # движок анализа спредов
├── notifier/      # Telegram + Perplexity уведомления
├── dashboard/     # React UI (опционально в MVP)
└── docs/
    └── strategies.md

5. Разработка — этапы

Этап 0 · Ресёрч (1 неделя, 5-10 часов)

  • Прочитать документацию API 3-4 бирж (Bybit, MEXC, BingX, Gate.io)
  • Изучить ccxt — какие биржи поддерживают WebSocket order book
  • Сделать таблицу комиссий (spot taker/maker, депозит, вывод) — важно для расчёта чистого спреда
  • Понять «горячие пары» — что торгуется много и волатильно (BTC/USDT, ETH/USDT, SOL/USDT, топ-10 альткоинов)

Этап 1 · MVP-сборщик (1 неделя, 10 часов)

  • Скелет TypeScript-проекта + docker-compose
  • Postgres со схемой для orderbook_snapshots
  • WebSocket-подписка на Bybit BTC/USDT
  • Дописать: MEXC, BingX (те же пары)
  • Логи + Uptime Kuma push URL

Этап 2 · Analyzer (3-5 дней, 8 часов)

  • Расчёт чистого спреда с учётом комиссий
  • Проверка ликвидности (топ-3 уровня стакана)
  • Пороги info/warn/alert
  • Запись найденных возможностей в БД

Этап 3 · Notifications (2 дня, 4 часа)

  • Telegram-бот через @BotFather
  • Формат сообщений (пара, спред, объём, ссылки на биржи)
  • «Тихий час» через настройки

Этап 4 · Dashboard (опционально, 1 неделя, 10 часов)

  • React/Vite базовый UI
  • Реалтайм через WebSocket от собственного backend
  • Nginx-прокси на defi.alatyr-service.ru

Этап 5 · Ретро и рефайн (1 неделя после первого месяца работы)

  • Анализ найденных возможностей: сколько реально исполнимо?
  • Настройка порогов
  • Расширение на новые биржи или новые стратегии (funding-rate арбитраж)

Итого MVP: 3-4 недели работы по вечерам (~40 часов).


6. Метрики успеха

MVP считается работающим когда: - 24/7 uptime сборщика > 95% - Найдено ≥ 20 возможностей уровня «warn» в неделю - Ложных срабатываний < 20% (проверка вручную) - Расчёт спреда не расходится с ручной проверкой > 0.05%

Через 3 месяца работы: - Оценить: сколько возможностей были реально исполнимы (с учётом времени, ликвидности, отсутствия проскальзывания)? - Если > 5 в неделю уверенно исполнимы → рассмотреть автоматизацию торговли - Если < 2 в неделю → пересмотреть стратегии или добавить биржи


7. Риски

7.1 · Технические

  • API-блокировки — CEX могут заблокировать российские IP. VPN AmneziaWG частично решает, но не полностью
  • WebSocket-стабильность — регулярные разрывы, нужен reconnect + failover на REST
  • Rate limits — при подписке на много пар легко упереться
  • База данных распухает — time-series данные растут быстро, retention критичен

7.2 · Бизнес / регуляторные

  • Российское законодательство: торговля криптой физлицом не запрещена, но налоги (13-15% НДФЛ с прибыли) — обязательны
  • KYC на биржах: Bybit требует passport, MEXC/BingX пока лояльнее
  • Санкции: ряд бирж (Coinbase, Kraken) закрывают аккаунты российских резидентов
  • Fiat-переводы: отдельная головная боль. P2P на Bybit пока работает, но SBP-платежи (Fast Payment System) периодически ограничивают

7.3 · Финансовые

  • Проскальзывание: ты видишь спред 1%, начинаешь исполнять — цена уплывает
  • Депозитная блокировка: при переводе USDT между биржами капитал заморожен 5-30 минут
  • Fee escalation: некоторые биржи меняют комиссии без предупреждения

Митигация: - Не начинать торговать раньше чем 1 месяц собирал данные вхолостую - Стартовый капитал только тот, который не жалко потерять - Правило: если инструмент показывает возможность, но ты не понимаешь ПОЧЕМУ спред такой большой — значит его исполнить не получится


8. Открытые вопросы (обсудить с владельцем)

  1. Какой стартовый капитал? — определяет доступные объёмы, минимальные пороги спреда, выбор бирж
  2. Готов ли к KYC на 3-4 биржах? — необходимо для крупных объёмов
  3. Есть ли предпочтение по стратегиям? — только CEX-CEX или сразу funding-rate?
  4. Автоматическая торговля когда-либо? — влияет на архитектуру: аудит-логи, kill-switch, position sizing
  5. Хочется ли модель дообучения? — например, ML-предсказание длительности возможности до её закрытия ботами
  6. Backup-план если Bybit заблокирует РФ полностью? — TrustWallet + on-chain arbitrage?

9. Что НЕ делать в MVP

  • ❌ Автоматическое исполнение сделок
  • ❌ Работа с DeFi-протоколами on-chain (Uniswap, PancakeSwap) — отдельная сложность
  • ❌ Собственный orderbook matching engine
  • ❌ Публичный API для других
  • ❌ Мобильное приложение
  • ❌ Интеграция с российскими банками напрямую

Эти вещи стоит рассматривать только после стабильной 3-месячной работы MVP.


10. Связь с другими системами Alatyr

Использует: - Postgres (тот же контейнер что CRM, схема defi) - Ragserver (192.168.1.200) — hosting - AmneziaWG VPN — API-доступ к биржам - Uptime Kuma — мониторинг сборщика - Telegram-бот — уведомления (общий с backup-скриптами и Uptime Kuma)

Не пересекается с: - alatyr-service CRM — совсем другой домен - Vaultwarden — только хранение API-ключей бирж - Open WebUI / RAG — DeFi-analyzer не использует LLM для решений

Возможные будущие интеграции: - LLM-помощник для интерпретации возможностей — «этот спред 3% на MEXC, скорее всего связан с недавним листингом токена X, риск высокий» - Автоматический дневник трейдера в CRM (учёт прибылей/убытков)


Что дальше

Владельцу (Роман): 1. Прочитать этот черновик, пройтись по секциям 2-7 2. Ответить на вопросы из секции 8 3. Уточнить: какие биржи приоритетны? Какие стратегии? 4. Утвердить: приступаем к Этапу 0 (ресёрч)?

Агенту (следующая итерация): 1. Обновить ТЗ по ответам владельца 2. Написать детальный план Этапа 0 (какие endpoint читать, какие таблицы комиссий составить) 3. Сгенерировать скелет проекта: defi-analyzer/docker-compose.yml, collector/index.ts, schemas


История версий

  • v0.1 (08.08.2026) — первый черновик агента, ждёт правок владельца

Файл сгенерирован в задаче 44 · Alatyr Infrastructure