Аутентификация

CLOB API использует двухуровневую систему аутентификации.

Уровни

УровеньМетодИспользование
L1Private Key + EIP-712Управление API ключами
L2API Key + Secret + HMACТорговые операции

L1 — Private Key

Для создания/удаления API ключей требуется подпись EIP-712:

POLY_ADDRESS = "0x..."  # Ваш кошелёк
POLY_TIMESTAMP = "1234567890"  # Unix timestamp
POLY_NONCE = "0"
POLY_SIGNATURE = "0x..."  # EIP-712 подпись

L2 — API Key

Для торговых операций используйте API ключ:

POLY_API_KEY = "your-api-key"
POLY_TIMESTAMP = "1234567890"
POLY_SIGNATURE = HMAC-SHA256(secret, timestamp + method + path + body)
POLY_PASSPHRASE = "your-passphrase"

Создание API ключа

POST https://clob.polymarket.com/api-keys

Создаёт новый API ключ для торговли (L2). Требует L1 авторизации — подписи приватным ключом кошелька. Вызывается один раз при настройке. Сохраните secret и passphrase — они показываются только при создании.

{
  "apiKey": "ak-...",
  "secret": "sk-...",
  "passphrase": "pp-..."
}

Получение ключей

GET https://clob.polymarket.com/api-keys

Возвращает список активных API ключей пользователя. Показывает только apiKey, без секретов. Используйте для аудита или перед удалением старых ключей.

Удаление ключа

DELETE https://clob.polymarket.com/api-keys

Отзывает API ключ. После удаления все запросы с этим ключом будут отклонены. Используйте при компрометации ключа или ротации доступов.

SDK

Рекомендуется использовать официальные SDK, которые автоматически обрабатывают аутентификацию:

# Python
pip install py-clob-client

from py_clob_client.client import ClobClient
client = ClobClient(
    host="https://clob.polymarket.com",
    key=private_key,
    chain_id=137
)
client.create_api_key()
# TypeScript
npm install @polymarket/clob-client

import { ClobClient } from "@polymarket/clob-client";
const client = new ClobClient(host, chainId, signer);