WebSocket API Reference

Streamování dat v reálném čase pro pozice velryb, finanční sazby, likvidace a AI potvrzovací skóre. Subsekundová latence s automatickým opětovným připojením, efektivní komprese dat a více streamových odběrů.

Přehled

WebSocket API poskytuje nízkolatenční, obousměrnou komunikaci pro data kryptoměnových derivátů v reálném čase. Místo dotazování REST endpointů každých 5-30 sekund, WebSocket připojení doručují aktualizace okamžitě, když se změní tržní podmínky. Ideální pro obchodní boty, systémy upozornění a dashboardy v reálném čase.

Klíčové výhody WebSocket oproti REST:

Subsekundová latence pro události pohybující trhem (likvidace, pohyby velryb)
Efektivní využití šířky pásma s delta-kódovanými aktualizacemi
Více současných odběrů na jednom připojení
Filtrování a agregace na straně serveru
Automatické heartbeat a zpracování opětovného připojení
Nižší počet API požadavků proti vaší kvótě
WebSocket připojení jsou dostupná pro všechny úrovně API. Uživatelé bezplatné úrovně se mohou přihlásit k odběru streamů finančních sazeb a likvidací. Úrovně Trader a Pro odemknou pozice velryb, otevřený zájem a potvrzovací skóre.

Autentizace

WebSocket připojení používají stejnou autentizaci jako REST endpointy. Předajte svůj API klíč jako parametr dotazu nebo jej odešlete v první zprávě po připojení.

URL připojení

Základní WebSocket URL: wss://ws.smartmoneyapi.com/stream

Zahrňte svůj API klíč do URL připojení:

URL
wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789

Životní cyklus připojení

Počáteční připojení

Když se připojíte k WebSocket endpointu, server ověří váš autentizační token a odešle potvrzení připojení.

Odpověď serveru (JSON)
{ "type": "connection_ack", "connection_id": "conn_1a2b3c4d5e6f7g8h", "server_version": "1.2.4", "timestamp": "2026-03-21T14:35:22Z", "api_tier": "pro", "max_subscriptions": 50, "max_symbols_per_sub": 100 }

Heartbeat (Ping/Pong)

Server posílá periodické heartbeat pingy každých 30 sekund. Váš klient musí odpovědět zprávou pong, aby udržel připojení živé. Pokud server neobdrží odpověď pong do 10 sekund, připojení bude ukončeno.

JavaScript
const ws = new WebSocket("wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789"); ws.onmessage = (event) => { const msg = JSON.parse(event.data); if (msg.type === "ping") { // Odpověď na ping s pong ws.send(JSON.stringify({ type: "pong", id: msg.id })); } }; ws.onopen = () => { console.log("Připojeno k WebSocket"); };

Odběry

Po připojení se přihlaste k odběru datových streamů pomocí odběrových zpráv. Každý odběr generuje aktualizace, kdykoli se změní tržní data.

Formát odběrové zprávy

JSON
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"], "params": { "min_position_size": 10, "exchanges": ["bybit", "binance"] } }

Formát zprávy pro odhlášení

JSON
{ "type": "unsubscribe", "channel": "whale_positions", "symbols": ["BTCUSDT"] }

Stream pozic velryb

Aktualizace v reálném čase pro velké pozice velryb na všech sledovaných symbolech a burzách. Aktualizace jsou odesílány, když velryby otevírají, zavírají nebo upravují pozice. Zahrnuje vstupní cenu, aktuální cenu, P&L, pákový efekt a riziko likvidace.

JSON — Přihlášení k odběru
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

Aktualizační zpráva

JSON — Aktualizace
{ "type": "data", "channel": "whale_positions", "symbol": "BTCUSDT", "data": { "wallet_address": "0x1234...", "exchange": "bybit", "direction": "long", "position_size": 25.3, "entry_price": 41200.0, "current_price": 43200.5, "pnl": 50701.50, "pnl_percent": 4.86, "leverage": 8, "liquidation_price": 33760.0, "timestamp": "2026-03-21T14:35:45Z" } }

Stream finančních sazeb

Aktualizace finančních sazeb v reálném čase napříč Bybit, Binance a Hyperliquid. Aktualizace každou 1 minutu nebo kdykoli se sazby výrazně změní. Zahrnuje individuální sazby burz a agregované metriky.

JSON — Přihlášení k odběru
{ "type": "subscribe", "channel": "funding_rates", "symbols": ["BTCUSDT", "ETHUSDT"] }

Aktualizační zpráva

JSON — Aktualizace
{ "type": "data", "channel": "funding_rates", "symbol": "BTCUSDT", "data": { "timestamp": "2026-03-21T14:00:00Z", "bybit": { "rate": 0.000120, "next_rate": 0.000145 }, "binance": { "rate": 0.000098, "next_rate": 0.000115 }, "hyperliquid": { "rate": 0.000140, "next_rate": 0.000160 }, "aggregated": { "mean": 0.000119, "median": 0.000120, "spread": 0.000062 } } }

Stream likvidací

Feed likvidací v reálném čase zobrazující nucené uzavření pákových pozic. Zahrnuje velikost pozice, likvidační cenu, směr (long/short) a burzu. Užitečné pro identifikaci kaskád likvidací a tržních pohybů s vysokým dopadem.

JSON — Přihlášení k odběru
{ "type": "subscribe", "channel": "liquidations", "params": { "min_size_usd": 50000 } }

Aktualizační zpráva

JSON — Aktualizace
{ "type": "data", "channel": "liquidations", "data": { "exchange": "binance", "symbol": "BTCUSDT", "direction": "long", "position_size": 12.5, "liquidation_price": 41000.0, "size_usd": 512500.0, "timestamp": "2026-03-21T14:35:12Z" } }

Stream otevřeného zájmu

Agregovaný otevřený zájem pro všechny pákové obchodníky na každém symbolu. Sledujte nárůsty OI (více peněz vstupujících do páky) a poklesy (uzavírání pozic). Divergence OI od pohybu ceny identifikuje skryté býčí/medvědí vyčerpání.

JSON — Přihlášení k odběru
{ "type": "subscribe", "channel": "open_interest", "symbols": ["BTCUSDT", "ETHUSDT"] }

Stream potvrzovacích skóre

Potvrzovací skóre AI v reálném čase kombinující pozice velryb, on-chain signály, finanční sazby a sentimentální data. Skóre se aktualizují, kdykoli se změní základní signály, poskytující živé signály pro vstup/výstup pro obchodní algoritmy.

JSON — Přihlášení k odběru
{ "type": "subscribe", "channel": "confirmation_scores", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

Automatická logika opětovného připojení

Problémy se sítí nebo údržba serveru mohou způsobit odpojení. Implementujte exponenciální backoff logiku opětovného připojení, abyste se automaticky zotavili z chyb při respektování zátěže serveru.

Doporučená strategie opětovného připojení

JavaScript
class SmartMoneyWebSocket { constructor(token, options = {}) { this.token = token; this.maxReconnectDelay = options.maxReconnectDelay || 30000; this.reconnectDelay = 1000; this.subscriptions = new Map(); this.connect(); } connect() { this.ws = new WebSocket( `wss://ws.smartmoneyapi.com/stream?token=${this.token}` ); this.ws.onopen = () => { console.log("Připojeno"); this.reconnectDelay = 1000; // Reset backoff this.resubscribe(); // Opětovné přihlášení po opětovném připojení }; this.ws.onmessage = (event) => { const msg = JSON.parse(event.data); if (msg.type === "ping") { this.ws.send(JSON.stringify({ type: "pong", id: msg.id })); } this.onMessage(msg); }; this.ws.onclose = () => this.reconnect(); this.ws.onerror = (err) => console.error("WebSocket error:", err); } reconnect() { console.log(`Opětovné připojení za ${this.reconnectDelay}ms`); setTimeout(() => { this.connect(); this.reconnectDelay = Math.min( this.reconnectDelay * 1.5, this.maxReconnectDelay ); }, this.reconnectDelay); } subscribe(channel, symbols, params) { const key = `${channel}:${symbols.join(",")}`; this.subscriptions.set(key, { channel, symbols, params }); this.ws.send(JSON.stringify({ type: "subscribe", channel, symbols, params })); } resubscribe() { for (const { channel, symbols, params } of this.subscriptions.values()) { this.ws.send(JSON.stringify({ type: "subscribe", channel, symbols, params })); } } onMessage(msg) { if (msg.type === "data") { console.log(`Aktualizace: ${msg.channel}/${msg.symbol}`, msg.data); } } } const client = new SmartMoneyWebSocket("sk_live_abc123xyz789"); client.subscribe("whale_positions", ["BTCUSDT", "ETHUSDT"]); client.subscribe("funding_rates", ["BTCUSDT"]); client.subscribe("liquidations", [], { min_size_usd: 100000 });

Příklady kódu

Python WebSocket Client

Python
import asyncio import json import websockets async def stream_whale_positions(): uri = "wss://ws.smartmoneyapi.com/stream?token=sk_live_abc123xyz789" async with websockets.connect(uri) as websocket: # Čekání na potvrzení připojení ack = await websocket.recv() print(f"Připojeno: {ack}") # Přihlášení k odběru pozic velryb await websocket.send(json.dumps({ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"] })) # Poslech aktualizací while True: try: msg = await websocket.recv() data = json.loads(msg) if data["type"] == "ping": # Odpověď na ping await websocket.send(json.dumps({ "type": "pong", "id": data["id"] })) elif data["type"] == "data": print(f"Nová pozice: {data['data']}") except websockets.exceptions.ConnectionClosed: print("Připojení uzavřeno, opětovné připojování...") await asyncio.sleep(1) asyncio.run(stream_whale_positions())

Tipy pro výkon

Filtrování při přihlášení: Použijte objekt params k filtrování dat na straně serveru (min_position_size, min_size_usd) místo filtrování ve vaší aplikaci.
Dávkové odběry: Přihlaste se k odběru více symbolů v jedné zprávě místo jednoho odběru na symbol.
Odhlášení nepoužívaných: Když již stream nepotřebujete, odhlaste se, abyste ušetřili šířku pásma a snížili objem zpráv.
Použijte gzip kompresi: Povolte kompresi zpráv ve vašem WebSocket klientovi pro úsporu šířky pásma (20-40% snížení).
Sledujte zdraví připojení: Sledujte latenci ping/pong a automatická opětovná připojení k diagnostice problémů se sítí.
Bufferujte zprávy během odpojení: Když připojení spadne, zařaďte strategické signály do fronty a proveďte je po opětovném připojení.

Začněte streamovat nyní

Získejte svůj API klíč a začněte vytvářet systémy pro obchodování v reálném čase. WebSocket streamování je dostupné ve všech úrovních.

Získejte API klíč

Vytvářejte systémy pro obchodování v reálném čase

Streamujte pozice velryb, funding rates a AI potvrzovací skóre s latencí pod sekundu.

Zobrazit plány
Začněte zdarma — 200 volání/den, bez karty

Získejte živý tok velryb, funding, open interest a on-chain data napříč 3 burzami z jednoho API. Volná úroveň, bez kreditní karty, upgrade kdykoli.

Začněte zdarma →
Vyzkoušejte živou API konzoli → (účet není potřeba)
Získejte svůj API klíč za 30 sekund

Připraveni stavět? Získejte zdarma API klíč (200 volání/den, bez karty) a začněte stahovat živá data o velrybách, fundingu a on-chain.

Získejte svůj API klíč →