WebSocket API ریفرنس

وہیل پوزیشنز، فنڈنگ ریٹس، لکویڈیشنز، اور AI کنفرمیشن اسکورز کے لیے ریئل ٹائم ڈیٹا سٹریمنگ۔ سب سیکنڈ لیٹنسی کے ساتھ خودکار ری کنکشن، موثر ڈیٹا کمپریشن، اور ملٹی سٹریم سبسکرپشنز۔

اوور ویو

WebSocket API کرپٹو کرنسی ڈیریویٹو ڈیٹا کے لیے کم لیٹنسی، دو طرفہ کمیونیکیشن فراہم کرتا ہے۔ ہر 5-30 سیکنڈ میں REST اینڈ پوائنٹس کو پول کرنے کے بجائے، WebSocket کنکشنز مارکیٹ کی تبدیلیوں کو فوری طور پر اپ ڈیٹ کرتے ہیں۔ ٹریڈنگ بوٹس، الرٹ سسٹمز، اور ریئل ٹائم ڈیش بورڈز کے لیے بہترین۔

REST کے مقابلے میں WebSocket کے کلیدی فوائد:

مارکیٹ موونگ ایونٹس کے لیے سب سیکنڈ لیٹنسی (لکویڈیشنز، وہیل موومنٹس)
ڈیلٹا انکوڈڈ اپ ڈیٹس کے ساتھ بینڈوتھ کا موثر استعمال
سنگل کنکشن پر متعدد ایک ساتھ سبسکرپشنز
سرور سائیڈ فلٹرنگ اور ایگریگیشن
خودکار ہارٹ بیٹ اور ری کنکشن ہینڈلنگ
آپ کے کوٹے کے خلاف کم API درخواستیں
WebSocket کنکشنز تمام API ٹیئرز کے لیے دستیاب ہیں۔ فری ٹیئر صارفین فنڈنگ ریٹس اور لکویڈیشنز سٹریمز کو سبسکرائب کر سکتے ہیں۔ ٹریڈر اور پرو ٹیئرز وہیل پوزیشنز، اوپن انٹرسٹ، اور کنفرمیشن اسکورز کو انلاک کرتے ہیں۔

تصدیق

WebSocket کنکشنز REST اینڈ پوائنٹس کی طرح ہی تصدیق استعمال کرتے ہیں۔ اپنا API کلید کوئری پیرامیٹر کے طور پر پاس کریں یا کنکشن کے بعد پہلے میسج میں بھیجیں۔

کنکشن URL

بیس WebSocket URL: wss://ws.smartmoneyapi.com/stream

کنکشن URL میں اپنا API کلید شامل کریں:

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

کنکشن لائف سائیکل

ابتدائی کنکشن

جب آپ WebSocket اینڈ پوائنٹ سے کنکٹ ہوتے ہیں، سرور آپ کے تصدیقی ٹوکن کو ویلیڈیٹ کرتا ہے اور کنکشن کی تصدیق بھیجتا ہے۔

سرور کا جواب (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 }

ہارٹ بیٹ (پنگ/پونگ)

سرور ہر 30 سیکنڈ میں وقفے وقفے سے ہارٹ بیٹ پنگ بھیجتا ہے۔ آپ کے کلائنٹ کو کنکشن کو زندہ رکھنے کے لیے پونگ میسج کے ساتھ جواب دینا ہوگا۔ اگر سرور کو 10 سیکنڈ کے اندر پونگ کا جواب موصول نہیں ہوتا، تو کنکشن بند کر دیا جائے گا۔

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

سبسکرپشنز

کنکشن کے بعد، سبسکرپشن میسجز کا استعمال کرتے ہوئے ڈیٹا سٹریمز کو سبسکرائب کریں۔ ہر سبسکرپشن مارکیٹ ڈیٹا کی تبدیلی پر اپ ڈیٹس جنریٹ کرتی ہے۔

سبسکرپشن میسج فارمیٹ

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

ان سبسکرائب میسج فارمیٹ

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

وہیل پوزیشنز سٹریم

ٹریک کیے گئے تمام علامات اور ایکسچینجز پر بڑی وہیل پوزیشنز کے لیے ریئل ٹائم اپ ڈیٹس۔ اپ ڈیٹس اس وقت بھیجی جاتی ہیں جب وہیل پوزیشنز کھولتے، بند کرتے یا تبدیل کرتے ہیں۔ انٹری قیمت، موجودہ قیمت، P&L، لیوریج، اور لکویڈیشن رسک شامل ہیں۔

JSON — سبسکرائب
{ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

اپ ڈیٹ میسج

JSON — اپ ڈیٹ
{ "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" } }

فنڈنگ ریٹس سٹریم

Bybit، Binance، اور Hyperliquid پر ریئل ٹائم فنڈنگ ریٹ اپ ڈیٹس۔ ہر 1 منٹ میں یا جب ریٹس میں نمایاں تبدیلی آتی ہے تو اپ ڈیٹس بھیجی جاتی ہیں۔ انفرادی ایکسچینج ریٹس اور مجموعی میٹرکس شامل ہیں۔

JSON — سبسکرائب
{ "type": "subscribe", "channel": "funding_rates", "symbols": ["BTCUSDT", "ETHUSDT"] }

اپ ڈیٹ میسج

JSON — اپ ڈیٹ
{ "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 } } }

لکویڈیشنز سٹریم

لیوریجڈ پوزیشنز کے فورسڈ کلوزرز کو دکھانے والی ریئل ٹائم لکویڈیشن فیڈ۔ پوزیشن سائز، لکویڈیشن قیمت، سمت (لانگ/شارٹ)، اور ایکسچینج شامل ہیں۔ لکویڈیشن کیسکیڈز اور ہائی امپیکٹ مارکیٹ موومنٹس کی شناخت کے لیے مفید۔

JSON — سبسکرائب
{ "type": "subscribe", "channel": "liquidations", "params": { "min_size_usd": 50000 } }

اپ ڈیٹ میسج

JSON — اپ ڈیٹ
{ "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" } }

