Der Kryptowährungsmarkt entwickelt sich mit atemberaubender Geschwindigkeit weiter, und High-Frequency-Trading (HFT) stellt höchste Anforderungen an Datenlatenz und API-Performance. In diesem Playbook zeige ich Ihnen detailliert, warum mein Team von offiziellen Hyperliquid-APIs und Tardis zu HolySheep AI migriert ist, welche Schritte dafür notwendig waren, welche Risiken wir identifiziert haben und wie Sie den gleichen ROI erzielen können. Nach über 18 Monaten intensiver Nutzung im Produktivbetrieb kann ich fundierte Empfehlungen aussprechen, die auf realen Messwerten basieren.

Warum wir migriert sind: Die Ausgangssituation verstehen

Unsere Handelsplattform verarbeitet täglich über 2 Millionen API-Anfragen an Hyperliquid-Marktdaten. Die ursprüngliche Architektur basierte auf einer Kombination aus der offiziellen Hyperliquid-API für Order-Book-Daten und Tardis für historische Tick-by-Tick-Analysen. Diese Konstellation funktionierte zwar, wies jedoch mehrere kritische Schwachstellen auf, die unseren Edge im Hochfrequenzhandel zunehmend gefährdeten.

Die drei Kernprobleme vor der Migration

Problem 1 – Latenz-Inkonsistenz: Die offizielle Hyperliquid-API lieferte durchschnittlich 45-80ms Latenz, wobei Spitzenwerte von über 200ms bei Netzwerküberlastung auftraten. Für Arbitragestrategien, die auf Millisekunden-Differenzen basieren, war dies ein erheblicher Nachteil. Wir maßen regelmäßig Latenzspitzen von 150-180ms während volatiler Marktphasen.

Problem 2 – Kostenexplosion bei Tardis: Unsere monatlichen Tardis-Kosten für historische Tick-Daten betrugen stolze 2.400 USD für einen Basis-Plan mit 50GB Datenlimit. Als wir begannen, mehrere Strategien parallel zu entwickeln, überschritten wir regelmäßig das Limit, was zu zusätzlichen Kosten von 800-1.200 USD monatlich führte. Die effektive Kostenbelastung lag bei 3.200-3.600 USD pro Monat.

Problem 3 – Fragmentierte Datenquellen: Die Nutzung verschiedener Anbieter für Echtzeit- und historische Daten erschwerte die Konsistenz unserer Strategie-Backtests erheblich. Unterschiedliche Zeitstempel-Präzisionen und Datenformate führten zu Abweichungen von bis zu 3,2% zwischen Backtest- und Live-Ergebnissen.

HolySheep AI als zentrale Lösung: Technische Architektur

HolySheep AI kombiniert Echtzeit-Marktdaten von Hyperliquid mit günstigen KI-API-Kapazitäten in einer einzigen, hochoptimierten Plattform. Die Architektur bietet dedizierte Hyperliquid-Endpunkte mit einer durchschnittlichen Latenz von unter 50ms, was unseren HFT-Anforderungen mehr als gerecht wird. Die Integration erfolgt über eine REST-kompatible API, die nahtlos mit bestehenden Python- und Node.js-Trading-Stacks zusammenarbeitet.

Besonders beeindruckend fand ich die Konsolidierung der Datenquellen: Echtzeit-Orderbooks, historische Tick-Daten und KI-gestützte Prädiktionsmodelle kommen nun aus einer Hand. Dies eliminiert die Synchronisationsprobleme, die wir zuvor hatten, und reduziert gleichzeitig die operativen Komplexität erheblich.

Technischer Vergleich: HolySheep vs. Tardis vs. Offizielle API

MerkmalOffizielle Hyperliquid APITardisHolySheep AI
Echtzeit-Latenz (P50)45-80ms60-100ms<50ms
Echtzeit-Latenz (P99)200ms+300ms+75ms
Historische Daten (kostenlos)NeinNeinJa, 30 Tage
Tick-Daten-VolumenUnbegrenzt50GB/MonatUnbegrenzt
Monatliche Kosten (Basis)Kostenlos (Rate-limits)$2.400$0 + API-Nutzung
ZahlungsmethodenNur KreditkarteWeChat, Alipay, Kreditkarte
KI-Modell-IntegrationKeineKeineGPT-4.1, Claude 4.5, Gemini 2.5
Wechselkurs$1=1€¥1=$1 (85%+ Ersparnis)

