Polymarket API
Polymarket предоставляет API для разработчиков: получение данных о рынках, создание торговых ботов, интеграция в аналитические системы. Разбираем endpoints, примеры запросов и практическое применение.
Обзор API
API Polymarket позволяет программно взаимодействовать с платформой:
- Получать данные о рынках и ценах
- Анализировать исторические данные
- Размещать и отменять ордера
- Управлять позициями
- Создавать торговых ботов
Типы API:
- REST API: Стандартные HTTP-запросы для получения данных
- WebSocket API: Подключение для получения данных в реальном времени
- Smart Contract API: Прямое взаимодействие со смарт-контрактами
Начало работы
Публичные данные (без авторизации)
Для чтения данных о рынках авторизация не требуется. Можете делать запросы напрямую.
Базовый URL: https://clob.polymarket.com
Пример: Получение списка рынков
GET /markets
Ответ содержит список активных рынков с информацией о событиях, ценах, объёмах.
Торговля (требует подпись транзакций)
Для размещения ордеров нужен подключённый Web3-кошелёк:
- Подключите кошелёк через ethers.js или web3.js
- Создайте ордер (параметры: рынок, цена, размер)
- Подпишите ордер приватным ключом кошелька
- Отправьте подписанный ордер через API
Интегрируйте API в проекты
💡 Начать на Polymarket →Основные Endpoints
Получение рынков
Endpoint: GET /markets
Параметры:
active— только активные рынки (true/false)closed— только закрытые рынки (true/false)limit— количество результатовoffset— смещение для пагинации
Пример ответа:
{
"data": [
{
"id": "123456",
"question": "Победит ли кандидат А на выборах?",
"end_date": "2025-12-31T00:00:00Z",
"outcomes": ["Да", "Нет"],
"prices": [0.65, 0.35],
"volume": 1250000
}
]
}
Получение ордербука
Endpoint: GET /book
Параметры:
token_id— ID токена рынка
Возвращает все активные ордера на покупку и продажу с ценами и объёмами.
Получение исторических данных
Endpoint: GET /prices-history
Параметры:
market— ID рынкаstartTs— начальная временная меткаendTs— конечная временная меткаinterval— интервал (1m, 5m, 1h, 1d)
Возвращает исторические цены для построения графиков и анализа.
Размещение ордера
Endpoint: POST /order
Тело запроса:
{
"market": "market_id",
"side": "BUY",
"price": "0.65",
"size": "100",
"signature": "0x..."
}
Ордер должен быть подписан приватным ключом кошелька.
WebSocket API
Для получения обновлений в реальном времени используйте WebSocket:
URL: wss://ws-subscriptions.polymarket.com
Подписка на обновления рынка
{
"type": "subscribe",
"channel": "market",
"market_id": "123456"
}
После подписки получаете обновления цен, новые ордера, сделки в реальном времени.
Подписка на сделки
{
"type": "subscribe",
"channel": "trades",
"market_id": "123456"
}
Получаете информацию о каждой совершённой сделке: цена, объём, время.
Примеры использования
Python: Получение списка рынков
import requests
url = "https://clob.polymarket.com/markets"
params = {"active": "true", "limit": 10}
response = requests.get(url, params=params)
markets = response.json()
for market in markets["data"]:
print(f"{market['question']} - Price: {market['prices'][0]}")
JavaScript: Подключение к WebSocket
const ws = new WebSocket("wss://ws-subscriptions.polymarket.com");
ws.onopen = () => {
ws.send(JSON.stringify({
type: "subscribe",
channel: "market",
market_id: "123456"
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log("Price update:", data);
};
Python: Создание простого бота для мониторинга
import requests
import time
def monitor_price(market_id, target_price):
url = f"https://clob.polymarket.com/markets/{market_id}"
while True:
response = requests.get(url)
market = response.json()
current_price = market["prices"][0]
print(f"Current price: {current_price}")
if current_price <= target_price:
print("Target price reached!")
# Здесь код для размещения ордера
break
time.sleep(10) # Проверка каждые 10 секунд
monitor_price("123456", 0.60)
Разработайте торгового бота
💡 Начать на Polymarket →Торговые боты: идеи и стратегии
Арбитражный бот
Логика: Мониторит цены на Polymarket и других платформах. При обнаружении разницы автоматически покупает на одной платформе, продаёт на другой.
Требования:
- API доступ к нескольким платформам
- Быстрое исполнение (WebSocket для real-time данных)
- Управление балансами на нескольких платформах
Бот торговли на новостях
Логика: Парсит новостные ленты (Twitter, RSS), анализирует влияние на события, автоматически размещает ордера.
Требования:
- Интеграция с новостными API
- NLP для анализа текста новостей
- Быстрая реакция (секунды)
Маркет-мейкер бот
Логика: Размещает ордера на покупку и продажу, зарабатывает на спреде. Постоянно обновляет ордера в зависимости от рынка.
Требования:
- Мониторинг ордербука
- Динамическое ценообразование
- Управление инвентарём (баланс позиций)
Библиотеки и инструменты
Python
- requests: HTTP-запросы к REST API
- web3.py: Взаимодействие со смарт-контрактами Ethereum/Polygon
- pandas: Анализ исторических данных
- asyncio, websockets: Асинхронная работа с WebSocket
JavaScript/TypeScript
- ethers.js: Web3-библиотека для подписания транзакций
- axios: HTTP-клиент
- ws: WebSocket-клиент
Готовые решения
- Polymarket SDK (если доступен) — официальная библиотека
- Примеры кода на GitHub
- Сообщество разработчиков в Discord
Безопасность при работе с API
Защита приватных ключей
- Никогда не храните ключи в коде: Используйте переменные окружения
- Отдельный кошелёк для бота: Не используйте основной кошелёк
- Ограничьте средства: Держите на боте только необходимую сумму
Управление рисками
- Лимиты на позиции: Ограничьте максимальную сумму на одну сделку
- Стоп-лоссы: Автоматическая продажа при достижении убытка
- Тестирование: Запускайте бота на малых суммах
- Логирование: Записывайте все действия бота
Rate Limits
- Соблюдайте лимиты на запросы
- Кешируйте данные, которые не меняются часто
- Используйте WebSocket вместо polling для real-time данных
Частые вопросы
Есть ли у Polymarket публичный API?
Да, Polymarket предоставляет публичный API для получения данных о рынках, ценах, объёмах торговли. API позволяет создавать ботов, аналитические инструменты и интегрировать данные в сторонние приложения.
Нужна ли регистрация для использования API Polymarket?
Для чтения публичных данных регистрация не требуется. Для размещения ордеров и управления позициями нужен подключённый кошелёк и подписание транзакций.
Какие данные доступны через API Polymarket?
API предоставляет: список рынков, информацию о событиях, текущие цены, исторические данные, объёмы торговли, ордербуки, данные о позициях пользователей. Доступны REST API и WebSocket для реального времени.
Можно ли создать торгового бота для Polymarket?
Да, API позволяет создавать торговых ботов. Боты могут автоматически мониторить рынки, размещать ордера, управлять позициями. Требуются навыки программирования на Python, JavaScript или другом языке.
Есть ли лимиты на запросы к API Polymarket?
API имеет rate limits для предотвращения перегрузки. Точные лимиты указаны в документации. При превышении лимитов возвращается ошибка 429. Рекомендуется кешировать данные и не делать избыточные запросы.
Как подключиться к API Polymarket?
Для чтения данных используйте публичные endpoints без авторизации. Для торговли: подключите Web3-кошелёк, используйте библиотеки ethers.js или web3.js для подписания транзакций, отправляйте подписанные запросы через API.
Какой язык программирования лучше для работы с API?
Python популярен для торговых ботов благодаря библиотекам для анализа данных. JavaScript/TypeScript удобен для Web3-интеграции. Выбирайте язык, с которым знакомы. API работает через HTTP, совместим с любым языком.
Где найти документацию API Polymarket?
Официальная документация доступна на сайте Polymarket в разделе Developers или Docs. Также есть примеры кода на GitHub, сообщество разработчиков в Discord.
Можно ли получать данные в реальном времени?
Да, через WebSocket подключение. WebSocket API предоставляет обновления цен, изменения ордербука, новые сделки в реальном времени. Это критично для высокочастотной торговли и арбитража.
Безопасно ли использовать API для автоматической торговли?
Безопасность зависит от реализации. Храните приватные ключи в безопасности, используйте отдельный кошелёк для бота, ограничивайте суммы, тестируйте на малых объёмах. Никогда не делитесь приватными ключами.
Похожие материалы
Используйте API для торговли
💡 Начать на Polymarket →