اوپن انٹرسٹ سٹریم

ہر علامت پر تمام لیوریج ٹریڈرز کے لیے مجموعی اوپن انٹرسٹ۔ OI میں اضافہ (لیوریج میں زیادہ رقم داخل ہونا) اور کمی (پوزیشنز بند ہونا) کو ٹریک کریں۔ قیمت کی حرکت سے OI کی ڈائیورجنٹس بلش/بئیرش ایکزاسشن کی شناخت کرتی ہے۔

JSON — سبسکرائب
{ "type": "subscribe", "channel": "open_interest", "symbols": ["BTCUSDT", "ETHUSDT"] }

کنفرمیشن اسکورز سٹریم

وہیل پوزیشنز، آن چین سگنلز، فنڈنگ ریٹس، اور سینٹیمنٹ ڈیٹا کو ملا کر ریئل ٹائم AI کنفرمیشن اسکورز۔ اسکورز اس وقت اپ ڈیٹ ہوتے ہیں جب بنیادی سگنلز تبدیل ہوتے ہیں، جو ٹریڈنگ الگورتھمز کے لیے لائیو انٹری/ایگزٹ سگنلز فراہم کرتے ہیں۔

JSON — سبسکرائب
{ "type": "subscribe", "channel": "confirmation_scores", "symbols": ["BTCUSDT", "ETHUSDT", "SOLUSDT"] }

خودکار ری کنکشن لوژک

نیٹ ورک کے مسائل یا سرور کی دیکھ بھال سے ڈسکنکشن ہو سکتا ہے۔ ایکسپونینشل بیک آف ری کنکشن لوژک کو ناکامیوں سے خودکار طور پر بحال کرنے کے لیے لاگو کریں جبکہ سرور لوڈ کا احترام کریں۔

تجویز کردہ ری کنکشن اسٹریٹیجی

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; // Reset backoff this.resubscribe(); // Re-subscribe after reconnect }; 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 });

کوڈ مثالیں

Python WebSocket کلائنٹ

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: # Wait for connection ack ack = await websocket.recv() print(f"Connected: {ack}") # Subscribe to whale positions await websocket.send(json.dumps({ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"] })) # Listen for updates while True: try: msg = await websocket.recv() data = json.loads(msg) if data["type"] == "ping": # Respond to 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())

پرفارمنس ٹپس

سبسکرائب پر فلٹر کریں: اپلیکیشن میں فلٹر کرنے کے بجائے سرور سائیڈ ڈیٹا کو فلٹر کرنے کے لیے پیرامز آبجیکٹ کا استعمال کریں (min_position_size, min_size_usd)۔
بیچ سبسکرپشنز: ایک علامت فی سبسکرپشن کے بجائے ایک ہی میسج میں متعدد علامات کو سبسکرائب کریں۔
غیر استعمال شدہ کو ان سبسکرائب کریں: جب آپ کو کسی سٹریم کی ضرورت نہ ہو، تو بینڈوتھ بچانے اور میسج والیوم کو کم کرنے کے لیے ان سبسکرائب کریں۔
gzip کمپریشن استعمال کریں: بینڈوتھ کی بچت کے لیے اپنے WebSocket کلائنٹ میں میسج کمپریشن کو فعال کریں (20-40% کمی)۔
کنکشن کی صحت کی نگرانی کریں: نیٹ ورک کے مسائل کی تشخیص کے لیے پنگ/پونگ لیٹنسی اور خودکار ری کنکشنز کو ٹریک کریں۔
ڈسکنکشن کے دوران میسجز کو بفر کریں: جب کنکشن ڈراپ ہوتا ہے، تو اسٹریٹیجی سگنلز کو قطار میں لگائیں اور انہیں دوبارہ کنکٹ ہونے پر عمل میں لائیں۔

ابھی سٹریمنگ شروع کریں

اپنا API کلید حاصل کریں اور ریئل ٹائم ٹریڈنگ سسٹمز بنانا شروع کریں۔ WebSocket سٹریمنگ تمام ٹیئرز پر دستیاب ہے۔

API کلید حاصل کریں

ریئل ٹائم ٹریڈنگ سسٹمز بنائیں

وہیل پوزیشنز، فنڈنگ ریٹس، اور AI تصدیقی اسکورز کو سیکنڈ سے کم تاخیر کے ساتھ سٹریم کریں۔

پلانز دیکھیں
مفت شروع کریں — 100 کالز/دن، کارڈ کی ضرورت نہیں

3 ایکسچینجز سے لائیو وہیل فلو، فنڈنگ، اوپن انٹرسٹ اور آن چین ڈیٹا ایک API سے حاصل کریں۔ مفت ٹیئر، کریڈٹ کارڈ کی ضرورت نہیں، کسی بھی وقت اپ گریڈ کریں۔

مفت شروع کریں →
لائیو API کنسول آزمائیں → (اکاؤنٹ کی ضرورت نہیں)
اپنا API کلید 30 سیکنڈ میں حاصل کریں

بنانے کے لیے تیار ہیں؟ ایک مفت API کلید حاصل کریں (100 کالز/دن، کارڈ کی ضرورت نہیں) اور لائیو وہیل، فنڈنگ اور آن چین ڈیٹا پل کرنا شروع کریں۔

اپنا API کلید حاصل کریں →