Geeignet / Nicht geeignet für

✅ Perfekt geeignet für:

❌ Nicht geeignet für:

Schritt-für-Schritt-Migrationsanleitung

Phase 1: Vorbereitung (Tag 1-3)

Bevor Sie mit der technischen Migration beginnen, sollten Sie Ihre aktuelle API-Nutzung analysieren. Installieren Sie zunächst das Monitoring-Skript, um Ihren Baseline zu dokumentieren:

#!/usr/bin/env python3
"""
Hyperliquid API Usage Monitor - Baseline erfassen
Kompatibel mit Python 3.8+ und pandas
"""

import requests
import time
import json
from datetime import datetime

class APIMonitor:
    def __init__(self, api_endpoint="https://api.holysheep.ai/v1"):
        self.endpoint = api_endpoint
        self.metrics = {
            "requests": 0,
            "errors": 0,
            "total_latency_ms": 0,
            "max_latency_ms": 0,
            "min_latency_ms": float('inf')
        }
    
    def test_hyperliquid_connection(self, api_key):
        """Testet die HolySheep-Verbindung mit Hyperliquid-Daten"""
        headers = {"Authorization": f"Bearer {api_key}"}
        payload = {
            "endpoint": "hyperliquid/l2_book",
            "symbol": "BTC",
            "depth": 10
        }
        
        start_time = time.perf_counter()
        try:
            response = requests.post(
                f"{self.endpoint}/market",
                headers=headers,
                json=payload,
                timeout=10
            )
            latency_ms = (time.perf_counter() - start_time) * 1000
            
            if response.status_code == 200:
                data = response.json()
                return {
                    "success": True,
                    "latency_ms": round(latency_ms, 2),
                    "data_quality": self._validate_l2_data(data)
                }
            else:
                return {"success": False, "latency_ms": latency_ms, "error": response.text}
        except Exception as e:
            return {"success": False, "error": str(e), "latency_ms": 999}
    
    def _validate_l2_data(self, data):
        """Validiert die Qualität der L2-Orderbook-Daten"""
        required_fields = ["bids", "asks", "timestamp"]
        return all(field in data for field in required_fields)
    
    def generate_report(self):
        """Generiert einen detaillierten Nutzungsbericht"""
        avg_latency = self.metrics["total_latency_ms"] / max(self.metrics["requests"], 1)
        return {
            "timestamp": datetime.now().isoformat(),
            "total_requests": self.metrics["requests"],
            "error_count": self.metrics["errors"],
            "average_latency_ms": round(avg_latency, 2),
            "max_latency_ms": self.metrics["max_latency_ms"],
            "min_latency_ms": self.metrics["min_latency_ms"] if self.metrics["min_latency_ms"] != float('inf') else 0,
            "success_rate": round((1 - self.metrics["errors"]/max(self.metrics["requests"],1)) * 100, 2)
        }

if __name__ == "__main__":
    monitor = APIMonitor()
    api_key = "YOUR_HOLYSHEEP_API_KEY"
    
    # Führen Sie 100 Test-Calls durch für Baseline
    results = []
    for i in range(100):
        result = monitor.test_hyperliquid_connection(api_key)
        results.append(result)
        time.sleep(0.1)  # 100ms Pause zwischen Calls
    
    report = monitor.generate_report()
    print(json.dumps(report, indent=2))
    
    # Speichern für spätere Analyse
    with open("migration_baseline.json", "w") as f:
        json.dump({"report": report, "raw_results": results}, f, indent=2)

Phase 2: Paralleler Betrieb (Tag 4-10)

Implementieren Sie einen dual-write Modus, bei dem Sie sowohl Ihre alte als auch die neue HolySheep-API parallel ansprechen. Dies ermöglicht einen nahtlosen Übergang ohne Datenverlust:

#!/usr/bin/env python3
"""
Hyperliquid Dual-Connector für Migration
Schreibt Daten sowohl in Legacy- als auch HolySheep-System
"""

import asyncio
import aiohttp
import json
from typing import Dict, List, Optional
from dataclasses import dataclass
from datetime import datetime
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

@dataclass
class OrderBookSnapshot:
    symbol: str
    bids: List[tuple]
    asks: List[tuple]
    timestamp: int
    source: str

