Skip to content

Фреймы

Все команды клиента и ответы сервера — 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"
  }
}
FieldDescription
opДолжно быть "subscribe"
idCorrelation 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": {}
}
FieldDescription
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.

Realtime Solana data API