Polymarket API — полный гайд разработчика 2026
Практический гайд по Polymarket API и CLOB: аутентификация, ключевые endpoints, примеры кода на Python для получения котировок и отправки ордеров.
Содержание
Polymarket API открывает прямой доступ к одному из крупнейших рынков предсказаний — без браузера, без ручных кликов, с возможностью автоматизировать любую стратегию. Если ты хочешь строить ботов, агрегировать данные или интегрировать предсказательные рынки в собственный продукт, этот гайд даст тебе рабочую базу.
Здесь разберём Polymarket CLOB API с нуля: как устроена аутентификация, какие endpoints реально нужны, как отправить первый ордер на Python и на что обратить внимание, чтобы не словить бан по rate limit. Примеры кода — рабочие, без воды.
Если ты только знакомишься с платформой, сначала прочитай базовый гайд по Polymarket — там объясняется логика рынков, USDC-депозиты и принцип работы с позициями.
Архитектура Polymarket API
Polymarket использует два слоя инфраструктуры, и важно понимать разницу.
Gamma API — публичный REST API для чтения данных: список рынков, события, метаданные. Не требует аутентификации, подходит для агрегации и аналитики.
CLOB API — основной торговый интерфейс. Через него проходят все ордера, отмены, запросы баланса и истории сделок. Именно Polymarket CLOB API используется для автоматической торговли.
Базовые URL:
- Gamma:
https://gamma-api.polymarket.com - CLOB:
https://clob.polymarket.com
Как устроен CLOB
CLOB (Central Limit Order Book) на Polymarket работает поверх сети Polygon. Каждый рынок имеет два токена — YES и NO, каждый торгуется отдельно. Цена токена отражает вероятность исхода и находится в диапазоне от 0 до 1 USDC.
Ордера подписываются локально через ECDSA и отправляются на сервер CLOB. Это означает, что приватный ключ никогда не покидает твою машину — сервер только верифицирует подпись.
Аутентификация
Polymarket API использует двухуровневую систему ключей.
L1 — кошелёк Polygon. Это твой основной Ethereum-адрес с USDC. Он подписывает транзакции и является владельцем средств.
L2 — API-ключ. Генерируется через интерфейс Polymarket (Settings → API Keys) или программно. Состоит из трёх компонентов: api_key, api_secret, api_passphrase. Используется для подписи HTTP-запросов.
Установка SDK:
pip install py-clob-client
Инициализация клиента:
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import ApiCreds
HOST = "https://clob.polymarket.com"
KEY = "0xВАШ_ПРИВАТНЫЙ_КЛЮЧ"
CHAIN_ID = 137 # Polygon mainnet
client = ClobClient(HOST, key=KEY, chain_id=CHAIN_ID)
# Создать API-ключи (один раз)
creds = client.create_or_derive_api_creds()
print(creds)
После получения api_key, api_secret и api_passphrase — сохрани их в .env, не в коде.
from py_clob_client.clob_types import ApiCreds
creds = ApiCreds(
api_key="...",
api_secret="...",
api_passphrase="..."
)
client = ClobClient(HOST, key=KEY, chain_id=CHAIN_ID, creds=creds)
Основные endpoints
Получение списка рынков
Через Gamma API — без аутентификации:
import requests
resp = requests.get("https://gamma-api.polymarket.com/markets?active=true&limit=20")
markets = resp.json()
for m in markets:
print(m["question"], m["conditionId"])
Каждый рынок содержит conditionId — это основной идентификатор, который используется в CLOB API.
Получение котировок через Polymarket CLOB API
# Получить стакан ордеров для конкретного токена
token_id = "ТОКЕН_ID_YES_ИЛИ_NO"
orderbook = client.get_order_book(token_id)
print("Bids:", orderbook.bids[:5])
print("Asks:", orderbook.asks[:5])
Стакан возвращает массивы bids и asks с ценами и объёмами. Лучший bid — последний элемент в bids, лучший ask — первый в asks.
Получение последних сделок
trades = client.get_trades(
market=condition_id,
limit=50
)
Это полезно для анализа ликвидности и построения стратегий на основе потока ордеров. Подробнее о стратегиях на предсказательных рынках — в разделе стратегий Polymarket.
Отправка ордеров
Лимитный ордер
from py_clob_client.clob_types import OrderArgs, OrderType
order_args = OrderArgs(
token_id="ТОКЕН_ID",
price=0.65, # цена в USDC (вероятность)
size=10.0, # объём в USDC
side="BUY",
order_type=OrderType.GTC # Good Till Cancelled
)
signed_order = client.create_order(order_args)
resp = client.post_order(signed_order)
print(resp)
Параметр price — это вероятность исхода. Если ставишь 0.65 на YES, ты считаешь, что событие произойдёт с вероятностью выше 65%.
Рыночный ордер
order_args = OrderArgs(
token_id="ТОКЕН_ID",
price=0.99, # для рыночного — ставь максимум
size=10.0,
side="BUY",
order_type=OrderType.FOK # Fill Or Kill
)
FOK-ордер исполняется немедленно или отменяется полностью — аналог рыночного ордера в CLOB-системе.
Отмена ордера
client.cancel(order_id="ID_ОРДЕРА")
# Отменить все открытые ордера
client.cancel_all()
Работа с балансом и позициями
# Баланс USDC
balance = client.get_balance_allowance()
print(balance)
# Открытые позиции
positions = client.get_positions()
for p in positions:
print(p["market"], p["size"], p["avgPrice"])
Перед отправкой ордеров убедись, что USDC одобрен для CLOB-контракта. SDK делает это автоматически при первом запуске, но если используешь raw HTTP — нужно вручную вызвать approve на контракте USDC в сети Polygon.
Rate limits и обработка ошибок
Polymarket API документация указывает следующие ограничения:
- Публичные endpoints — около 100 запросов в минуту
- Приватные endpoints — более строгие лимиты, зависят от типа операции
При превышении лимита сервер возвращает 429 Too Many Requests. Правильная обработка:
import time
def safe_request(func, *args, retries=3, **kwargs):
for attempt in range(retries):
try:
return func(*args, **kwargs)
except Exception as e:
if "429" in str(e):
wait = 2 ** attempt
print(f"Rate limit, ждём {wait}с")
time.sleep(wait)
else:
raise
raise Exception("Превышено число попыток")
Экспоненциальная задержка — стандартный подход. Не делай retry с фиксированным интервалом в 1 секунду — это не поможет при длительном throttling.
Если строишь полноценного торгового бота, изучи обзор инструментов для автоматической торговли — там разобраны готовые фреймворки, которые уже умеют работать с rate limits и переподключением.
Практические советы
Храни ключи в переменных окружения. Никогда не коммить api_secret в репозиторий. Используй python-dotenv или системные переменные.
Логируй все ордера. CLOB не всегда возвращает ошибку синхронно — иногда ордер принят, но не исполнен. Сохраняй order_id и периодически проверяй статус через client.get_order(order_id).
Тестируй на малых объёмах. Минимальный размер ордера — 1 USDC. Начинай с него, прежде чем масштабировать стратегию.
Следи за ликвидностью. На малоактивных рынках спред может быть 5–10%. Polymarket CLOB API позволяет получить полный стакан — анализируй глубину перед входом.
Используй WebSocket для real-time данных. REST-опрос каждые 5 секунд создаёт лишнюю нагрузку. CLOB поддерживает WebSocket-подписки на обновления стакана и сделки — это эффективнее для высокочастотных стратегий.
Заключение
Polymarket API — зрелый инструмент с понятной документацией и активным сообществом разработчиков. CLOB API даёт полный контроль над торговлей: от получения котировок до отправки подписанных ордеров напрямую в стакан.
Для старта достаточно Python, библиотеки py-clob-client и базового понимания того, как работают предсказательные рынки. Если ты уже знаком с основами работы на Polymarket, следующий шаг — написать простого бота, который отслеживает изменения котировок и реагирует на них автоматически.
Начни с read-only режима: собирай данные, строй модели, тестируй гипотезы. Торговые запросы через Polymarket API добавляй только после того, как логика стратегии проверена на исторических данных.
Частые вопросы
Нужен ли API-ключ для работы с Polymarket API?
Для чтения публичных данных — нет. Для отправки ордеров и управления позициями нужна L1-аутентификация через ECDSA-подпись кошелька и L2-ключ, который генерируется через интерфейс Polymarket.
Какой язык программирования лучше использовать для Polymarket API?
Python — наиболее популярный выбор: есть официальный SDK py-clob-client и большое сообщество. Подойдёт любой язык с поддержкой HTTP-запросов и библиотеками для работы с Ethereum-подписями.
Есть ли лимиты запросов к Polymarket CLOB API?
Да, публичные endpoints ограничены примерно 100 запросами в минуту. Приватные endpoints для торговли имеют более строгие лимиты — рекомендуется добавлять задержки между запросами и обрабатывать ошибку 429.
Как получить данные об открытых рынках через Polymarket API?
Используй GET /markets для получения списка активных рынков. Каждый рынок содержит condition_id, токены и текущие котировки. Фильтрацию можно делать по параметрам active и closed.
Можно ли запустить торгового бота на Polymarket без программирования?
Без базовых навыков Python или JavaScript — сложно. Но существуют готовые шаблоны ботов и no-code инструменты, которые подключаются к API через webhook. Подробнее об автоматизации — в нашем обзоре торговых ботов.
Что такое CLOB в контексте Polymarket API?
CLOB расшифровывается как Central Limit Order Book — централизованный стакан ордеров. Polymarket CLOB API позволяет размещать лимитные и рыночные ордера напрямую в стакан, минуя интерфейс сайта.
Telegram-канал
Присоединяйся к нашему каналу — ежедневные сигналы, разборы стратегий, обзоры рынков и эксклюзивная аналитика.
- Ежедневные обзоры рынков Polymarket
- Реальные позиции с обоснованием
- Стратегии заработка и арбитража
Читайте также
Что такое Polymarket: полный гайд на русском 2026
Подробный разбор Polymarket — как работает платформа, как делать ставки, стратегии заработка. Полный гайд на русском языке.
5 стратегий заработка на Polymarket: от новичка до профи
Проверенные стратегии заработка на рынке прогнозов Polymarket. Арбитраж, маркет-мейкинг, инфоедж и другие подходы.
Торговые боты для крипты: обзор и сравнение 2026
Сравнение крипто-ботов 2026: 3Commas, Pionex, Hummingbot, freqtrade. Какой выбрать новичку и трейдеру.