User Channel
Приватный канал для статусов ордеров. Требует L2 авторизации.
Требуется L2 авторизация
Необходимо передать API ключи при подключении. См. Аутентификация.
Подключение с авторизацией
const timestamp = Date.now().toString();
const signature = hmacSHA256(secret, timestamp + "GET/ws/user");
const ws = new WebSocket("wss://ws-subscriptions-clob.polymarket.com/ws/user");
ws.onopen = () => {
ws.send(JSON.stringify({
type: "auth",
apiKey: "your-api-key",
timestamp: timestamp,
signature: signature,
passphrase: "your-passphrase"
}));
};
Типы событий
order
Уведомление об изменении статуса ордера. Приходит при размещении, частичном исполнении, полном исполнении или отмене. Содержит исполненный и оставшийся объём. Используйте для обновления UI и логики торгового бота без polling /orders.
{
"event_type": "order",
"order_id": "0x123...",
"status": "MATCHED",
"filled_amount": "50.00",
"remaining_amount": "50.00",
"avg_price": "0.65"
}
trade
Уведомление о конкретной сделке по вашему ордеру. Один ордер может генерировать несколько событий trade при частичном исполнении. Содержит точную цену, объём и комиссию каждого fill. Используйте для детального учёта исполнения.
{
"event_type": "trade",
"order_id": "0x123...",
"trade_id": "trade_456",
"size": "50.00",
"price": "0.65",
"fee": "0.25",
"timestamp": 1705329600
}
Статусы ордеров
| Статус | Описание |
|---|---|
LIVE | Активный ордер |
MATCHED | Частично/полностью исполнен |
CANCELLED | Отменён |
Подписка на ордера
// После успешной авторизации
ws.send(JSON.stringify({
type: "subscribe",
channel: "user",
markets: ["0xabc..."] // condition_ids
}));