WebSocket API-referens

Realtidsdataströmning för valpositioner, finansieringsräntor, likvidationer och AI-bekräftelsepoäng. Subsekundfördröjning med automatisk återanslutning, effektiv datakomprimering och flerströmsprenumerationer.

Översikt

WebSocket API:et ger låglatens, tvåvägskommunikation för realtidsdata om kryptoderivat. Istället för att polla REST-slutpunkter var 5-30:e sekund levererar WebSocket-anslutningar uppdateringar omedelbart när marknadsförhållandena ändras. Perfekt för handelsrobotar, varningssystem och realtidsinstrumentpaneler.

Nyckelfördelar med WebSocket över REST:

Subsekundfördröjning för marknadsrörande händelser (likvidationer, valrörelser)
Effektiv bandbreddsanvändning med delta-kodade uppdateringar
Flera samtidiga prenumerationer på en enda anslutning
Filtrering och aggregering på serversidan
Automatisk hjärtslagshantering och återanslutning
Lägre antal API-förfrågningar mot din kvot
WebSocket-anslutningar är tillgängliga för alla API-nivåer. Användare på fri nivå kan prenumerera på finansieringsräntor och likvidationsströmmar. Handlare och Pro-nivåer låser upp valpositioner, öppet intresse och bekräftelsepoäng.

Autentisering

WebSocket-anslutningar använder samma autentisering som REST-slutpunkter. Skicka din API-nyckel som en frågeparameter eller skicka den i det första meddelandet efter anslutning.

Anslutnings-URL

Bas-WebSocket-URL: wss://ws.smartmoneyapi.com/stream

Inkludera din API-nyckel i anslutnings-URL:en:

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

Anslutningslivscykel

Inledande anslutning

När du ansluter till WebSocket-slutpunkten validerar servern ditt autentiseringstoken och skickar en anslutningsbekräftelse.

Serverrespons (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 }

Hjärtslag (Ping/Pong)

Servern skickar periodiska hjärtslagspingar var 30:e sekund. Din klient måste svara med ett pong-meddelande för att hålla anslutningen vid liv. Om servern inte får ett pong-svar inom 10 sekunder kommer anslutningen att stängas.

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") { // Svara på ping med pong ws.send(JSON.stringify({ type: "pong", id: msg.id })); } }; ws.onopen = () => { console.log("Connected to WebSocket"); };

Prenumerationer

Efter anslutning, prenumerera på dataströmmar med hjälp av prenumerationsmeddelanden. Varje prenumeration genererar uppdateringar när marknadsdata ändras.

Prenumerationsmeddelandeformat

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

Avprenumerationsmeddelandeformat

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

Valpositionsström

Realtidsuppdateringar för stora valpositioner på alla spårade symboler och börser. Uppdateringar skickas när valar öppnar, stänger eller ändrar positioner. Inkluderar ingångspris, aktuellt pris, P&L, hävstång och likvidationsrisk.

JSON — Prenumerera
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

Uppdateringsmeddelande

JSON — Uppdatera
{ "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" } }

Finansieringsränteström

Realtidsuppdateringar av finansieringsräntor över Bybit, Binance och Hyperliquid. Uppdateras varje minut eller när räntorna ändras signifikant. Inkluderar individuella börsräntor och aggregerade mått.

JSON — Prenumerera
{ "type": "subscribe", "channel": "funding_rates", "symbols": ["BTCUSDT", "ETHUSDT"] }

Uppdateringsmeddelande

JSON — Uppdatera
{ "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 } } }

Likvidationsström

Realtidsflöde för tvångsstängningar av hävstångspositioner. Inkluderar positionsstorlek, likvidationspris, riktning (lång/kort) och börs. Användbart för att identifiera likvidationskaskader och högimpactmarknadsrörelser.

JSON — Prenumerera
{ "type": "subscribe", "channel": "liquidations", "params": { "min_size_usd": 50000 } }

Uppdateringsmeddelande

JSON — Uppdatera
{ "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" } }

