Come ricevere round Crash in tempo reale
Sottoscrivi /v1-beta/stream via WebSocket e ricevi ogni round finalizzato in push entro millisecondi dalla scrittura del nostro scraper. Funziona per stake-crash, roobet-crash, duel-crash, shuffle-crash e i loro fratelli Slide.
1. URL WebSocket
wss://api.trackersino.com/v1-beta/stream — opzionalmente filtra con ?games=stake-crash,roobet-crash. Auth tramite lo stesso header Authorization che usi su REST.
# minimal subscription
wscat -c "wss://api.trackersino.com/v1-beta/stream?games=stake-crash,roobet-crash" \
-H "Authorization: Bearer YOUR_KEY"2. Forma del frame
Ogni frame è un singolo oggetto JSON. game_id identifica la fonte; il resto dei campi rispecchia esattamente la risposta di /rounds.
{
"game_id": "stake-crash",
"round_id": "c2caaf8a-34b3-42b0-8d44-c01cb879049d",
"round_index": 956100250495943837,
"multiplier": "3.1611",
"state": "finalized",
"finalized_at": "2026-05-28T15:05:15Z",
"multiplier_source": "stake",
"raw": { /* full upstream envelope */ }
}3. Strategia di riconnessione
Mandiamo un heartbeat ping ogni 25s. Se ne perdi due consecutivi, droppa la connessione e riconnetti. Alla riconnessione, l'ultimo finalized_at osservato è il punto di ripresa — fai backfill del gap via GET /v1-beta/games/{slug}/rounds?since=<last>.
4. Esempio funzionante
import asyncio, json, websockets
URI = 'wss://api.trackersino.com/v1-beta/stream?games=stake-crash'
HEAD = [('Authorization', 'Bearer YOUR_KEY')]
async def main():
async for ws in websockets.connect(URI, extra_headers=HEAD, ping_interval=20):
try:
async for msg in ws:
r = json.loads(msg)
if float(r['multiplier']) > 10:
print(f"🚀 {r['game_id']} {r['multiplier']}x at {r['finalized_at']}")
except websockets.ConnectionClosed:
continue # auto-reconnect via for-async
asyncio.run(main())import WebSocket from 'ws';
function connect() {
const ws = new WebSocket(
'wss://api.trackersino.com/v1-beta/stream?games=stake-crash',
{ headers: { Authorization: 'Bearer YOUR_KEY' } },
);
ws.on('message', (data) => {
const r = JSON.parse(data);
if (parseFloat(r.multiplier) > 10) {
console.log(`🚀 ${r.game_id} ${r.multiplier}x at ${r.finalized_at}`);
}
});
ws.on('close', () => setTimeout(connect, 1000));
ws.on('error', () => ws.terminate());
}
connect();5. Sottoscrizioni multi-gioco
Passa una lista separata da virgole con games= per ricevere solo i giochi che ti interessano. Vuoto / mancante = ogni gioco del tuo tier.
Casi limite?
La logica di riconnessione varia per stack. Scrivici su Telegram col linguaggio che usi e ti mandiamo un helper production-ready (auto-reconnect, backoff esponenziale, rilevamento gap via /rounds backfill).
Apri Telegram →