Быстрый старт
От нуля до первого события — за несколько минут.
Нужен Node.js с поддержкой WebSocket или Python 3.10+ с пакетом websockets. Браузерные WebSocket подходят для экспериментов, но продакшен-ключи должны оставаться на сервере.
1. Создайте API-ключ
- Войдите на tessium.dev.
- Откройте дашборд.
- Создайте ключ. На бесплатном плане платёжные данные не нужны.
2. Подключитесь
Откройте WebSocket к эндпоинту стрима и передайте ключ как query-параметр:
wss://api.tessium.dev/stream?key=YOUR_API_KEY3. Подпишитесь
После открытия сокета отправьте JSON-фрейм подписки. Этот пример отслеживает каждый новый токен на pump.fun:
Для примера на Python установите единственную зависимость:
pip install websocketsconst ENDPOINT = 'wss://api.tessium.dev/stream?key=YOUR_API_KEY'
const ws = new WebSocket(ENDPOINT)
ws.onopen = () =>
ws.send(
JSON.stringify({
op: 'subscribe',
stream: 'launches',
params: { platforms: ['pumpfun'] },
id: 1,
}),
)
ws.onmessage = (e: MessageEvent) => {
const message = JSON.parse(e.data as string)
if (message.op === 'ack') console.log('subscribed:', message.sub)
if (message.op === 'event') console.log(message.data)
}import asyncio, json, websockets
ENDPOINT = "wss://api.tessium.dev/stream?key=YOUR_API_KEY"
SUB = {
"op": "subscribe",
"stream": "launches",
"params": {"platforms": ["pumpfun"]},
"id": 1,
}
async def main():
async with websockets.connect(ENDPOINT) as ws:
await ws.send(json.dumps(SUB))
async for message in ws:
frame = json.loads(message)
if frame["op"] == "ack":
print("subscribed:", frame["sub"])
elif frame["op"] == "event":
print(frame["data"])
asyncio.run(main())4. Прочитайте событие
Сначала сервер подтверждает подписку:
{ "op": "ack", "id": 1, "sub": "ln_1" }Затем приходят события с "op": "event". Запуск выглядит так:
{
"op": "event",
"sub": "ln_1",
"stream": "launches",
"cursor": "436312304:15:0",
"data": {
"slot": 436312304,
"signature": "2ypWH1eZ...",
"blockTime": 1785482177,
"protocol": "pumpfun",
"mint": "3hz7...pump",
"creator": "9GXm...",
"bondingCurve": "79Pe...",
"name": "Example Token",
"symbol": "EXMP"
}
}Вы в эфире
ack подтверждает, что подписка открыта. Первое event подтверждает полный путь от Solana до вашего потребителя.
Вы подключены, как только пришёл ack. Сохраняйте cursor каждого события после обработки, чтобы восстановить поток после короткого разрыва.