WebSocket API Referansı

Balina pozisyonları, fonlama oranları, likidasyonlar ve AI onay skorları için gerçek zamanlı veri akışı. Otomatik yeniden bağlantı, verimli veri sıkıştırma ve çoklu akış abonelikleri ile saniyenin altında gecikme.

Genel Bakış

WebSocket API, gerçek zamanlı kripto para türev verileri için düşük gecikmeli, çift yönlü iletişim sağlar. REST endpoint'lerini her 5-30 saniyede bir sorgulamak yerine, WebSocket bağlantıları piyasa koşulları değiştiğinde güncellemeleri anında iletir. Alım satım botları, uyarı sistemleri ve gerçek zamanlı panolar için idealdir.

WebSocket'in REST'e göre temel avantajları:

Piyasayı hareketlendiren olaylar için saniyenin altında gecikme (likidasyonlar, balina hareketleri)
Delta kodlamalı güncellemelerle verimli bant genişliği kullanımı
Tek bağlantı üzerinde birden fazla eşzamanlı abonelik
Sunucu tarafında filtreleme ve toplama
Otomatik kalp atışı ve yeniden bağlantı işleme
Kotanıza karşı daha düşük API istek sayısı
WebSocket bağlantıları tüm API katmanları için mevcuttur. Ücretsiz katman kullanıcıları fonlama oranları ve likidasyon akışlarına abone olabilir. Trader ve Pro katmanları balina pozisyonları, açık pozisyon ve onay skorlarını açar.

Kimlik Doğrulama

WebSocket bağlantıları, REST endpoint'leriyle aynı kimlik doğrulamayı kullanır. API anahtarınızı bir sorgu parametresi olarak geçirin veya bağlandıktan sonra ilk mesajda gönderin.

Bağlantı URL'si

Temel WebSocket URL'si: wss://ws.smartmoneyapi.com/stream

Bağlantı URL'sine API anahtarınızı ekleyin:

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

Bağlantı Yaşam Döngüsü

İlk Bağlantı

WebSocket endpoint'ine bağlandığınızda, sunucu kimlik doğrulama belirtecinizi doğrular ve bir bağlantı onayı gönderir.

Sunucu Yanıtı (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 }

Kalp Atışı (Ping/Pong)

Sunucu her 30 saniyede bir periyodik kalp atışı ping'leri gönderir. İstemciniz bağlantıyı canlı tutmak için bir pong mesajıyla yanıt vermelidir. Sunucu 10 saniye içinde bir pong yanıtı almazsa bağlantı kapatılır.

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") { // Ping'e pong ile yanıt ver ws.send(JSON.stringify({ type: "pong", id: msg.id })); } }; ws.onopen = () => { console.log("WebSocket'e bağlandı"); };

Abonelikler

Bağlandıktan sonra, abonelik mesajlarını kullanarak veri akışlarına abone olun. Her abonelik, piyasa verileri değiştiğinde güncellemeler üretir.

Abonelik Mesajı Formatı

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

Abonelikten Çıkma Mesajı Formatı

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

Balina Pozisyonları Akışı

İzlenen tüm semboller ve borsalardaki büyük balina pozisyonları için gerçek zamanlı güncellemeler. Balinalar pozisyon açtığında, kapattığında veya değiştirdiğinde güncellemeler gönderilir. Giriş fiyatı, mevcut fiyat, P&L, kaldıraç ve likidasyon riskini içerir.

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

Güncelleme Mesajı

JSON — Güncelleme
{ "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" } }

Fonlama Oranları Akışı

Bybit, Binance ve Hyperliquid üzerinden gerçek zamanlı fonlama oranı güncellemeleri. Her 1 dakikada veya oranlar önemli ölçüde değiştiğinde güncellemeler gönderilir. Bireysel borsa oranlarını ve toplu metrikleri içerir.

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

Güncelleme Mesajı

JSON — Güncelleme
{ "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 } } }

Likidasyonlar Akışı

Kaldıraçlı pozisyonların zorla kapatılmasını gösteren gerçek zamanlı likidasyon beslemesi. Pozisyon büyüklüğü, likidasyon fiyatı, yön (long/short) ve borsayı içerir. Likidasyon kaskadlarını ve yüksek etkili piyasa hareketlerini belirlemek için kullanışlıdır.

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

Güncelleme Mesajı

JSON — Güncelleme
{ "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" } }

Açık Pozisyon Akışı

