jev-trader: бот для высокочастотной торговли на децентрализованных биржах

jev-trader: бот для высокочастотной торговли на децентрализованных биржах

jev-trader — это бот для торговли, который принимает решения на основе модели Jev, анализируя ордеры Kuru MON-USDC. Он делает это с частотой примерно раз в 300 мс, размещая лимитные ордера на покупку или продажу, чтобы зарабатывать на спреде, а не платить его.

Проект подойдет трейдерам, интересующимся высокочастотной торговлей и автоматизацией торговли на децентрализованных биржах. Бот может работать в режиме имитации, что позволяет тестировать стратегию без риска, но для использования настоящей модели Jev потребуется API-ключ и приватный ключ. Таким образом, у тебя есть возможность либо протестировать систему без реальных сделок, либо запустить ее в полноценном режиме.

Для запуска просто скопируй .env.example в .env, установи зависимости с помощью bun install и запусти с bun run start. Имей в виду, что проект может быть на ранней стадии и подходит в первую очередь для экспериментов на платформе Kuru.

Проект jev-trader представляет собой торговый бот, который работает с ордер-буком на платформе Kuru и принимает решения о покупке или продаже каждые примерно 300 миллисекунд. Он использует специальную модель Jev для анализа данных и размещает лимитные ордера, которые находятся внутри текущего лучшего предложения на рынке, заменяя предыдущие ордера. Таким образом, бот может зарабатывать на спреде, а не платить его.

Установка и запуск

Чтобы запустить проект, необходимо выполнить следующие команды:

cp .env.example .env
bun install
bun run start

Если переменная PRIVATE_KEY не установлена, бот будет работать в режиме проверки (dry run), что означает, что он будет принимать решения на реальных данных, но результаты сделок будут смоделированы. Для использования настоящей модели Jev нужно установить MODEL=jev и TYPESAFE_AI_API_KEY.

API и источники данных

В проекте есть несколько конечных точек API:

  • GET / — получает снимок текущего состояния модели, кошелька и последних событий блока;
  • GET /history — возвращает последние 1000 событий блока;
  • GET /events — использует SSE для отправки событий, включая снимок состояния и события блока.

Каждое событие содержит информацию о текущем статусе ордеров и операциях, включая вероятность покупки и продажи, а также текущие ставки и позиции.

Структура кода

Проект состоит из нескольких ключевых файлов:

  • src/config.ts — конфигурация окружения;
  • src/chain.ts — обработка блоков с помощью WebSocket и RPC;
  • src/book.ts — чтение ордер-бука;
  • src/market.ts — взаимодействие с платформой Kuru и обработка ордеров;
  • src/model.ts — интерфейс модели, которая отвечает за принятие решений;
  • src/trader.ts — основной цикл обработки ордеров;
  • src/server.ts — сервер для обработки запросов и отправки событий.

Ограничения

Важно учитывать, что каждая торговая операция должна укладываться в один блок, и на каждую операцию бот делает ровно два RPC вызова. Это означает, что время выполнения операций ограничено, и любые задержки могут повлиять на обработку заказов. Проект также использует фиксированные значения для расчета платы за газ, что может ограничить гибкость в случае изменения рыночных условий.

Таким образом, jev-trader — это продвинутый торговый бот, ориентированный на высокочастотную торговлю с использованием модели, анализирующей рыночные данные в режиме реального времени. Он подходит для трейдеров, которые ищут возможности автоматизации своих торговых стратегий на платформе Kuru.

Радар проекта: 48 из 100 — рабочий, но с оговорками

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема48
  • Импульс 67 ≈ 35 звёзд в день
  • Темп разработки 50 16 коммитов за 12 недель
  • Зрелость 15 проекту 57 дней, релизов нет
  • Сообщество 53 4 участника, 601 форк
  • Свежесть 83 последний коммит — 1 месяц назад
  • Быстрый старт 40 есть: Docker, сайт/демо
  • Готовность к продакшену 10 ни релизов, ни тестов не видно
  • Безопасность и доверие 40 лицензия MIT
  • Документация 75 README 5.6 тыс. знаков, 5 разделов
  • Экосистема 51 21 подписчик на обновления, 0 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: jarrodwatts/jev-trader →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте