SpaceTrading - автоматическа торговля на OKX, Polymarket
Внимание! Бот полностью работает и протестирован, включая реальные сделки, но это не Золотая антилопа! больше 100 стратегий на OKX и больше 50 стратегий на Polymarket, тестируйте на демо счете
Ценность
Вайбкодинг
450 ч
Строк кода
92 000+
Аналог у студии
от 1 250 000 ₽
Экономия на токенах
≈ 60 000 ₽
Инструкция из репозитория
SpaceTrading
Алгоритмическая торговая платформа: OKX (spot/swap) в virtual/real режимах, портфельный движок, AI-агенты и latency-edge на Polymarket.
Возможности · UI · Стек · Старт · Env · Структура · Production · Git · Docs
Возможности
| Область | Что есть в коде |
|---|---|
| Торговля OKX | Virtual (paper на live-котировках) и Real; переключение в sidebar с подтверждением |
| Стратегии | Пресеты, «Мои стратегии», лаборатория улучшения, micro-scalper / whale-hunter и др. |
| Портфели | Multi-strategy Portfolio Engine (PORTFOLIO_ENGINE_MODE) |
| Пульт | Глобальные trading-controls: pause / block entries |
| Бэктест | Асинхронные бэктесты через BullMQ |
| AI | Чат (OpenRouter), news/крипто-разведка, OKX Agent Kit, debate-контуры |
| Polymarket | Latency lanes, presets (в т.ч. alpha/lab), debate agent, Brain UI |
| Ops | Workers UI, diagnostics API, Command Center, reconcile-скрипты |
Нет режима «без БД» / mock-данных для обхода MongoDB. Для работы нужны MongoDB и Redis.
Поверхности UI
Авторизация: /login (Credentials → ADMIN_USERNAME / ADMIN_PASSWORD). Отдельного /admin нет — весь кабинет за сессией.
Sidebar (вкладки приложения)
| ID | Раздел | Назначение |
|---|---|---|
controls | Пульт | Пауза / блок входов |
portfolios | Портфели | Портфельный движок |
dashboard | Обзор | Сводка |
news | Крипто-Разведка | Новостной контур |
presets | Готовые стратегии | Библиотека пресетов |
strategies | Мои стратегии | CRUD / запуск |
strategy_lab | Лаборатория | Strategy improvement agent |
knowledge | База знаний | Knowledge base |
trades | Сделки | История |
workers | Workers | Очереди BullMQ |
okx | OKX Agent | Agent Kit UI |
backtest | Бэктест | Результаты бэктестов |
chat | AI Чат | OpenRouter |
Отдельные маршруты
| Путь | Назначение |
|---|---|
/dashboard | Основной кабинет (tabs выше) |
/command-center | Live ops / Command Center |
/polymarket | Polymarket latency edge + strategy lanes |
/polymarket-brain | Graph / hive-mind ops UI |
/trades-terminal | Терминал сделок (β) |
/knowledge-base | База знаний (отдельная страница) |
/login | Вход |
Стек
| Слой | Технологии |
|---|---|
| App | Next.js ^15.1, React ^19, TypeScript ^5.7, Tailwind CSS ^3.4 |
| Auth | NextAuth 5.0.0-beta (Credentials) |
| Data | MongoDB 7 + Mongoose ^8.9, Redis 7 + BullMQ ^5.30 |
| Exchange | OKX (okx-api), Polymarket CLOB (@polymarket/clob-client-v2) |
| AI | OpenRouter (openai SDK), опционально Perplexity |
| Package manager | pnpm |
| Версия | 1.0.0 (package.json) |
Prerequisites
- Node.js 20+ (рекомендуется LTS)
- pnpm 10+
- Docker + Docker Compose (локальные MongoDB 7 и Redis 7)
- Ключи OKX (demo/live) — выдаёт администратор
- Опционально: OpenRouter, Polymarket CLOB credentials
Быстрый старт
1. Clone (SSH)
Доступ к remote выдаёт владелец репозитория. Пример clone-URL (SSH):
git clone ssh://git@gitverse.ru:2222/spacemod/SpaceTrading.git
cd SpaceTrading
2. Зависимости
pnpm install
3. Окружение
cp .env.local.example .env.local
# заполнить ADMIN_PASSWORD, NEXTAUTH_SECRET, MONGODB_URI, REDIS_URL, OKX_*
Минимальный указатель: .env.example. Полный SoT: .env.local.example (локально) и .env.docker.example (Compose).
4. Инфраструктура (локальный Docker)
Рекомендуемый путь — локальные Mongo/Redis из docker-compose.yml (не cloud Atlas как основной onboarding):
cp .env.docker.example .env.docker
# задать MONGO_ROOT_PASSWORD, MONGO_APP_PASSWORD, REDIS_PASSWORD, ADMIN_*, NEXTAUTH_*
docker compose --env-file .env.docker up -d mongodb redis
Для чистого app+worker в Docker см. docs/ops/DEPLOY.md.
Локальный .env.local при compose-infra обычно:
MONGODB_URI=mongodb://localhost:27017/spacetrading
REDIS_URL=redis://localhost:6379
Если Redis/Mongo с паролем — URI должны включать credentials (как в production compose).
5. Dev-сервер
pnpm dev
Поднимает Next.js + BullMQ worker (concurrently). Открыть http://localhost:3000.
Только UI без воркера: pnpm dev:web. Отдельный воркер: pnpm worker:dev.
Admin-логин создаётся только через env (ADMIN_USERNAME / ADMIN_PASSWORD). Паролей в коде нет; в production без ADMIN_PASSWORD вход запрещён.
Переменные окружения
SoT: .env.local.example, .env.docker.example.
Required (локальный кабинет)
| Переменная | Назначение |
|---|---|
MONGODB_URI | MongoDB, БД spacetrading |
REDIS_URL | Redis для BullMQ |
ADMIN_PASSWORD | Пароль UI (обязателен в production) |
NEXTAUTH_SECRET | JWT/session (openssl rand -base64 32) |
NEXTAUTH_URL | URL приложения |
Recommended
| Переменная | Назначение |
|---|---|
ADMIN_USERNAME | Логин (по умолчанию admin только как имя, не пароль) |
OKX_API_KEY / OKX_API_SECRET / OKX_API_PASSPHRASE | Биржа |
OKX_MODE | demo | live |
OPENROUTER_API_KEY | AI-чат / агенты |
NEXT_PUBLIC_APP_URL | Публичный URL |
Production-only / Docker
| Переменная | Назначение |
|---|---|
MONGO_ROOT_PASSWORD | Root Mongo в контейнере |
MONGO_APP_PASSWORD | Пользователь spaceapp (mongo-init.js) |
REDIS_PASSWORD | Пароль Redis |
POLYMARKET_* / RELAYER_* | Real Polymarket CLOB — выдаёт администратор out-of-band |
Структура
SpaceTrading/
├── docs/ # Операционные и продуктовые материалы
├── scripts/ # Ops/mongo/retune; scratch/ — разовые аудиты
├── src/
│ ├── app/ # App Router: pages + api/*
│ ├── components/ # UI (sidebar, polymarket, command-center, …)
│ ├── lib/ # trading, polymarket, exchange, ai, db, redis
│ ├── workers/ # BullMQ workers
│ ├── store/ # Zustand
│ └── scripts/ # seed, reconcile
├── docker-compose.yml
├── Dockerfile / Dockerfile.worker
├── ecosystem.config.cjs # PM2 worker (host)
└── mongo-init.js
Модульные README: рядом с кодом (src/lib/polymarket/README.md, src/workers/README.md, …).
Common scripts
| Команда | Действие |
|---|---|
pnpm dev | Next + worker |
pnpm build / pnpm start | Production build / start |
pnpm worker | Только worker |
pnpm lint | ESLint |
pnpm seed | Seed |
pnpm reconcile:paused | Reconcile paused trades |
pnpm worker:pm2:* | PM2 lifecycle |
Production
Архитектура: Docker Compose (mongodb + redis + app + worker), reverse proxy на хосте, порт контейнера app 3000 (часто проброс 127.0.0.1:3003).
Полный runbook: docs/ops/DEPLOY.md · чеклист: docs/ops/PRE_PRODUCTION_CHECKLIST.md.
cp .env.docker.example .env.docker
cp docker-compose.override.example.yml docker-compose.override.yml
docker compose --env-file .env.docker build app worker
docker compose --env-file .env.docker up -d
Git workflow
Ветки: feature/* → develop → master. Прямые коммиты в master/develop запрещены.
Детали: docs/git/WORKFLOW.md.
Package manager и lockfile: pnpm / pnpm-lock.yaml.
Troubleshooting
| Симптом | Что проверить |
|---|---|
| Нет логина в prod | ADMIN_PASSWORD, NEXTAUTH_SECRET, NEXTAUTH_URL |
| API 500 / нет данных | MONGODB_URI, health /api/health |
| Очереди стоят | Redis REDIS_URL, контейнер/процесс worker |
| OKX ошибки | Ключи, OKX_MODE, IP whitelist на стороне OKX |
| mongo-init падает | Задан ли MONGO_APP_PASSWORD в .env.docker |
| Polymarket real | Ключи выданы out-of-band; virtual режим не требует CLOB key |
Security for external developers
- Секреты не хранятся в git. Env выдаёт администратор.
- Не коммитить
.env*, дампы,*.tar.gz, ключи кошельков. - Если секреты когда-либо попадали в history — ротация обязательна (см. docs/security/HARDENING-2026-07-17.md).
- Real-trading и Polymarket CLOB — только после явного допуска.
Документация
| Документ | Тема |
|---|---|
| docs/README.md | Индекс |
| docs/ops/DEPLOY.md | Деплой |
| docs/git/WORKFLOW.md | Git |
| docs/security/HARDENING-2026-07-17.md | Hardening |
| src/workers/README.md | Workers |
| src/lib/polymarket/README.md | Polymarket |
License
Проект приватный. Использование — по согласованию с владельцем. Контакты и доступы выдаются out-of-band.
Master Prompt
Скопируйте в Cursor / Claude Code. Каждый copy даёт новый токен; предыдущий действует ещё 48 часов.
Нужен тариф Премиум+
Это флагманское приложение. Тариф Премиум+ открывает его вместе со всем каталогом — доступ навсегда.
Оплата после выбора тарифа — затем вход или регистрация.
Changelog
v1.0.0 · 2026-07-16
Каталожный релиз SpaceTrading с private repo placeholders.