Сделать бота для торговли на Polymarket оказалось тем ещё геммороем.Но мы и не с таким сталкивались.
Проблемы, которые встретились по пути:
1. Поиск нужного событияЯ хочу торговать 15-минутные события по биткоину (выше/ниже цены).
Такие события можно получить через series id, но там нет нормальной фильтрации - в ответ прилетает вообще вся история за всё время существования.
Файл - около 41 МБ. Работать с этим нереально.
Решение оказалось немного “хакерским” - использовать slug события. В нём зашит timestamp в ISO-формате, который обновляется каждые 15 минут. (
https://polymarket.com/event/btc-updown-15m-1771325100)
ChatGPT написал JS-функцию, которая:
- считает ближайший 15-минутный интервал
- формирует нужный slug
- достаёт конкретное событие
2. Невозможность нормально использовать Python в n8nЗапустить кастомные библиотеки на Python оказалось больно.
В итоге проще было вынести логику в AWS Lambda.
3. Lambda -
тоже не подарокБиблиотеки там подключаются вручную:
нужно скачать зависимости, собрать их в zip и загрузить.
У меня Mac, а архитектура Lambda — другая.
Поэтому сборку пришлось делать через Docker на сервере, где крутится n8n.
4. Блокировка по IPКогда всё уже заработало — Polymarket начал отклонять сделки.
Причина: запросы идут из запрещённой юрисдикции (у них список из ~30 стран).
Решения два:
- прокси
- сменить регион сервера
Я выбрал смену региона функции.
⸻
В итоге бот может открывать сделки прямо из n8n.
Дальше план такой:
- передавать боту историю его сделок
- данные по движению BTC (Binance)
- текущий баланс
- цены и стакан Polymarket
На основе этого он будет принимать решение:
ставить или пропускать ход.
Посмотрим, получится ли собрать что-то устойчивое.