Фреймы
Все команды клиента и ответы сервера — JSON-объекты с полем op.
Authenticate
Передайте API-ключ в URL или отправьте его первым сообщением:
json
{ "op": "auth", "key": "tsk_live_..." }Используйте форму сообщения, если не хотите ключ в WebSocket URL.
Subscribe
json
{
"op": "subscribe",
"id": 1,
"stream": "token_trades",
"params": {
"mint": "DD9e...",
"detail": "full"
}
}| Field | Description |
|---|---|
op | Должно быть "subscribe" |
id | Correlation id клиента; ответы сервера на команду его несут |
stream | Одно из восьми имён стримов |
params | Цель стрима, фильтры и опции детализации |
cursor | Опциональный курсор replay рядом с stream, а не внутри params |
Сервер подтверждает успешную подписку и назначает ей id:
json
{ "op": "ack", "id": 1, "sub": "tt_1" }Используйте sub, чтобы сопоставлять последующие события и отписываться.
Валидация параметров
- Список принимает не более 50 значений.
- Строка принимает не более 64 символов.
- Неизвестные параметры завершаются с
invalid_params, поэтому опечатки не игнорируются молча. - Обязательные цели стрима (
mintилиwallet) должны быть валидными адресами Solana.
Event
json
{
"op": "event",
"sub": "tt_1",
"stream": "token_trades",
"cursor": "436312304:15:0",
"data": {}
}| Field | Description |
|---|---|
sub | Подписка, породившая событие |
stream | Имя стрима |
cursor | Позиция события для replay после переподключения |
data | Полезная нагрузка конкретного стрима |
Unsubscribe
json
{ "op": "unsubscribe", "id": 2, "sub": "tt_1" }Значение sub — id, возвращённый в подтверждении подписки.
Проверка соединения
json
{ "op": "ping", "id": 3 }Сервер отвечает:
json
{ "op": "pong", "id": 3 }Пинги протокола WebSocket тоже отправляются. JSON-команда полезна через прокси, которые съедают protocol-level ping.
Ошибки и notices
Ошибки включают id команды, которая их вызвала. Notices асинхронны и обычно включают затронутый sub. См. Ошибки и notices.