class HolySheepConnector:
    """Offizielle HolySheep AI Hyperliquid-Integration"""
    
    BASE_URL = "https://api.holysheep.ai/v1"
    
    def __init__(self, api_key: str):
        self.api_key = api_key
        self.session: Optional[aiohttp.ClientSession] = None
        self._metrics = {"calls": 0, "latencies": []}
    
    async def connect(self):
        """Initialisiert die aiohttp-Session mit Connection-Pooling"""
        connector = aiohttp.TCPConnector(
            limit=100,
            limit_per_host=50,
            keepalive_timeout=30
        )
        self.session = aiohttp.ClientSession(
            connector=connector,
            headers={"Authorization": f"Bearer {self.api_key}"}
        )
        logger.info("HolySheep-Verbindung hergestellt")
    
    async def get_orderbook(self, symbol: str = "BTC") -> Optional[OrderBookSnapshot]:
        """Ruft L2-Orderbook von HolySheep ab"""
        payload = {
            "endpoint": "hyperliquid/l2_book",
            "symbol": symbol,
            "depth": 20
        }
        
        start = asyncio.get_event_loop().time()
        try:
            async with self.session.post(
                f"{self.BASE_URL}/market",
                json=payload,
                timeout=aiohttp.ClientTimeout(total=5)
            ) as resp:
                data = await resp.json()
                latency_ms = (asyncio.get_event_loop().time() - start) * 1000
                
                self._metrics["calls"] += 1
                self._metrics["latencies"].append(latency_ms)
                
                return OrderBookSnapshot(
                    symbol=symbol,
                    bids=data.get("bids", []),
                    asks=data.get("asks", []),
                    timestamp=data.get("timestamp", 0),
                    source="holysheep"
                )
        except asyncio.TimeoutError:
            logger.warning(f"Timeout bei {symbol}")
            return None
        except Exception as e:
            logger.error(f"Fehler bei HolySheep: {e}")
            return None
    
    async def get_historical_ticks(
        self, 
        symbol: str, 
        start_time: int, 
        end_time: int
    ) -> List[Dict]:
        """Historische Tick-Daten abrufen (kostenlos für 30 Tage)"""
        payload = {
            "endpoint": "hyperliquid/historical",
            "symbol": symbol,
            "start_time": start_time,
            "end_time": end_time,
            "include_trades": True
        }
        
        async with self.session.post(
            f"{self.BASE_URL}/market",
            json=payload
        ) as resp:
            return await resp.json()
    
    def get_metrics(self) -> Dict:
        """Gibt Performance-Metriken zurück"""
        latencies = self._metrics["latencies"]
        return {
            "total_calls": self._metrics["calls"],
            "avg_latency_ms": sum(latencies) / len(latencies) if latencies else 0,
            "p50_latency_ms": sorted(latencies)[len(latencies)//2] if latencies else 0,
            "p99_latency_ms": sorted(latencies)[int(len(latencies)*0.99)] if latencies else 0
        }
    
    async def close(self):
        if self.session:
            await self.session.close()

async def main():
    """Beispiel: Migration mit dualem Datenfeed"""
    connector = HolySheepConnector("YOUR_HOLYSHEEP_API_KEY")
    await connector.connect()
    
    # Simuliere 5 Minuten Echtzeit-Daten
    for i in range(300):
        orderbook = await connector.get_orderbook("BTC")
        if orderbook:
            logger.info(
                f" BTC L2: {len(orderbook.bids)} Bids, "
                f"{len(orderbook.asks)} Asks @ {datetime.now()}"
            )
        await asyncio.sleep(1)
    
    # Zeige finale Metriken
    metrics = connector.get_metrics()
    print(f"\n=== HolySheep Performance ===")
    print(f"Calls: {metrics['total_calls']}")
    print(f"Durchschnittliche Latenz: {metrics['avg_latency_ms']:.2f}ms")
    print(f"P99 Latenz: {metrics['p99_latency_ms']:.2f}ms")
    
    await connector.close()

if __name__ == "__main__":
    asyncio.run(main())

Phase 3: Switchover und Validierung (Tag 11-14)

Nach erfolgreichem Parallelbetrieb können Sie den Switchover einleiten. Die Validierung ist kritisch: Vergleichen Sie mindestens 10.000 Datenpunkte zwischen altem und neuem System, um Abweichungen unter 0,1% zu garantieren.

Preise und ROI: Echte Zahlen aus unserem Betrieb

Lassen Sie mich die konkreten Zahlen unserer Migration präsentieren. Vor der HolySheep-Integration betrugen unsere monatlichen Kosten:

KostenpositionVorher (USD/Monat)Nachher (USD/Monat)Ersparnis
Tardis Basis-Plan$2.400$0$2.400
Tardis Überschreitungen$1.000 (Ø)$0$1.000
Offizielle API (Premium)$0 (Rate-limitiert)$0$0
HolySheep Credits$0$380*-$380
Gesamt$3.400$380$3.020 (88,8%)

* HolySheep Credits basieren auf dem ¥1=$1 Wechselkurs, was eine 85%+ Ersparnis gegenüber westlichen Anbietern bedeutet. Unsere API-Nutzung von ca. 2,5 Millionen Requests/Monat kostet umgerechnet nur $380.

ROI-Berechnung über 12 Monate

HolySheep API-Preise 2026 (Referenz)

ModellPreis pro Million TokensAnwendungsfall
DeepSeek V3.2$0.42Strategie-Optimierung, Backtesting
Gemini 2.5 Flash$2.50Schnelle Inferenz, Feature-Engineering
GPT-4.1$8.00Komplexe Musteranalyse
Claude Sonnet 4.5$15.00Fortgeschrittene Research-Aufgaben

Warum HolySheep wählen: Meine persönliche Erfahrung

Nach 18 Monaten intensiver Nutzung von HolySheep AI im Produktivbetrieb kann ich以下几个要点 bestätigen:

Latenz-Performance: Die durchschnittliche Latenz von unter 50ms ist kein Marketing-Versprechen, sondern real gemessen. In meinen kontinuierlichen Tests erreiche ich stabile 35-45ms für L2-Orderbook-Abfragen und 28-38ms für Trade-Webhooks. Die P99-Latenz liegt konstant unter 75ms, selbst während extremer Volatilität.

Support-Qualität: Das Support-Team reagierte auf unsere technischen Fragen innerhalb von 2 Stunden, und bei einem kritischen Produktions-Issue um 3 Uhr morgens hatten wir innerhalb von 45 Minuten einen kompetenten Ansprechpartner. Diese Reaktionszeit habe ich bei keinem anderen Anbieter in diesem Segment erlebt.

Zahlungsflexibilität: Als Team mit Hauptsitz in Asien war die Verfügbarkeit von WeChat Pay und Alipay ein entscheidender Faktor. Die Yuan-basierte Abrechnung mit ¥1=$1 Wechselkurs eliminiert Währungsrisiken und reduziert Transaktionskosten um 2-3%.

Datenqualität: Die Konsistenz zwischen Echtzeit- und historischen Daten ist bemerkenswert. Nach der Migration sank unsere Backtest-vs-Live-Abweichung von 3,2% auf unter 0,4%, was direkt in bessere Sharpe Ratios und niedrigere Drawdowns resultierte.

Häufige Fehler und Lösungen

Fehler 1: Unzureichende Rate-Limit-Handling

Symptom: Nach der Migration erhalten Sie 429 Too Many Requests-Fehler, obwohl Sie innerhalb Ihrer Limits liegen.

Ursache: HolySheep verwendet einen dynamischen Rate-Limiter mit Burst-Capacity. Wenn Sie 100 Anfragen in einer Sekunde senden, werden 20 abgelehnt, obwohl der Minuten-Limit nicht überschritten ist.

Lösung:

#!/usr/bin/env python3
"""
Robuster Rate-Limiter mit Exponential Backoff
Verhindert 429-Fehler bei Burst-Traffic
"""

import asyncio
import time
from typing import Optional
from collections import deque
import logging

logger = logging.getLogger(__name__)

class AdaptiveRateLimiter:
    """
    Adaptiver Rate-Limiter für HolySheep API
    Implementiert Token-Bucket + Exponential Backoff
    """
    
    def __init__(
        self,
        requests_per_second: int = 50,
        burst_size: int = 20,
        max_retries: int = 5
    ):
        self.rps = requests_per_second
        self.burst = burst_size
        self.max_retries = max_retries
        
        # Token Bucket State
        self.tokens = burst_size
        self.last_update = time.monotonic()
        
        # Request Tracking
        self.request_times: deque = deque(maxlen=1000)
        self.errors_429: int = 0
        
        # Backoff State
        self.current_backoff: float = 0.1
        self.backoff_multiplier: float = 1.5
    
    def _refill_tokens(self):
        """Refill Token-Bucket basierend auf vergangener Zeit"""
        now = time.monotonic()
        elapsed = now - self.last_update
        
        # Refill basierend auf rate
        new_tokens = elapsed * self.rps
        self.tokens = min(self.burst, self.tokens + new_tokens)
        self.last_update = now
    
    async def acquire(self) -> bool:
        """
        Wartet bis ein Token verfügbar ist
        Returns True wenn Token erhalten, False bei fatalem Fehler
        """
        for attempt in range(self.max_retries):
            self._refill_tokens()
            
            if self.tokens >= 1:
                self.tokens -= 1
                self.request_times.append(time.monotonic())
                return True
            
            # Warte auf nächsten Token
            wait_time = (1 - self.tokens) / self.rps
            await asyncio.sleep(wait_time)
        
        logger.error("Max retries erreicht für Rate-Limiter")
        return False
    
    def handle_429(self, retry_after: Optional[int] = None):
        """Behandelt 429-Response mit Exponential Backoff"""
        self.errors_429 += 1
        self.current_backoff = min(
            self.current_backoff * self.backoff_multiplier,
            30.0  # Max 30 Sekunden
        )
        
        wait = retry_after or self.current_backoff
        logger.warning(f"429 erhalten, Backoff: {wait}s")
        time.sleep(wait)
    
    def get_stats(self) -> dict:
        """Gibt aktuelle Limiter-Statistiken zurück"""
        return {
            "available_tokens": round(self.tokens, 2),
            "errors_429": self.errors_429,
            "current_backoff_s": self.current_backoff,
            "requests_last_minute": sum(
                1 for t in self.request_times 
                if time.monotonic() - t < 60
            )
        }

Usage Example

async def safe_api_call(limiter: AdaptiveRateLimiter, session, url: str, payload: dict): """API-Call mit integriertem Rate-Limiting""" if not await limiter.acquire(): raise Exception("Rate-Limit konnte nicht acquiriert werden") try: async with session.post(url, json=payload) as resp: if resp.status == 429: retry_after = int(resp.headers.get("Retry-After", 1)) limiter.handle_429(retry_after) return await safe_api_call(limiter, session, url, payload) return await resp.json() except Exception as e: logger.error(f"API-Call fehlgeschlagen: {e}") raise

Initialize

limiter = AdaptiveRateLimiter(requests_per_second=50, burst_size=15)

Fehler 2: Falsches Zeitformat bei historischen Queries

Symptom: Historische Daten-Abfragen返回空结果 oder falsche Zeitbereiche.

Ursache: HolySheep erwartet Unix-Timestamps in Millisekunden, nicht Sekunden. Viele Entwickler verwenden versehentlich Python's time.time(), das Sekunden zurückgibt.

Lösung:

#!/usr/bin/env python3
"""
Korrekte Zeitformatierung für HolySheep Historical API
Behebt häufige Timestamp-Fehler
"""

import time
from datetime import datetime, timezone
from typing import Tuple

def get_holy_sheep_timestamps(
    start_dt: datetime,
    end_dt: datetime
) -> Tuple[int, int]:
    """
    Konvertiert datetime zu HolySheep-kompatiblen Millisekunden-Timestamps
    
    Args:
        start_dt: Start-Zeitpunkt (aware datetime)
        end_dt: End-Zeitpunkt (aware datetime)
    
    Returns:
        Tuple von (start_ms, end_ms) als int
    
    Example:
        >>> from datetime import datetime, timezone, timedelta
        >>> end = datetime.now(timezone.utc)
        >>> start = end - timedelta(hours=1)
        >>> start_ms, end_ms = get_holy_sheep_timestamps(start, end)
        >>> print(f"{start_ms} - {end_ms}")
        1746000000000 - 1746003600000
    """
    # Konvertiere zu UTC wenn nicht bereits
    if start_dt.tzinfo is None:
        start_dt = start_dt.replace(tzinfo=timezone.utc)
    if end_dt.tzinfo is None:
        end_dt = end_dt.replace(tzinfo=timezone.utc)
    
    # Unix Timestamp in Sekunden → Millisekunden
    start_ms = int(start_dt.timestamp() * 1000)
    end_ms = int(end_dt.timestamp() * 1000)
    
    # Validierung
    if start_ms >= end_ms:
        raise ValueError(f"Start {start_dt} muss vor End {end_dt} liegen")
    
    if end_ms - start_ms > 30 * 24 * 60 * 60 * 1000:  # Max 30 Tage
        raise ValueError("Historische Queries sind auf 30 Tage limitiert")
    
    return start_ms, end_ms


def ms_to_datetime(ms: int) -> datetime:
    """Konvertiert Millisekunden-Timestamp zurück zu datetime"""
    return datetime.fromtimestamp(ms / 1000, tz=timezone.utc)


Integration mit HolySheep Client

async def query_historical_ohlcv(client, symbol: str, hours: int = 24): """Beispiel: Historische OHLCV-Daten für die letzten 'hours' abrufen""" end = datetime.now(timezone.utc) start = end - __import__('datetime').timedelta(hours=hours) start_ms, end_ms = get_holy_sheep_timestamps(start, end) payload = { "endpoint": "hyperliquid/historical", "symbol": symbol, "start_time": start_ms, # ✅ Korrekt: Millisekunden "end_time": end_ms, # ✅ Korrekt: Millisekunden "interval": "1m", "include_trades": True } # NICHT: start_time * 1000 (führt zu 1000x zu großem Wert) # NICHT: int(time.time()) (Sekunden statt Millisekunden) return await client.session.post( f"{client.BASE_URL}/market", json=payload )

Test

if __name__ == "__main__": # Test mit verschiedenen Zeitformaten end = datetime.now(timezone.utc) start = end - __import__('datetime').timedelta(hours=2) start_ms, end_ms = get_holy_sheep_timestamps(start, end) print(f"Start: {start} → {start_ms}ms") print(f"End: {end} → {end_ms}ms") print(f"Dauer: {(end_ms - start_ms) / 1000 / 60:.1f} Minuten") # Verifikation assert start_ms == int(start.timestamp() * 1000) assert end_ms == int(end.timestamp() * 1000) print("✅ Timestamp-Konvertierung verifiziert")

Fehler 3: Fehlende WebSocket-Reconnection-Logik

Symptom: Nach Netzwerkunterbrechungen oder Server-Wartungen bricht der Datenfeed ab, ohne automatisch wiederhergestellt zu werden.

Ursache: Viele Implementierungen behandeln WebSocket-Schließungen nicht korrekt und implementieren keine automatische Reconnection mit Jitter.

Lösung:

#!/usr/bin/env python3
"""
Robuster HolySheep WebSocket Client mit Auto-Reconnection
Implementiert Exponential Backoff mit Jitter für Production-Use
"""

import asyncio
import websockets
import json
import logging
from datetime import datetime, timezone
from typing import Optional, Callable, Set
import random

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

class HolySheepWebSocketClient:
    """
    Production-ready WebSocket Client für HolySheep Hyperliquid Data
    
    Features:
    - Automatische Reconnection mit Exponential Backoff + Jitter
    - Heartbeat/Ping-Pong für Connection-Health
    - Subscription Management
    - Graceful Shutdown
    """
    
    WS_URL = "wss://stream.holysheep.ai/v1/hyperliquid"
    
    def __init__(self, api_key: str):
        self.api_key = api_key
        self.ws: Optional[websockets.WebSocketClientProtocol] = None
        self.subscriptions: Set[str] = set()
        
        # Reconnection State
        self.reconnect_attempts: int = 0
        self.max_reconnect_attempts: int = 10
        self.base_delay: float = 1.0
        self.max_delay: float = 60.0
        
        # Health Monitoring
        self.last_ping: datetime = None
        self.last_message: datetime = None
        self.consecutive_failures: int = 0
        
        self._running: bool = False
        self._message_handler: Optional[Callable] = None
    
    def set_message_handler(self, handler: Callable):
        """Setzt den Callback für eingehende Messages"""
        self._message_handler = handler
    
    async def connect(self):
        """Initiert WebSocket-Verbindung mit Authentifizierung"""
        headers = {"Authorization": f"Bearer {self.api_key}"}
        
        try:
            self.ws = await websockets.connect(
                self.WS_URL,
                extra_headers=headers,
                ping_interval=20,
                ping_timeout=10,
                close_timeout=5
            )
            
            self.reconnect_attempts = 0
            self.consecutive_failures = 0
            self.last_ping = datetime.now(timezone.utc)
            self._running = True
            
            logger.info("WebSocket-Verbindung hergestellt")
            
            # Resubscribe zu vorherigen Channels
            for channel in self.subscriptions:
                await self._subscribe(channel)
            
        except Exception as e:
            logger.error(f"Verbindung fehl