Как создать бота для Polymarket: Полный гайд по автоматизации торговли через API
В 2025 году Polymarket стал не просто крупнейшей платформой для рынков предсказаний, но и полем битвы для алгоритмических трейдеров. Когда счет идет на секунды — например, при выходе экстренных новостей или резком изменении котировок на криптобиржах — человек всегда проигрывает коду. Автоматизация торговли на Polymarket позволяет не только быстрее реагировать на события, но и зарабатывать на рыночных неэффективностях, которые незаметны глазу рядового пользователя.
В этом руководстве мы разберем весь путь создания торгового бота: от настройки окружения и работы с CLOB API до реализации рабочих стратегий на языке Python.
1. Зачем нужен бот на Polymarket?
Торговля через интерфейс сайта подходит для долгосрочных прогнозов, но для активного трейдинга она имеет три критических недостатка: задержка (latency), невозможность масштабирования и эмоциональный фактор.
Основные преимущества автоматизации:
- Скорость: Бот реагирует на изменение цены или новости за миллисекунды. Пока вы обновляете страницу, алгоритм уже исполнил ордер по выгодной цене.
- Арбитраж: Рынки предсказаний часто коррелируют с другими активами. Если биткоин упал на Binance, рынок "BTC hits $100k" на Polymarket отреагирует с задержкой в несколько секунд. Это окно — ваш шанс на прибыль.
- Маркет-мейкинг: Вы можете выставлять ордера по обе стороны стакана (бид и аск), зарабатывая на спреде. На Polymarket за это часто полагаются дополнительные вознаграждения в рамках программ ликвидности.
- Дисциплина: Код не знает страха или азарта. Он закроет позицию строго по стоп-лоссу или тейк-профиту.
По оценкам аналитиков, в 2025 году более 60% торгового объема на ключевых рынках Polymarket генерируется алгоритмами.
2. Технический стек: Что понадобится для старта
Для разработки бота мы будем использовать Python 3.10+. Это стандарт индустрии для алготрейдинга благодаря огромному количеству библиотек для работы с данными и API.
Необходимый минимум библиотек:
- py-clob-client: Официальная библиотека от команды Polymarket для работы с Central Limit Order Book (CLOB).
- python-dotenv: Для безопасного хранения приватных ключей и API-секретов.
- pandas: Для анализа истории цен и управления портфелем.
- websockets: Для получения мгновенных обновлений стакана без постоянных HTTP-запросов.
Для разработки рекомендуется использовать VS Code или PyCharm. Также вам потребуется аккаунт на Polymarket, привязанный к MetaMask, и небольшое количество токенов POL (бывший MATIC) для оплаты газа в сети Polygon.
3. Архитектура Polymarket API (CLOB)
Важно понимать, что Polymarket работает на двух разных уровнях API:
- Gamma API: Служит для получения информации о рынках (названия, категории, описания, иконки). Это "читающий" интерфейс.
- CLOB API (Central Limit Order Book): Это сердце торговой системы. Здесь живут стаканы ордеров, здесь происходит матчинг сделок и здесь вы размещаете свои заявки.
Ключевые понятия:
- Condition ID: Уникальный идентификатор события (например, "Победит ли Трамп в 2024?").
- Token ID: Идентификатор конкретной акции внутри события (акция "Да" или акция "Нет"). Именно с Token ID работает торговый бот.
- Assets: На Polymarket вы торгуете токенизированными исходами. Каждый исход — это ERC-1155 токен.
4. Подготовка инфраструктуры и кошелька
Никогда не используйте основной кошелек для тестирования ботов. Создайте новый адрес в MetaMask специально для алгоритмической торговли.
- Экспортируйте приватный ключ вашего нового кошелька.
- Создайте в папке проекта файл
.envи сохраните ключ там:PK="0xваш_приватный_ключ" - Пополните кошелек:
- POL: Минимум 2-3 токена для оплаты газа.
- USDC.e: Обратите внимание, Polymarket использует именно "Bridged USDC" (USDC.e) в сети Polygon.
5. Получение API ключей (Credentials)
В отличие от классических бирж, где ключи создаются в личном кабинете, на Polymarket API-ключи генерируются программно через подпись сообщения вашим кошельком.
Процесс генерации:
Бот отправляет запрос на создание ключей, вы подписываете его приватным ключом, и сервер возвращает API Key, Secret и Passphrase. Эти данные нужно сохранить в тот же .env файл.
6. Установка и настройка py-clob-client
Установите клиент командой:
pip install py-clob-client
Пример инициализации клиента:
import os
from py_clob_client.client import ClobClient
client = ClobClient(
host="https://clob.polymarket.com",
key=os.getenv("PK"),
chain_id=137,
signature_type=0
)
client.set_api_creds(client.create_or_derive_api_creds())
7. Чтение данных рынка в реальном времени
Для бота критически важно знать текущую цену. Есть два способа её получить:
- REST API: Подходит для периодического сканирования рынков.
- WebSocket: Позволяет "подписаться" на рынок и получать обновления мгновенно. Это в 10-20 раз быстрее, чем HTTP-запросы.
8. Создание и управление ордерами
На Polymarket используются лимитные ордера. Вы указываете максимальную цену покупки или минимальную цену продажи.
Типы исполнения:
- GTC (Good Til Cancelled): Ордер висит в стакане до исполнения или отмены.
- FOK (Fill or Kill): Либо исполнить весь объем немедленно, либо отменить.
9. Стратегия 1: Простейший арбитраж между исходами
Математика рынков предсказаний: цена "Да" + цена "Нет" должна равняться $1. Однако из-за низкой ликвидности сумма может быть 0.97. Если вы купите оба исхода, вы потратите $0.97, а гарантированно получите $1. Бот может сканировать сотни рынков в поиске таких аномалий.
10. Стратегия 2: Маркет-мейкинг для начинающих
Маркет-мейкер создает ликвидность, выставляя ордера по обе стороны стакана (например, покупка по 0.50 и продажа по 0.52). Главный риск: резкое изменение цены на новостях, когда ваши ордера исполняются против тренда ("токсичный поток").
11. Обработка ошибок и безопасность
- Rate Limits: Polymarket ограничивает количество запросов. Используйте задержки, чтобы избежать блокировки IP.
- Connection Issues: Оборачивайте код в блоки
try...except, чтобы бот не падал при обрыве связи. - Безопасность: Никогда не загружайте
.envна GitHub.
12. Развертывание бота (Deployment)
Бот должен работать 24/7 на удаленном сервере (VPS).
- Ubuntu VPS: Хватит минимального тарифа.
- Docker: Позволяет легко переносить бота между серверами.
- Telegram Bot: Используйте для мониторинга баланса и получения уведомлений о сделках.
13. Риски и этика
- Slippage (Проскальзывание): Большой ордер может сдвинуть цену не в вашу пользу.
- Front-running: В сети Polygon существуют MEV-боты. Работа через CLOB API (off-chain) частично снижает этот риск.
14. FAQ для разработчиков
"Почему мой ордер не исполняется?" — Цена ушла за пределы вашего лимита.
"Как найти Token ID?" — Используйте метод client.get_markets() или Gamma API.
"Нужен ли VPN для бота?" — Да, если сервер находится в регионе с ограничениями (включая РФ).
15. Заключение
Автоматизация на Polymarket открывает огромные возможности. В 2025 году выигрывает тот, чей алгоритм эффективнее обрабатывает информацию. Начните с написания простого монитора цен и постепенно переходите к торговым операциям на небольших объемах.