Her semboldeki tüm kaldıraçlı yatırımcılar için toplam açık pozisyon. OI artışlarını (kaldıraçlı işlemlere daha fazla para girişi) ve azalışlarını (pozisyonların kapanması) takip edin. OI'nin fiyat hareketinden sapması, gizli boğa/ayı tükenişini belirler.

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

Onay Skorları Akışı

Balina pozisyonları, zincir üstü sinyaller, fonlama oranları ve duygu verilerini birleştiren gerçek zamanlı AI onay skorları. Altta yatan sinyaller değiştiğinde skorlar güncellenir, alım satım algoritmaları için canlı giriş/çıkış sinyalleri sağlar.

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

Otomatik Yeniden Bağlantı Mantığı

Ağ sorunları veya sunucu bakımı bağlantıların kesilmesine neden olabilir. Sunucu yüküne saygı gösterirken hatalardan otomatik olarak kurtulmak için üstel geri çekme yeniden bağlantı mantığını uygulayın.

Önerilen Yeniden Bağlantı Stratejisi

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("Bağlandı"); this.reconnectDelay = 1000; // Geri çekmeyi sıfırla this.resubscribe(); // Yeniden bağlandıktan sonra yeniden abone ol }; 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 hatası:", err); } reconnect() { console.log(`Yeniden bağlanıyor: ${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(`Güncelleme: ${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 });

Kod Örnekleri

Python WebSocket İstemcisi

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: # Bağlantı onayını bekle ack = await websocket.recv() print(f"Bağlandı: {ack}") # Balina pozisyonlarına abone ol await websocket.send(json.dumps({ "type": "subscribe", "channel": "whale_positions", "symbols": ["BTCUSDT", "ETHUSDT"] })) # Güncellemeleri dinle while True: try: msg = await websocket.recv() data = json.loads(msg) if data["type"] == "ping": # Ping'e yanıt ver await websocket.send(json.dumps({ "type": "pong", "id": data["id"] })) elif data["type"] == "data": print(f"Yeni pozisyon: {data['data']}") except websockets.exceptions.ConnectionClosed: print("Bağlantı kapandı, yeniden bağlanıyor...") await asyncio.sleep(1) asyncio.run(stream_whale_positions())

Performans İpuçları

Abone olurken filtrele: Uygulamanızda filtreleme yapmak yerine, sunucu tarafında veri filtrelemek için params nesnesini kullanın (min_position_size, min_size_usd).
Toplu abonelikler: Sembol başına bir abonelik yerine tek bir mesajda birden fazla sembole abone olun.
Kullanılmayanları abonelikten çıkarın: Bir akışa artık ihtiyacınız olmadığında, bant genişliğini korumak ve mesaj hacmini azaltmak için abonelikten çıkın.
Gzip sıkıştırmasını kullanın: WebSocket istemcinizde mesaj sıkıştırmayı etkinleştirerek bant genişliği tasarrufu sağlayın (%20-40 azalma).
Bağlantı sağlığını izleyin: Ping/pong gecikmesini ve otomatik yeniden bağlantıları takip ederek ağ sorunlarını teşhis edin.
Bağlantı kesildiğinde mesajları tamponlayın: Bağlantı kesildiğinde, strateji sinyallerini sıraya alın ve yeniden bağlandığınızda bunları uygulayın.

Hemen Akışa Başlayın

API anahtarınızı alın ve gerçek zamanlı alım satım sistemleri oluşturmaya başlayın. WebSocket yayını tüm kademelerde mevcuttur.

API Anahtarı Al

Gerçek Zamanlı Alım Satım Sistemleri Oluşturun

Balina pozisyonlarını, fonlama oranlarını ve AI onay skorlarını saniyenin altında gecikme ile takip edin.

Planları Görüntüle
Ücretsiz başlayın — günde 100 çağrı, kart gerekmez

Tek bir API ile 3 borsadan canlı balina akışı, fonlama, açık pozisyon ve on-chain verileri alın. Ücretsiz kademe, kredi kartı gerekmez, istediğiniz zaman yükseltebilirsiniz.

Ücretsiz başlayın →
Canlı API konsolunu deneyin → (hesap gerekmez)
API anahtarınızı 30 saniyede alın

Hazır mısınız? Ücretsiz bir API anahtarı alın (günde 100 çağrı, kart gerekmez) ve canlı balina, fonlama ve on-chain verilerini çekmeye başlayın.

API anahtarınızı alın →