Öppet intresse-ström

Aggregerat öppet intresse för alla hävstångshandlare på varje symbol. Spåra ökningar i OI (mer pengar som går in i hävstång) och minskningar (positioner som stängs). OI-divergens från prisrörelse identifierar dolda bullish/bearish utmattningar.

JSON — Prenumerera
{ "type": "subscribe", "channel": "open_interest", "symbols": ["BTCUSDT", "ETHUSDT"] }

Bekräftelsepoängström

Realtids AI-bekräftelsepoäng som kombinerar valpositioner, on-chain-signaler, finansieringsräntor och sentimentdata. Poäng uppdateras när underliggande signaler ändras, vilket ger live ingångs/utgångssignaler för handelsalgoritmer.

JSON — Prenumerera
{ "type": "subscribe", "channel": "confirmation_scores", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

Automatisk återanslutningslogik

Nätverksproblem eller serverunderhåll kan orsaka frånkopplingar. Implementera exponentiell backoff-återanslutningslogik för att automatiskt återhämta sig från fel samtidigt som serverbelastningen respekteras.

Rekommenderad återanslutningsstrategi

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("Connected"); this.reconnectDelay = 1000; // Återställ backoff this.resubscribe(); // Prenumerera igen efter återanslutning }; 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(`Reconnecting in ${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(`Update: ${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 });

Kodexempel

Python WebSocket-klient

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: # Vänta på anslutningsack ack = await websocket.recv() print(f"Connected: {ack}") # Prenumerera på valpositioner await websocket.send(json.dumps({ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"] })) # Lyssna efter uppdateringar while True: try: msg = await websocket.recv() data = json.loads(msg) if data["type"] == "ping": # Svara på ping await websocket.send(json.dumps({ "type": "pong", "id": data["id"] })) elif data["type"] == "data": print(f"New position: {data['data']}") except websockets.exceptions.ConnectionClosed: print("Connection closed, reconnecting...") await asyncio.sleep(1) asyncio.run(stream_whale_positions())

Prestandatips

Filtrera vid prenumeration: Använd params-objektet för att filtrera data på serversidan (min_position_size, min_size_usd) istället för att filtrera i din applikation.
Batchprenumerationer: Prenumerera på flera symboler i ett enda meddelande istället för en prenumeration per symbol.
Avprenumerera oanvända: När du inte längre behöver en ström, avprenumerera för att spara bandbredd och minska meddelandevolymen.
Använd gzip-komprimering: Aktivera meddelandekomprimering i din WebSocket-klient för bandbreddsbesparingar (20-40% reduktion).
Övervaka anslutningshälsa: Spåra ping/pong-latens och automatiska återanslutningar för att diagnostisera nätverksproblem.
Buffra meddelanden under frånkoppling: När anslutningen bryts, köa upp strategisignaler och utför dem när du återansluts.

Börja strömma nu

Skaffa din API-nyckel och börja bygga realtidshandelsystem. WebSocket-strömning finns tillgänglig på alla nivåer.

Skaffa API-nyckel

Bygg realtidshandelsystem

Strömma valjepositioner, finansieringsräntor och AI-bekräftelsepoäng med fördröjning under en sekund.

Visa planer
Börja gratis – 200 anrop/dag, inget kort behövs

Få live-data om valjeflöden, finansiering, öppet intresse och on-chain-data från 3 börser via ett API. Gratis nivå, inget kreditkort behövs, uppgradera när som helst.

Börja gratis →
Testa live API-konsolen → (inget konto behövs)
Skaffa din API-nyckel på 30 sekunder

Redo att bygga? Hämta en gratis API-nyckel (200 anrop/dag, inget kort behövs) och börja hämta live-data om valjor, finansiering och on-chain-data.

Skaffa din API-nyckel →