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 — рабочий, но с оговорками
- Импульс 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 →
RepoRadar