Smart Money API
Eine professionelle Intelligenz-API, die Derivatdaten, On-Chain-Metriken und Wal-Geldbörsenaktivitäten in einem einzigen Vertrauensscore für Ihren Trading-Bot zusammenfasst.
https://api.smartmoneyapi.com/v1Designprinzipien
Vier Ideen prägen jeden Endpunkt und jeden Score, den diese API zurückgibt. Sie sind auch die ehrlichen Grenzen dessen, was sie verspricht — und was nicht.
Strategie zuerst, nicht Signal zuerst. Dies ist kein Kauf-/Verkaufssignal-Feed. Sie bringen die Strategie und den Einstieg; die API sagt Ihnen, ob die umgebende Marktstruktur — Derivatepositionierung, Funding, Open Interest, Liquidierungen, On-Chain-Flow und Wal-Konsens — mit dem Trade übereinstimmt, den Sie bereits eingehen möchten.
Vertrauensbewertet, keine binäre Vorhersage. Jede Antwort trägt eine abgestufte confidence (HOCH / MITTEL / NIEDRIG) und eine composite von -1.0 bis +1.0. Es gibt keine Garantien und keine Oracle-Aufrufe — Sie erhalten eine kalibrierte Einschätzung der Übereinstimmung, mit den Gründen dahinter, damit Sie proportional zur Überzeugung skalieren können.
Entscheidungsunterstützung, keine Ausführungsberatung. Die API gibt eine BESTÄTIGEN / REDUZIEREN / ÜBERSPRINGEN-Empfehlung und einen Größenmultiplikator für Ihre Logik zurück, um darauf zu reagieren. Sie gibt niemals Aufträge auf, und nichts hier ist eine Finanzberatung. Sie bleiben verantwortlich für Risiko, Größe und Ausführung.
Lebendige Metriken, keine festen Garantien. Gewinnraten, Regime-Statistiken und Genauigkeitszahlen werden aus einer rollierenden Stichprobe berechnet und bewegen sich, wenn sich die Märkte bewegen. Wir veröffentlichen sie ehrlich, auch wenn sie mittelmäßig sind. Behandeln Sie jede Metrik als aktuelle Beobachtung, nicht als Versprechen für die Zukunft.
Für wen diese API gedacht ist
Diese API ist für Krypto-Bot-, Algo- und KI-Agenten-Entwickler gebaut, die bereits ein Long/Short-Signal haben — von einer TA-Strategie, einem ML-Modell, einer Freqtrade-Pipeline, einer TradingView-Warnung oder einem LLM-Agenten — und eine schnelle, vor dem Trade BESTÄTIGEN / REDUZIEREN / ÜBERSPRINGEN Entscheidung wollen, bevor sie Kapital binden.
Ein typischer Loop: Ihre Strategie feuert "geh long BTC" → Sie rufen GET /v1/confirm?symbol=BTC&direction=long → Sie bestätigen, reduzieren oder überspringen den Einstieg und skalieren die Größe nach size_mult. Ein Aufruf, eine einzige Low-Latency-JSON-Antwort, keine zusätzliche Infrastruktur.
Es ist kein eigenständiger Signalgenerator, ein Chartprodukt oder ein Ausführungsplatz. Wenn Sie kein eigenes Signal haben, mit dem Sie arbeiten können, beginnen Sie mit der Leistungsseite , um zu sehen, wie sich der Score verhalten hat, bevor Sie ihn in einen Live-Bot einbinden.
Zugang erhalten
1 — Registrieren Sie sich. Erstellen Sie ein kostenloses Konto unter signup (E-Mail/Passwort oder Google). Für die kostenlose Stufe ist keine Kreditkarte erforderlich.
2 — Öffnen Sie Ihr Dashboard. Ihr Dashboard zeigt Ihren API-Schlüssel, Ihren aktuellen Plan und die Live-Nutzung gegenüber Ihrem täglichen Kontingent.
3 — Kopieren Sie Ihren API-Schlüssel. Schlüssel sind mit sm_präfixiert. Übergeben Sie ihn als X-API-Key Header bei jeder Anfrage (siehe Authentifizierung). Jederzeit auf der Preis-Seite um Limits zu erhöhen und mehr Symbole und Endpunkte freizuschalten.
Spec, SDK & Cookbook
Alles, was Sie für eine schnelle Integration benötigen, egal ob Sie den Code selbst schreiben oder ihn einem Coding-Agenten übergeben.
| Ressource | Was es ist |
|---|---|
| Cookbook | Copy-Paste-Rezepte für die häufigsten Integrationen — Bestätigung vor dem Einstieg, Freqtrade-Signal sperren, Größe nach Multiplikator, 402/429 behandeln und in einen Coding-Agenten einbinden. |
| OpenAPI-Spezifikation | Maschinenlesbare OpenAPI-Definition jedes Endpunkts. Importieren Sie sie in Postman/Insomnia, generieren Sie Clients oder füttern Sie sie einem LLM. github.com/tashiardit/smartmoneyapi-docs. |
| Python-Client | Offizielle Python-Client-Bibliothek unter github.com/tashiardit/smartmoneyapi-python. |
| /llms.txt | Eine LLM-freundliche Klartext-Zusammenfassung der API. Richten Sie Claude, Codex oder Cursor darauf aus (siehe Coding-Agenten). |
Schnellstart in 2 Minuten
Schritt 1 — Basis-URL. Jeder Endpunkt befindet sich unter:
Schritt 2 — Holen Sie sich Ihren API-Schlüssel. Melden Sie sich kostenlos an (keine Kreditkarte erforderlich) und kopieren Sie Ihren Schlüssel aus dem Dashboard. Übergeben Sie ihn als X-API-Key Header bei jeder Anfrage.
Schritt 3 — Ihr erster Aufruf. Fügen Sie dies in Ihr Terminal ein und ersetzen Sie sm_your_key mit dem Schlüssel aus Ihrem Dashboard:
Erwartete Antwort:
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM",
"size_mult": 1.5,
"deriv_score": 0.81,
"onchain_score": 0.68,
"whale_score": 0.73,
"reasons": ["Funding rate positiv auf allen Plattformen", "Wale: 67% Long-Konsens"]
}
Wenn confidence ist HIGH oder MEDIUM und action ist CONFIRM, skalieren Sie Ihre Positionsgröße um size_mult. Das ist der gesamte Integrationszyklus. Siehe Antwortfelder für die vollständige Feldreferenz.
Authentifizierung
Alle Anfragen erfordern einen API-Schlüssel, der als X-API-Key HTTP-Header übergeben wird.
Ihr API-Schlüssel ist nach der Anmeldung im Dashboard verfügbar. Halten Sie Ihren Schlüssel geheim — geben Sie ihn nicht in clientseitigem Code oder öffentlichen Repositories preis.
/v1/ws/ticket mit dem X-API-Key Header, und verbinden Sie sich dann mit dem zurückgegebenen Ticket. Siehe WebSocket-Authentifizierung (Tickets).Google-Anmeldung (Firebase Auth)
Benutzer können sich mit ihrem Google-Konto über Firebase Authentication authentifizieren. Nach einer erfolgreichen Google-Anmeldung auf dem Client tauschen Sie das Firebase-ID-Token gegen eine verknüpfte API-Sitzung aus. Das System synchronisiert automatisch Ihre Google-Identität mit dem API-Schlüssel-System.
Anfrage-Body
| Feld | Typ | Beschreibung |
|---|---|---|
| id_tokenerforderlich | string | Firebase-ID-Token, das nach der Google-Anmeldung auf dem Client erhalten wurde |
Beispielantwort
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Rate Limits
| Plan | Aufrufe/Tag | Burst-Limit | Datenverzögerung |
|---|---|---|---|
| Free | 50 | 2/min | 60 Sekunden |
| Trader | 1,000 | 20/min | Echtzeit |
| Pro | 5,000 | 60/min | Echtzeit |
| Enterprise | 100,000 | 400/min | Echtzeit |
Rate-Limit-Header sind in jeder Antwort enthalten: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Basis-URL
Alle untenstehenden Endpunkte beziehen sich auf diese Basis-URL. Alle Antworten sind im JSON-Format mit Content-Type: application/json.
Fehler
Fehler verwenden standardmäßige HTTP-Statuscodes und einen konsistenten JSON-Body. Verzweigen Sie immer basierend auf dem Statuscode, nicht auf dem Antworttext. Die drei häufigsten Fehler:
| Status | Code | Bedeutung & was zu tun ist |
|---|---|---|
| 401 | unauthorized | Fehlender oder ungültiger API-Schlüssel. Überprüfen Sie, ob der X-API-Key Header vorhanden und korrekt ist. |
| 402 | payment_required | Der Endpunkt oder das Symbol erfordert einen höheren Plan als Ihr Schlüssel hat (z.B. ein kostenloser Schlüssel, der den WebSocket-Firehose aufruft). Upgrade oder wechseln Sie zu einem öffentlichen Endpunkt. |
| 429 | rate_limit_exceeded | Tages- oder Burst-Limit erreicht. Warten Sie und versuchen Sie es erneut nach X-RateLimit-Reset; nicht wiederholt anfragen. |
Jeder Fehler hat die gleiche Struktur:
"error": "rate_limit_exceeded",
"message": "Tageslimit von 50 Aufrufen erreicht. Setzt sich um 00:00 UTC zurück.",
"status": 429
}
Die vollständige Liste der Statuscodes (400 / 403 / 500 / 503 und mehr) finden Sie unter Fehlercodes. Eine robuste Integration behandelt 5xx und 429 als vorübergehend (erneuter Versuch mit Backoff) und 401/402/403 als endgültig (Schlüssel oder Plan korrigieren).
Sicherheitsbest Practices
Senden Sie den Schlüssel im Header, niemals in der URL. Geben Sie immer X-API-Key als HTTP-Header an. Schlüssel in Abfragezeichenfolgen (?key=) werden von Proxys, Load Balancern und Browserverlauf protokolliert — die Legacy- ?key= Auth wird aus genau diesem Grund nicht mehr bei WebSocket-Endpunkten akzeptiert.
Halten Sie Schlüssel serverseitig. Betten Sie niemals einen API-Schlüssel in clientseitiges JavaScript, ein Mobile-App-Bundle oder ein öffentliches Repository ein. Laden Sie ihn aus einer Umgebungsvariable oder einem Secret Manager. Wenn ein Schlüssel geleakt wird, rotieren Sie ihn.
Rotieren Sie Schlüssel regelmäßig. Generieren Sie Ihren Schlüssel neu über das Dashboard nach einem Zeitplan und sofort, wenn Sie eine Kompromittierung vermuten. Der alte Schlüssel funktioniert nicht mehr, sobald ein neuer ausgestellt wird.
Verwenden Sie Tickets für Browser-Sockets. Für Echtzeit-Streams aus dem Browser tauschen Sie Ihren Schlüssel gegen ein Einmal-Ticket aus, anstatt sich mit dem rohen Schlüssel zu verbinden — siehe WebSocket-Authentifizierung (Tickets).
Verwendung mit Coding-Agenten / LLMs
Bauen Sie mit Claude Code, Codex, Cursor oder einem LLM-Coding-Agenten? Sie können dem Agenten alles geben, was er benötigt, um diese API korrekt zu verbinden. Zwei maschinenlesbare Referenzen werden veröffentlicht:
| Ressource | URL |
|---|---|
| LLM-Zusammenfassung | https://smartmoneyapi.com/llms.txt |
| OpenAPI-Spezifikation | github.com/tashiardit/smartmoneyapi-docs |
Richten Sie Ihren Agenten auf die /llms.txt Datei (die llms.txt-Konvention) für eine prägnante Übersicht, dann auf die OpenAPI-Spezifikation für genaue Anfrage-/Antwortformen. Ein einzeiliger Prompt, der gut funktioniert:
Lies https://smartmoneyapi.com/llms.txt und die OpenAPI-Spezifikation unter
github.com/tashiardit/smartmoneyapi-docs, dann füge eine Vorhandelsprüfung
in meinen Bot ein, der GET /v1/confirm aufruft und Einträge überspringt,
es sei denn, die Aktion ist CONFIRM.
Siehe das Kochbuch für ein ausgearbeitetes Coding-Agenten-Rezept.
Endpunkte
GET /confirm
Der Kernendpunkt. Gibt einen zusammengesetzten Vertrauensscore und eine Handlungsempfehlung für eine gegebene Handelsrichtung zurück. Rufen Sie dies vor dem Eingehen einer Position auf.
Abdeckung, einfach erklärt. /confirm bewertet derzeit BTC, ETH und SOL — die Symbole mit genug aufgelöster Historie, um ehrlich zu bestätigen. Der Derivate-Screener überwacht separat ~519 Derivate-Märkte für Funding, OI und Liquidationsdaten, und das Whale-Tracking deckt 600+ Wallets ab. Pro entsperrt den vollen Screener, Exporte und breitere Marktabdeckung; /confirm die Symbolunterstützung wird erweitert, sobald jeder Markt eine zuverlässige Erfolgsbilanz aufweist.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symbolerforderlich | string | Asset-Symbol. Eines von: BTC, ETH, SOL (Trader+) |
| directionerforderlich | string | Handelsrichtung: long oder short |
| sourceoptional | string | Label für Ihre Signalquelle (für Analysen protokolliert). Max. 32 Zeichen. |
Beispielanfrage
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
Beispielantwort
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM_FULL",
"size_mult": 1.5,
deriv_score: 0.81,
onchain_score: 0.68,
whale_score: 0.73,
x_score: 0.0,
Faktoren: {
Derivate: { Score: 0.81, Gewichtung: 0.40, gewichteter: 0.324 },
On-Chain: { Score: 0.68, Gewichtung: 0.35, gewichteter: 0.238, Quelle: coinmetrics, verfügbar: True },
Wal: { Score: 0.73, Gewichtung: 0.25, Veraltungsfaktor: 1.0, gewichteter: 0.183 }
},
Anpassungen: { Übereinstimmung: 0.0, Trend: 0.0, Nachrichten_Makro: 0.0 },
Gewichtungen: { Derivate: 0.40, On-Chain: 0.35, Wal-Intelligenz: 0.25 },
Abdeckung: { Derivate: True, Wal: True, On-Chain: True },
Gründe: [
Funding-Rate auf allen Plattformen positiv,
LSR begünstigt Long-Positionen: 1.42,
Wale: 67% Long-Konsens,
MVRV über 1.0 — On-Chain bullisch
]
}
Transparent durch Design. Jede Antwort enthält ein factors Objekt, das für jeden Teilbereich Score × Gewichtung = gewichteter Beitrag zeigt, ein adjustments Objekt für Nachfilter-Anpassungen, die weights verwendeten coverage Map. Der On-Chain-Teil nutzt echte kostenlose Coin Metrics-Daten (MVRV / Exchange-Flow / aktive Adressen), wenn kein Glassnode-Key gesetzt ist. Dies ist ein Multi-Faktor- Konfluenz- Score — Entscheidungsunterstützung, keine garantierte Gewinnquote..
Nicht erfasste Symbole sind ehrlich. Ein Symbol außerhalb des erfassten Derivate/Wal-Universums liefert eine explizite "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" mit "unsupported":true — niemals eine erfundene LOW.
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
| ts | integer | Unix-Zeitstempel der Berechnung |
| symbol | string | Asset-Symbol (BTC/ETH/SOL) |
| direction | string | Angefragte Richtung (long/short) |
| composite | float | Zusammengesetzter Konfluenz-Score von -1.0 (extremer Gegenindikator) bis +1.0 (starke Bestätigung). Keine Gewinnquote. |
| base_composite | float | Zusammengesetzter Score vor Nachfilter-Anpassungen |
| confidence | string | HIGH / MEDIUM / LOW / VETO / NO_DATA |
| action | string | CONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP |
| size_mult | float | Vorgeschlagener Positionsgrößen-Multiplikator (z.B. 0.0 – 1.5) |
| unsupported | bool | true wenn das Symbol nicht abgedeckt ist (gepaart mit NO_DATA) |
| deriv_score | float | Derivate-Sub-Score (-1 bis 1) |
| onchain_score | float | On-Chain-Sub-Score (-1 bis 1) |
| whale_score | float | Wal-Konsens-Sub-Score (-1 bis 1) |
| x_score | float | X/Social-Sentiment-Sub-Score (-1 bis 1); 0 wenn ungenutzt |
| factors | object | Aufschlüsselung pro Teilbereich: score × weight = weighted für Derivate / On-Chain / Wal / X_Sentiment (On-Chain beinhaltet source) |
| adjustments | object | Signierte Nachfilter-Anpassungen (agreement, trend, rsi_1h, news_macro, momentum, time_of_day, streak_decay) |
| weights | object | Tatsächlich verwendete Gewichtung für diese Auswertung |
| coverage | object | {derivatives, whale, onchain} — welche Teilbereiche echte Daten hatten |
| reasons | array | Menschenlesbare Erklärungsstrings für den Score |
GET /snapshot
Liefert eine vollständige Marktübersicht inklusive aller Sub-Scores, Rohmetriken und Indikatorwerte für ein bestimmtes Symbol. Nützlich für Dashboards und Protokollierung.
GET /onchain
Liefert Rohdaten zu On-Chain-Metriken: MVRV, SOPR, Netto-Fluss an Börsen, Realized-Cap-Ratio und Zykluspositionsklassifizierung.
GET /v1/derivatives/*
Cross-Exchange-Derivate-Screener für über 500 Symbole: Funding-Rate-Heatmap, Open-Interest-Ranglisten und Long/Short-Ratio-Signalerfassung. Die Top 10 Zeilen sind öffentlich; der vollständige Screener erfordert Trader oder Pro. Endpunkte: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.
GET /v1/options/*
Von Deribit bezogene BTC- & ETH-Optionsanalysen (öffentlich, keine Authentifizierung): Put/Call-Ratio, Max Pain und Open Interest nach Strike. Endpunkte: /v1/options/summary, /v1/options/pcr, /v1/options/oi.
GET /v1/etf/*
Tägliche Nettoflüsse und Aufschlüsselung pro Fonds für Spot-BTC- & ETH-ETFs (öffentlich). Endpunkte: /v1/etf/flows, /v1/etf/funds.
GET /v1/historical/*
Historische Funding-Rates, Open Interest, Long/Short-Ratio (Binance) und OHLCV (CoinGecko) für Backtesting. Endpunkte: /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.
GET /v1/dex/*
DexScreener-basierte Trending-Pairs, Token-Suche und Pair-Details (öffentlich, keine Authentifizierung). Endpunkte: /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.
GET /v1/news/*
Nachrichten-Intelligenz: Politik-/geopolitische/Krypto-Nachrichten nach Auswirkungskategorien klassifiziert, plus Fear & Greed (öffentlich, keine Authentifizierung). Endpunkte: /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.
GET /whales
Liefert Konsensdaten von Wallet-Adressen: Long/Short-Aufteilung, gesamtes notionales Engagement, Top 10 Positionen (nur Pro) und Wallet-Anzahl.
GET /signals
Liefert einen Stream der neuesten HIGH/MEDIUM-Signale über alle überwachten Assets. Nützlich für die Chancenerkennung.
GET /v1/strategies/*
Transparente, schreibgeschützte Performance-Daten für die automatisierten Handelsstrategien, die auf Smart Money-Signalen basieren — einschließlich der deriv40 SmartMoney Copytrade-Strategie (account=9). Alle Endpunkte erwarten einen ?account=<id> Query-Parameter und liefern JSON. Keine Authentifizierung erforderlich (öffentliche Performance-Daten).
Endpunkte
GET /v1/strategies/stats?account=9— Übersichtskennzahlen:total_trades,win_rate,profit_factor,total_pnl_usdt,account_growth_percent,initial_equity,current_equity,max_drawdown_portfolio,max_drawdown_trade.GET /v1/strategies/equity?account=9— Equity-Kurve für Charts:{ initial_equity, curve: [{ time, equity }] }.GET /v1/strategies/trades?account=9&limit=500— Geschlossene Trades: Array (oder{trades:[…]}) vonsymbol,direction,entry_price,exit_price,pnl_usdt,pnl_percent,pnl_percent_net.GET /v1/strategies/active?account=9— Aktuell offene Positionen: Array (oder{positions:[…]}) vonsymbol,side/direction,entry_price,unrealized_pnl.GET /v1/strategies/signals— Aufschlüsselung nach Signaltypen, die die Strategien speisen (Anzahl / Gewinne / Win_Rate / avg_pnl pro Signaltyp).
Vergangene Performance ist kein Indikator für zukünftige Ergebnisse. Die Daten wurden über einen ~3-Monats-Zeitraum zurückverfolgt und enthalten Live-Trades, wobei sie vor Gebühren angezeigt werden, wo vermerkt.
GET /export
Laden Sie historische Signaldaten als CSV für Backtesting herunter. Parameter: symbol, from (Unix-Timestamp), to (Unix-Timestamp).
GET /health
System-Health-Check. Liefert die Aktualität der Daten für jede Quelle und den allgemeinen API-Status. Keine Authentifizierung erforderlich.
"status": "ok",
"uptime_s": 1209600,
"sources": {
"bybit": { "lag_s": 42, "ok": true },
"binance": { "lag_s": 38, "ok": true },
"hyperliquid": { "lag_s": 61, "ok": true },
"onchain": { "lag_s": 290, "ok": true }
}
}
GET /usage
Liefert Ihre aktuellen API-Nutzungsstatistiken: Aufrufe heute, monatliche Summen, Kontingentgrenzen und Reset-Zeiten.
POST /webhooks
Registrieren Sie eine HTTPS-URL, um in Echtzeit signierte Event-Pushes zu erhalten, wenn ein Signal für Ihre überwachten Assets ausgelöst wird. Lieferungen enthalten einen X-SmartMoney-Event Header und eine HMAC-SHA256-Signatur in X-SmartMoney-Signatureund werden bis zu 3× mit Backoff wiederholt.
Request Body
| Feld | Typ | Beschreibung |
|---|---|---|
| urlrequired | string | HTTPS-Endpunkt, an den Events gepostet werden (muss mit https://) |
| eventsrequired | array | Event-Namen, z.B. ["HIGH","MEDIUM","VETO"] oder ["*"] |
| symbolsrequired | array | Symbole zur Filterung, z.B. ["BTC","ETH"] oder ["*"] |
| secretrequired | string | Ihr Signier-Secret, ≥ 16 Zeichen (gehasht gespeichert) |
Überprüfung der Signatur
Der HMAC-Schlüssel ist der SHA-256-Hex-Digest Ihres registrierten Secrets. Berechnen Sie den HMAC-SHA256 des rohen Request-Bodys mit diesem Schlüssel und vergleichen Sie ihn (konstantzeitlich) mit X-SmartMoney-Signature. Siehe die Webhook-Implementierungsanleitung.
Intelligenz
GET /analysis
Liefert eine KI-gestützte Klassifizierung der Marktphase mit Signalkonflikterkennung. Analysiert die Übereinstimmung von Signalen, identifiziert Divergenzen zwischen Derivaten, On-Chain- und Wal-Daten und erstellt eine natürlichsprachige Zusammenfassung mit zukunftsgerichteten Risikofaktoren und einer zeitlich eingegrenzten Empfehlung.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symbolerforderlich | string | Asset-Symbol: BTC, ETH, oder SOL |
Beispielantwort
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Späte Phase — Signaldifferenz",
"summary": "BTC befindet sich in einer späten Bullenmarktphase mit On-Chain-Stärke, die im Widerspruch zur Überdehnung der Derivate steht. Wale reduzieren ihre Positionen, während die Retail-LSR steigt.",
"signal_conflicts": [
"Wal-Score bärisch, während Onchain-Score haussisch",
"Funding Rate auf 3-Monats-Hoch — potenzielles Squeeze-Risiko"
],
"risk_factors": ["Erhöhtes Funding", "OI-Divergenz", "Wal-Reduzierung"],
"recommendation": "Long-Positionen reduzieren, Stops enger setzen. Neue Long-Positionen über dem aktuellen Preis vermeiden.",
"time_horizon": "4h–12h"
}
GET /liquidations
Liefert zwei komplementäre Ansichten: (1) leverage-projected levels — eine Schätzung von wo Liquidationscluster liegen; und (2) eine realized_heatmap — die REAL ausgeführten Zwangs-Liquidationsintensität (Preis × Zeit), live aggregiert aus öffentlichen Exchange-WebSocket-Feeds: Binance, OKX, Bybit, Bitget, BitMEX. Die Heatmap ist vorhanden, wenn der Stream Daten für das Symbol enthält (fehlt in einem sehr ruhigen Markt oder direkt nach dem Start).
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Asset-Symbol (Standard BTC). Echte Heatmap deckt aktiv gehandelte Perp-Symbole ab. |
Beispielantwort
"symbol": "BTC",
"cascade_risk": "HOCH",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// REAL ausgeführte Liquidations — live von 5 Börsen
"realized_heatmap": {
"window_minutes": 240, "price_min": 91000.0, "price_max": 99000.0,
"clusters": [ { "price": 93250.0, "notional": 4820000.0, "count": 37, "dominant_side": "long" } ],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 }
}
}
cascade_risk, nächstgelegene Distanzen und realisierte Summen/Seiten. Pro-Plan: vollständige projizierte levels plus die vollständige realized_heatmap (Matrizen, pro-Preis-Cluster, pro-Börsen-Anzahlen). Die projizierte Schätzung beantwortet "Wo sind die Stops"; die realisierte Heatmap zeigt "Was tatsächlich liquidiert wurde."GET /liquidations/heatmap
Öffentliche Preis-Level-Liquidations-Heatmap. Liefert eine Coinglass-artige Preis × Zeit-Matrix von REAL ausgeführten Zwangs-Liquidations, gruppiert nach dem Preis, zu dem jede Liquidation ausgelöst wurde — live aggregiert aus öffentlichen Exchange-WebSocket-Feeds: Binance, OKX, Bybit, Bitget, BitMEX. Das clusters Array ist die praktische Ausgabe: Preis-Buckets, sortiert nach liquidiertem Notional, jeweils mit der dominanten Seite gekennzeichnet. Daten hängen vom Live-Stream ab — ein sehr ruhiges Symbol oder ein gerade neu gestartetes Gateway liefert die wohlgeformte leere Struktur plus eine ehrliche note. Gezeigte Levels sind immer nur echte Liquidations, niemals geschätzte.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Asset-Symbol (Standard BTC). |
| window_minutesoptional | int | Rückblickzeitraum in Minuten (Standard 240, begrenzt auf 5–1440). |
| price_bucketsoptional | int | Anzahl der Preisintervalle (Standard 50, begrenzt auf 5–100). |
Beispielantwort
"symbol": "BTC", "window_minutes": 240, "price_buckets": 50,
"price_min": 91000.0, "price_max": 99000.0, "price_bucket_size": 160.0,
"price_levels": [ 91080.0, 91240.0, … ], "time_buckets": [ … ],
"matrix": [ [ … ] ], "long_matrix": [ [ … ] ], "short_matrix": [ [ … ] ],
"clusters": [
{ "price": 93250.0, "notional": 4820000.0, "long_notional": 4100000.0,
"short_notional": 720000.0, "count": 37, "dominant_side": "long" }
],
"by_side": { "long": 6100000.0, "short": 2400000.0 },
"totals": { "long_liq_notional": 6100000.0, "short_liq_notional": 2400000.0, "total_notional": 8500000.0, "count": 214 },
"exchanges": { "binance": 120, "okx": 40, "bybit": 34, "bitget": 12, "bitmex": 8 },
"generated_at": 1710940200, "public": true
}
totals.count ist 0, clusters ist leer, und ein note Feld erklärt warum. Es ist eine Aufzeichnung ausgeführter Liquidierungen — keine Vorhersage. Für die geschätzte "Wo sind die Stops"-Prognose verwenden Sie den authentifizierten /liquidations Endpunkt.GET /liquidations/onchain
Ausgeführt On-Chain DeFi-Kreditliquidierungen direkt erfasst von unseren eigenen lokalen BSC + Avalanche Full Nodes — unabhängig von jedem Trading-Bot. Deckt Venus/Cream und Moolah auf BSC ab, sowie AAVE V3/V2, Benqi, BankerJoe, Granary und Vinium auf Avalanche. Die Pro-Stufe liefert zusätzlich at_risk Positionen (bot-abhängig, kann fehlen).
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| chainoptional | string | bsc oder avax. Weglassen für alle Chains. |
| limitoptional | integer | Maximale Zeilen (Standard 100, max. 500). Neueste zuerst. |
Beispielantwort
"chain": "bsc", "count": 2,
"liquidations": [
{ "chain": "bsc", "protocol": "Venus", "borrower": "0x2be6…8dfa",
"debt_symbol": "DAI", "repay_usd": 426.15,
"collateral_symbol": "WBNB", "tx_hash": "0x718c…7c0e", "block": 89170816, "ts": 1710940200 }
],
"summary": {
"window_hours": 24, "enabled": true,
"by_protocol": { "bsc:Venus": { "count": 61, "repay_usd_known": 148230.55 } },
"nodes": { "bsc": { "erreichbar": true, "head_block": 89173010, "events_total": 61 } }
}
}
GET /smart-stop
Berechnet intelligente Stop-Loss-Niveaus basierend auf der aktuellen Liquidations-Heatmap, Volatilitätsbändern und Marktstruktur. Gibt abgestufte Stop-Empfehlungen und Take-Profit-Vorschläge zurück, die auf Ihren Einstiegspreis und Ihre Risikotoleranz abgestimmt sind.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symbolrequired | string | Asset-Symbol: BTC, ETH, oder SOL |
| directionrequired | string | Positionsrichtung: long oder short |
| entry_priceoptional | float | Ihr Einstiegspreis. Standardmäßig wird der aktuelle Marktpreis verwendet, falls nicht angegeben. |
| risk_pctoptional | float | Maximal akzeptables Risiko als % des Kontos. Standard: 2.0 |
Beispielantwort
"symbol": "BTC",
"direction": "long",
"entry_price": 96420,
"stops": {
"tight": { "price": 95100, "note": "Unterhalb der 1h-Struktur. Ideal für Scalping." },
"recommended": { "price": 93800, "note": "Unterhalb des großen Liquidationsclusters bei $94K. Standard-Swing-Stop." },
"wide": { "price": 91200, "note": "Unterhalb der 4h-Nachfragezone. Position-Trade-Stop." }
},
"avoid_zones": [
{ "low": 94200, "high": 94800, "reason": "Dichter Liquidationscluster — hohes Slippage-Risiko" }
],
"take_profit_suggestions": [
{ "tp1": 98500, "tp2": 101000, "tp3": 104200 }
]
}
recommended Stop zurück. Pro-Plan: Alle drei Stop-Stufen, avoid_zones, und vollständige Take-Profit-Vorschläge.GET /funding-arb
Identifiziert in Echtzeit Cross-Exchange-Funding-Rate-Arbitrage-Möglichkeiten. Gibt bewertete Möglichkeiten mit geschätzter annualisierter Rendite, optimalem Exchange-Paar und der erforderlichen Hedge-Aktion zur Ausnutzung der Spanne zurück.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| min_spreadoptional | float | Mindest-Funding-Rate-Spanne zur Berücksichtigung (als Dezimalzahl). Standard: 0.01 |
| symboloptional | string | Filter für ein bestimmtes Asset. Weglassen, um alle unterstützten Assets zu scannen. |
Beispielantwort
"ts": 1710940821,
"opportunities": [
{
"symbol": "BTC",
"spread": 0.032,
"apr": 84.2,
"long_exchange": "hyperliquid",
"short_exchange": "bybit",
"action": "Long HYPE / Short BYBIT",
"estimated_profit_8h_usd": 26.4
}
]
}
Kostenlose öffentliche Variante Keine Authentifizierung
Ein öffentlicher Endpunkt ohne Schlüssel gibt die Top-10-Möglichkeiten mit einem Live-Cross-Exchange-Screener zurück, ideal für Einbettungen oder schnelle Überprüfungen. Er lässt die pro-Symbol-Spread-Historie und umfangreiche Felder weg und wird aus einem 120-Sekunden-Cache bereitgestellt. Wenn im Aktualitätsfenster keine Cross-Exchange-Funding-Spannen vorhanden sind, gibt er ein leeres opportunities Array mit einem note zurück — niemals gefälschte Daten.
"opportunities": [
{
"symbol": "OGN",
"spread_pct": 0.297667,
"annualized_apr": 325.95,
"long_exchange": "bybit",
"short_exchange": "hyperliquid",
"estimated_profit_per_10k": 29.77,
"risk_notes": Geringe Spanne – stellen Sie sicher, dass die Gebühren die Arbitrage-Marge nicht aufzehren.
}
],
"scanned_symbols": 222,
"ts": 1783268753,
"public": true,
"limited": true
}
GET /smart-money/flow
Ein qualitätsgewichteter Wal-Richtungsindex pro Symbol, bewertet -100 (Wal-Geld tendiert zu Short) bis +100 (tendiert zu Long). Erstellt aus Tausenden verfolgten Hyperliquid-Wal-Wallets – jedes gewichtet nach seiner eigenen historischen Gewinnrate und PnL und abgeschwächt durch Aktualität. Dies ist ein Positionierungsindex, kein Kauf-/Verkaufssignal oder Preisvorhersage. Symbole mit wenigen beteiligten Wallets sind gekennzeichnet thin und ehrlich bewertet. Live-Seite: smart-money-flow.html.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Einzelnes Symbol (z.B. BTC). Weglassen, um alle verfolgten Symbole nach |score| sortiert zu erhalten. |
| window_hoursoptional | int | Bewertungsfenster, begrenzt auf 1..168. Standard 24. |
Beispielantwort
"symbols": [
{
"symbol": "SPX",
"score": -90.93,
"direction": "strong_short",
"n_wallets": 26,
"long_usd": 184200.0, "short_usd": 2410000.0,
"quality_weighted": true,
"sample_quality": "rich",
"top_contributors": [ { "wallet": "0x31ca…974b", "direction": "short", "value_usd": 5338.25, "weight": 0.4948 } ]
}
],
"window_hours": 24,
"quality_weighted": true,
"ts": 1783270000,
"note": "Qualitätsgewichteter Wal-Richtungs-Positionierungsindex (-100..+100). Keine Preisvorhersage oder Kauf-/Verkaufssignal."
}
top_contributors. Wallet-Gewichte sind begrenzt auf [0.25,1.0]; PnL ist ein unrealisierter Proxy aus den neuesten Positionsmomentaufnahmen.GET /v1/whales/crowding
Kombinierter Wal-Positionierungs- und Überfüllungskontext pro Symbol, zusammengeführt über Hyperliquid + GMX v2 + Jupiter Perps. Gibt Brutto-/Netto-Nominalbeträge, Richtungsschieflage, Wallet- und Handelsplatzanzahlen, Positionskonzentration (Top-3-Anteil + HHI), einen gewichteten Durchschnittshebel und Liquidationsnähe-Buckets (USD-Nominalbeträge innerhalb von 5% und 10% des geschätzten Liquidationspreises, aufgeteilt Long/Short). Dies ist Kontext, kein Richtungssignal. Felder, die nicht ableitbar sind, sind null und werden dargestellt als — – z.B. lev_wavg/crowding_index wenn keine Position einen Hebel trägt. Liquidationsentfernungen sind eine isolierte Margin-Schätzung (pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), nicht börsenmeldete Liquidationspreise.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| min_notionaloptional | float | Mindestkombinierter Brutto-Nominalbetrag (USD) für die Aufnahme eines Symbols. Standard: 1000000. |
Beispielanfrage
Beispielantwort
"ok": true, "ts": 1783423500, min_notional: 1000000, n_symbols: 92,
symbols: [
{
symbol: BTC,
gross_usd: 2447900000.0, net_usd: -51000000.0, skew: -0.021,
n_whales: 414, n_venues: 3,
venues: {
hl: { gross: 1900000000.0, net: -40000000.0, n_whales: 272 },
gmx: { gross: 320000000.0, net: -6000000.0, n_whales: 59 },
jupiter: { gross: 227900000.0, net: -5000000.0, n_whales: 83 }
},
conc_top3: 0.159, hhi: 0.011, lev_wavg: 19.1,
liq_within_5pct: { long: 621700000.0, short: 665600000.0 },
liq_within_10pct: { long: 840000000.0, short: 910000000.0 },
crowding_index: 0.003
}
],
caveats: [ Liquidationsabstände sind Schätzungen für isolierte Margin, nicht von Börsen gemeldet. ]
}
skew ist net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). Nur tatsächlich vorhandene Handelsplätze erscheinen in venues. Positionen ohne Hebel werden aus den Liquidations-Buckets ausgeschlossen, anstatt angenommen zu werden. Anonyme Anrufer erhalten die Top 10 Symbole nach Bruttovolumen (mit gated: true); Trader+ erhalten die vollständige Liste.GET /v1/options/gex
Dealer Gamma-Exposure (GEX) Analysen für BTC & ETH, live aus der öffentlichen Deribit-Optionskette berechnet (keine Authentifizierung). Gibt den Netto-Dealer-GEX pro Strike zurück (SpotGamma-Dealer-Short-Konvention), das Gamma-Flip-Niveau (Strike, bei dem der kumulative Netto-GEX null überschreitet), die IV-Terminstruktur (ATM-implizite Volatilität nach Tagen bis zum Verfall) und eine Front-Expiry IV-Skew (25Δ-Proxy-Risk-Reversal). Der GEX-Regime ist positive (Dealer long Gamma → volatilitätsdämpfend) oder negative (volatilitätsverstärkend). Vollständig eigenständig – bei jedem Aufruf neu berechnet, keine gespeicherte DB-Abhängigkeit.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | BTC oder ETH nur. Standard: BTC. |
Beispielanfrage
Beispielantwort
"symbol": "BTC", "available": true, "spot": 63203.0,
"net_gex": 18240000.0, "regime": "positive",
"gamma_flip": 64919.82, "gamma_flip_pct": 2.72,
"call_gex": 31200000.0, "put_gex": -12960000.0,
"by_strike": [
{ "strike": 60000, "net_gex": -2100000.0 },
{ "strike": 65000, "net_gex": 4800000.0 }
],
"term_structure": [
{ "expiry": "8JUL26", "dte": 0.76, "atm_iv": 62.1 },
{ "expiry": "27MAR26", "dte": 14.2, "atm_iv": 58.4 }
],
"skew": {
"expiry": "8JUL26", "dte": 0.76,
"put_iv": 69.69, "atm_iv": 62.1, "call_iv": 55.34,
"risk_reversal": 14.35, "bias": "downside_fear"
}
}
available: false mit leeren Panels zurück – niemals fabrizierte GEX. IV-Skew verwendet einen festen ±10%-Strike-Proxy für 25Δ (echte 25-Delta erfordert Delta-Berechnung pro Strike); ausreichend für die Anzeige, dokumentiert als Näherung.GET /v1/liquidations/simulate
Interaktiv Liquidations-Kaskaden-Stresstest. Bei einer hypothetischen Preisbewegung werden die geschätzten gehebelten Positionen zurückgegeben, die liquidiert würden, erzwungenes Volumen nach Preisniveau / Seite / Börse und eine Kaskadentiefen-Ausgabe. Eine Abwärtsbewegung liquidiert Long-Positionen deren Liquidationspreis auf/über dem Ziel liegt; eine Aufwärtsbewegung liquidiert Short-Positionen deren Liquidationspreis auf/unter ihm liegt. Zwei unabhängige Methoden werden kombiniert: genaue Liquidationspreise von verfolgten Hyperliquid-Whales mit realer Hebelwirkung/Einstieg, plus statistische OI-Band-Cluster pro Börse (Crowd-Hebelwirkung aus Funding abgeleitet). Alles ist klar gekennzeichnet estimated: true — es kann keine pro-Konto-Marge, Cross vs. Isolated, hinzugefügte Marge oder ADL kennen.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Asset-Symbol. Standard: BTC. |
| move_pctoptional | float | Hypothetische Preisbewegung in Prozent (negativ = runter, positiv = rauf). Standard: -5. |
Beispielanfrage
Beispielantwort
"ok": true, "estimated": true, "symbol": "BTC",
"ref_price": 63000.0, "move_pct": -5.0, "target_price": 59850.0,
"triggered_notional_usd": 380000000.0,
"cascade_depth": 0.029, "cascade_bucket": "low",
"by_exchange": { "hyperliquid": 260000000.0, "binance": 80000000.0, "bybit": 40000000.0 },
"by_side": { "long": 380000000.0, "short": 0.0 },
"clusters": [
{ "price": 60100.0, "side": "long", "notional_usd": 42000000.0, "whale_usd": 18000000.0, "oi_usd": 24000000.0 }
],
"whale_positions_used": 272, "exchanges": 3,
"realized_context": { "available": true, "coverage_hours": 17.8, "by_side_24h": { "long": 6100000.0, "short": 2400000.0 } },
"methodology": { "disclaimer": "Geschätzt — kann keine pro-Konto-Marge, Cross vs. Isolated, hinzugefügte Marge oder ADL kennen." }
}
ok: true, empty: true eine klare englische Meldung zurück, keine gefälschten Balken. realized_context ist eine junge, wachsende Stichprobe aus dem Live-Zwangsliquidations-Stream, nur als Kontext dargestellt — sie macht die Projektion nie "realisiert".GET /v1/wallet/{addr}/profile
Ein plattformübergreifendes Wallet-Profil vollständig aus den Live-Tracked-Whale-Positions-Snapshots erstellt. Für einen verfolgten Hyperliquid-Whale werden aktuelle offene Positionen, eine unrealisierte-PnL / Exposure / Positionsanzahl Zeitreihe, eine OPEN/CLOSE/FLIP Aktivitäts-Timeline (rekonstruiert durch Differenzierung aufeinanderfolgender Snapshots), das entschlüsselte HL-Leaderboard-Label und eine Open-Book-Zusammenfassung zurückgegeben. Live-Seite: wallet-profiler.html.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| addrerforderlich | string | Wallet-Adresse (Pfadsegment), z.B. /v1/wallet/0x3bcae23e…/profile. |
| daysoptional | integer | Rückblickfenster für die Reihe & Timeline. Standard: 30. |
Beispielanfrage
Beispielantwort
"ok": true, "wallet": "0x3bcae23e…", "tracked": true,
"first_seen_ts": 1782827733, "latest_snapshot_ts": 1783418468, "as_of": 1783418468,
"hyperliquid": {
"label": { "name": "Andre is back", "score": 74,
"window_pnl_usd": 1307000, Gewinnrate (%): 71, Trades: 42 },
Positionen: [
{ Handelsplatz: hyperliquid, Symbol: ETH, Richtung: Short,
Größe: 1200.0, Einstiegspreis: 1800.0, Unrealisierter Gewinn/Verlust: 34800.0,
Hebel: 20.0, Wert (USD): 2160000.0 }
],
Serie: [ { Zeitstempel: 1783330000, Unrealisierter Gewinn/Verlust: 42000.0, Exposure (USD): 18400000.0, Positionen: 5 } ],
Zeitverlauf: [ { Zeitstempel: 1783400000, Ereignis: Wechsel, Symbol: ETH,
Richtung: Short, Von Richtung: Long, Wert (USD): 2160000.0 } ],
Zusammenfassung: {
Offene Positionen: 5, Im Gewinn: 3, Im Verlust: 2, Longs: 0, Shorts: 5,
Gesamtunrealisierter Gewinn/Verlust: -12000.0, Gesamtexposure (USD): 21000000.0, Durchschnittlicher Hebel: 19.9,
Zeitfenster (Tage): 30, Momentaufnahmen im Fenster: 474,
Realisierter Gewinn/Verlust: None, Hinweis zum realisierten Gewinn/Verlust: Nicht ableitbar – es werden nur offene Momentaufnahmen angezeigt, keine schließenden Fills.
}
}
}
pnl ist HLs eigenes unrealisiertes Mark-to-Market, value_usd ist offenes Notional. Realisierter Gewinn/Verlust pro Round-Trip ist nicht verfügbar (wir sehen nur offene Momentaufnahmen, keine schließenden Fills) und wird als null / —angezeigt; CLOSE-Ereignisse im Zeitverlauf enthalten keine Gewinn-/Verlustangabe. Eine gültige, aber nicht nachverfolgte Adresse liefert tracked: false mit einem Hinweis; eine ungültige Adresse liefert ok: false, error: "invalid_address" (HTTP 400). Das HL-Leaderboard-Label ist HLs eigenes Fensterranking zum Zeitpunkt der Entdeckung, nicht von uns berechnet.GET /flows
Gibt cross-asset Kapitalflussdaten zurück, die Rotationsmuster zwischen BTC, ETH und SOL über mehrere Zeitfenster zeigen. Nützlich, um zu erkennen, welcher Asset Kapital ansammelt und welcher verteilt wird.
Beispielantwort
Zeitstempel: 1710940821,
Flüsse: {
BTC: { 1h: 142000000, 4h: 380000000, 12h: -90000000, 24h: 220000000 },
ETH: { 1h: -38000000, 4h: -110000000, 12h: 55000000, 24h: -80000000 },
SOL: { 1h: 12000000, 4h: 29000000, 12h: 18000000, 24h: 44000000 }
},
Erkannte Rotationen: [
Kapitalrotation von ETH zu BTC im 4h-Fenster,
SOL-Akkumulation konsistent über alle Fenster
]
}
GET /whale-events
Gibt signifikante Wal-Positionsänderungen zurück – Eröffnungen, Schließungen und Richtungswechsel – die in verfolgten Wallets und On-Chain-Adressen im angegebenen Rückblickfenster erkannt wurden.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Nach Asset filtern. Weglassen für alle überwachten Assets. |
| significanceoptional | string | Nach Ereignisbedeutung filtern: high, medium, oder all. Standard: all |
| hoursoptional | integer | Rückblickfenster in Stunden. Standard: 24 |
Beispielantwort
symbol: BTC,
summary: {
flips_to_long: 3,
flips_to_short: 1,
new_opens: 7,
closes: 2
},
events: [
{
Typ: Flip Long,
Wallet: 0xWhale...a4f2,
Richtung: Long,
size_usd: 4200000,
ts: 1710938400
}
]
}
summary Objekt nur zurück. Pro-Plan: Vollständiger events Feed mit Wallet-Kennungen, Größen und Zeitstempeln.GET /regimes/history
Gibt historische Regime-Klassifizierungsdaten für einen bestimmten Asset zurück. Nutzen Sie dies, um zu testen, wie bestimmte Regime-Typen historisch abgeschnitten haben, wie lange jeder Regime-Typ typischerweise dauert und wie Regime-Übergänge über die Zeit verlaufen.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Asset-Symbol. Standard: BTC |
| regimeoptional | string | Filter für einen bestimmten Regime-Typ, z.B. late_cycle_divergence. Weglassen für alle Regimes. |
| daysoptional | integer | Zeitraum in Tagen für den Rückblick. Standard: 30. Maximum: 365 |
Beispielantwort
"symbol": "BTC",
"current_regime": "late_cycle_divergence",
"regime_summary": {
"late_cycle_divergence": { "occurrences": 4, "avg_duration_h": 38, "avg_return_pct": -2.1 },
"accumulation": { "occurrences": 6, "avg_duration_h": 72, "avg_return_pct": 5.4 },
"breakout": { "occurrences": 3, "avg_duration_h": 18, "avg_return_pct": 9.2 }
},
"transitions": [
{ "from": "accumulation", "to": "breakout", "ts": 1710850000 },
{ "from": "breakout", "to": "late_cycle_divergence", "ts": 1710915000 }
]
}
/analysis , um Strategieannahmen anhand historischer Regime-Leistungsdaten zu validieren.GET /exchange-health
Gibt den Echtzeit-Status der Gesundheit aller überwachten Börsen zurück, einschließlich Latenz pro Börse, Fehlerraten und Indikatoren für veraltete Daten. Keine Authentifizierung erforderlich – öffentlich zugänglicher Endpunkt.
Beispielantwort
"overall_status": "ok",
"ts": 1710940821,
"exchanges": {
"bybit": { "status": "ok", "latency_ms": 42, "error_rate_1h": 0.0, "last_data_age_s": 18 },
"binance": { "status": "ok", "latency_ms": 38, "error_rate_1h": 0.0, "last_data_age_s": 22 },
"hyperliquid": { "status": "degraded", "latency_ms": 310, "error_rate_1h": 0.04, "last_data_age_s": 95 },
"okx": { "status": "ok", "latency_ms": 55, "error_rate_1h": 0.0, "last_data_age_s": 30 }
}
}
GET /sentiment
Gibt einen Echtzeit-Fear-&-Greed-Index (0-100) zurück, der aus Derivaten-Sentiment, Wal-Aktivität, Volatilität und sozialen Signalen berechnet wird. Enthält eine Aufschlüsselung der Komponenten und 24-Stunden-Historie für Trendanalysen.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Asset-Symbol. Standard: BTC |
Beispielantwort
"symbol": "BTC",
"score": 72,
"label": "Gier",
"components": {
"volatilität": 65,
"momentum": 78,
"derivate": 70,
"whale_activity": 75,
"social": 68
},
"history_24h": [
{ "ts": 1710940800, "score": 68, "label": "Gier" },
{ "ts": 1710937200, "score": 65, "label": "Gier" }
],
"ts": 1710940821
}
Integrationen
GET /tradingview/setup
Gibt Ihre personalisierte TradingView-Integrationskonfiguration zurück: Webhook-URL, Geheimnis zur Validierung und sofort einsatzbereite Pine-Script-Indikatoren, die direkt mit der Smart Money API verbunden sind. Kopieren Sie das Pine-Script in TradingView, um unsere Signale auf jedem Chart anzuzeigen.
Beispielantwort
"webhook_url": "https://api.smartmoneyapi.com/v1/tradingview/webhook",
"webhook_secret": "tvs_a1b2c3...",
"pine_scripts": {
"composite_indicator": "// Smart Money Composite v1 //@version=5 indicator(...)...",
"whale_activity": "// Whale Activity Overlay v1 ...",
"funding_dashboard": "// Funding Rate + LSR Dashboard v1 ..."
}
}
POST /tradingview/webhook
Empfängt eine TradingView-Warnung, leitet sie durch /confirmund gibt die Bestätigung zurück. TradingView kann keine benutzerdefinierten Header senden, daher authentifizieren Sie sich, indem Sie Ihren Webhook secret im JSON-Body einfügen (dieser Endpunkt verwendet nicht X-API-Key). Die Antwort umschließt die Bestätigung und fügt eine Top-Level- action von CONFIRMED (Daemon-Konfidenz HIGH/MEDIUM) oder VETOED.
Anfrage-Body
"secret": "your_webhook_secret",
"symbol": "BTC",
"direction": "long",
"timeframe": "1h",
"strategy": "EMA-Kreuzung",
"price": 67500.0
}
Erforderlich: secret, symbol, direction (long|short). Optional: source, timeframe, strategy, price.
Personalisierung
GET /preferences
Gibt Ihre aktuellen Personalisierungseinstellungen zurück, einschließlich Standard-Handelsparameter, Risikoprofil, Watchlist und Benachrichtigungseinstellungen.
Aktualisieren Sie die Einstellungen, indem Sie einen JSON-Body mit einer beliebigen Teilmenge der folgenden Felder senden. Ausgelassene Felder behalten ihre aktuellen Werte bei.
Einstellungsfelder
| Feld | Typ | Beschreibung |
|---|---|---|
| default_trade_size_usd | float | Standard-Positionsgröße in USD für Kelly- und Smart-Stop-Berechnungen |
| risk_tolerance | string | conservative, moderate, oder aggressive |
| default_risk_pct | float | Standardrisiko pro Trade als % des Kontos. Wird von /smart-stop verwendet, wenn risk_pct ausgelassen wird |
| watchlist | array | Geordnete Liste von Asset-Symbolen, z.B. ["BTC","ETH","SOL"] |
| notification_email | string | E-Mail-Adresse für die Zustellung von Warnungen |
| timezone | string | IANA-Zeitzonen-String, z.B. America/New_York |
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}
GET /watchlist
Liefert eine Bestätigungsstatus-Momentaufnahme und wichtige Risikokennzahlen für alle Symbole in Ihrer konfigurierten Watchlist. Bietet einen Multi-Asset-Überblick ohne separate Abfrage für jedes Symbol. /confirm separat für jedes Symbol.
Beispielantwort
"ts": 1710940821,
"watchlist": [
{
"symbol": "BTC",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "accumulation",
"cascade_risk": "LOW"
},
{
"symbol": "ETH",
"confidence": "MEDIUM",
"action": "REDUCE",
"regime": "late_cycle_divergence",
"cascade_risk": "HIGH"
},
{
"symbol": "SOL",
"confidence": "HIGH",
"action": "CONFIRM",
"regime": "breakout",
"cascade_risk": "MEDIUM"
}
]
}
Echtzeit-Streaming (Live Swaps)
Streamen Sie DEX-Swaps ≥ $500 in Echtzeit von unseren eigenen BSC- und Avalanche-Nodes. Zwei Transportwege sind verfügbar: ein öffentlicher Server-Sent Events (SSE)-Stream für kostenlose/Browser-Clients und ein Low-Latency-WebSocket-Firehose für bezahlte Tarife. Ereignisse werden innerhalb von Sekunden nach der Aufnahme in einen Block übertragen.
Öffentlicher SSE-Stream (kostenlos)
Keine Authentifizierung erforderlich. Native EventSource Unterstützung in allen modernen Browsern. Der Server sendet swap Ereignisse und periodische Heartbeats, um die Verbindung aufrechtzuerhalten.
es.addEventListener("swap", e => {
const swap = JSON.parse(e.data);
console.log(swap.chain, swap.pair, swap.amount_usd);
});
WebSocket Firehose (bezahlt)
Authentifizierung (empfohlen): Verwenden Sie Ihren langlebigen Schlüssel niemals in der URL – er wird von Proxys protokolliert und im Browserverlauf gespeichert. POSTen Sie stattdessen Ihren Schlüssel an /v1/ws/ticket mit dem sicheren X-API-Key Header, öffnen Sie dann den Socket mit dem zurückgegebenen Einmal- ticket (gültig ~60s, einmal einlösbar). Server-seitige Clients, die Header setzen können, können stattdessen X-API-Key direkt beim Handshake übergeben. Free-Tier-Schlüssel erhalten eine 402 payment_required Antwort. Ein hello Frame wird bei der Verbindung mit Ihrem Tarif und der Broadcast-Schwelle gesendet.
const r = await fetch("https://api.smartmoneyapi.com/v1/ws/ticket", {
method: "POST", headers: { "X-API-Key": "sm_xxx" }
});
const { ticket } = await r.json();
// 2. Öffnen Sie den Socket mit dem Einmal-Ticket
const ws = new WebSocket(`wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=${ticket}`);
ws.onmessage = e => {
const swap = JSON.parse(e.data);
if (swap.type === "swap") console.log(swap);
};
WebSocket-Authentifizierung (Tickets)
Warum: Verwenden Sie Ihren API-Schlüssel niemals in einer WebSocket-URL – Abfragezeichenfolgen werden von Proxys, Load Balancern protokolliert und im Browserverlauf gespeichert. Tauschen Sie stattdessen Ihren Schlüssel gegen ein kurzlebiges, einmaliges ticket über einen normalen authentifizierten POST aus und verbinden Sie sich dann mit diesem Ticket.
Ablauf: POST an /v1/ws/ticket mit Ihrem X-API-Key Header → erhalten Sie { "ticket": "…", "expires_in": 60 }. Dann öffnen wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>. The ticket is Einmalig verwendbar und läuft ab in ~60 Sekunden. Server-seitige Clients, die Request-Header setzen können, können stattdessen X-API-Key direkt im WebSocket-Handshake übergeben — kein Ticket benötigt.
Erstellt ein Einmal-Ticket für einen authentifizierten WebSocket-Handshake. Authentifiziere dich mit dem X-API-Key Header (dein Schlüssel verlässt niemals die Request-Header). Das zurückgegebene Ticket kann einmal eingelöst werden auf /v1/ws/live-swaps bevor es abläuft.
"https://api.smartmoneyapi.com/v1/ws/ticket"
Beispielantwort
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
| ticket | string | Einmalig verwendbares Token, das als ?ticket= an die WebSocket-URL angehängt wird. Wird einmal eingelöst und dann ungültig. |
| expires_in | number | Sekunden bis zum Ablauf des Tickets (~60). Erstelle für jeden Verbindungsversuch ein neues Ticket. |
Hinweis: die veraltete ?key= Query-Param-Authentifizierung wird nicht mehr akzeptiert bei WebSocket-Endpunkten aus Sicherheitsgründen. Verwende ein Ticket (Browser-Clients) oder den X-API-Key Handshake-Header (server-seitige Clients).
REST-Schnappschuss
Gibt die letzten N übertragenen Swaps aus dem Rolling Buffer zurück. Nützlich für das First-Paint auf Dashboards, bevor die Stream-Verbindung geöffnet wird. Auch verfügbar: /v1/live-swaps/status für Broadcaster-Statistiken.
Ereignisschema
| Feld | Typ | Beschreibung |
|---|---|---|
| chain | string | bsc oder avalanche |
| dex | string | Router-Name (z.B. pancakeswap_v2, traderjoe) oder unknown_dex |
| swapper | string | Vollständige 0x-Adresse der Wallet, die den Swap ausgeführt hat |
| swapper_short | string | Abgekürzte Form für die Anzeige (z.B. 0xb300…028d) |
| swapper_url | string | Direkter Link zum Swapper im Block Explorer der Chain |
| tx_hash | string | Transaktions-Hash |
| explorer_url | string | Direkter Link zur Transaktion auf BscScan / Snowtrace |
| token_in | string | Symbol des verkauften Tokens (z.B. USDT) |
| token_out | string | Symbol des gekauften Tokens |
| amount_usd | number | USD-Wert des Swaps (Minimum: $500) |
| pair | string | Formatierte Paar-Bezeichnung (z.B. USDT → USDC) |
| block | number | Blocknummer, in der der Swap gemined wurde |
| timestamp | number | Unix-Epochen-Sekunden |
| significance | string | low / medium / high / critical basierend auf der USD-Größe |
| seq | number | Monoton fortlaufende Broadcast-Sequenznummer — zur Lückenerkennung |
POST /alerts/conditions
Erstelle benutzerdefinierte Alarmregeln, die ausgelöst werden, wenn ein bestimmter Metrikwert einen Schwellenwert überschreitet. Alarme werden je nach deinen Präferenzen per Webhook, E-Mail oder im Dashboard-Benachrichtigungsfeed zugestellt.
Gibt eine Liste aller deiner konfigurierten Alarmbedingungen mit ihren IDs, Definitionen und dem aktuellen Status zurück.
Entfernt dauerhaft eine Alarmbedingung anhand ihrer ID.
Gibt kürzliche Alarmauslöser mit Zeitstempeln, übereinstimmenden Bedingungen und dem Metrikwert zum Zeitpunkt des Auslösers zurück.
Alarm erstellen — Anfragekörper
| Feld | Typ | Beschreibung |
|---|---|---|
| nameerforderlich | string | Menschenlesbare Bezeichnung für diesen Alarm (max. 64 Zeichen) |
| metricrequired | string | Die zu überwachende Metrik. Siehe Tabelle der verfügbaren Metriken unten. |
| symboloptional | string | Asset-Kontext. Erforderlich für symbolbezogene Metriken wie funding_rate. |
| operatorrequired | string | Vergleichsoperator: gt, lt, eq, crosses_above, crosses_below |
| thresholdrequired | float | Numerischer Wert, gegen den die Metrik verglichen wird |
| deliveryoptional | string | Zustellungskanal, z.B. telegram (default) oder webhook |
| cooldown_minutesoptional | integer | Mindestminuten zwischen erneuten Auslösungen (Standard: 60) |
Die aktuelle Liste gültiger Metriken und Operatoren wird zurückgegeben von GET /v1/alerts/conditions as available_metrics and available_operators.
Verfügbare Metriken
| Metrik | Beschreibung |
|---|---|
| funding_rate | Aktueller Funding Rate für Symbol (als Dezimalzahl) |
| global_lsr | Globales Long/Short-Verhältnis für Symbol |
| long_pct | Prozentsatz der Konten mit Netto-Long-Position für Symbol |
| top_trader_lsr | Top-Trader Long/Short-Verhältnis für Symbol |
| taker_ratio | Taker-Kauf/Verkauf-Verhältnis für Symbol |
| mvrv | Marktwert-zu-Realisiertem-Wert-Verhältnis (BTC/ETH) |
| sopr | Spent Output Profit Ratio (BTC/ETH) |
| exchange_net_flow | On-Chain Exchange Net-Flow-Signal |
| accumulation | On-Chain-Akkumulationssignal |
| whale_long_pct | Prozentsatz der verfolgten Wallet-Adressen mit Long-Positionen für Symbol |
| whale_n_wallets | Anzahl der verfolgten Wallet-Adressen mit einer Position in Symbol |
| composite_long | Zusammengesetzter Score für Symbol in Long-Richtung |
| composite_short | Zusammengesetzter Score für Symbol in Short-Richtung |
| funding_spread | Cross-Venue-Funding-Spread für Symbol |
"name": "BTC funding rate spike",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}
GET /kelly
Gibt Kelly-Kriterium-Positionsgrößenempfehlungen zurück, die auf historische Signalperformance für das gegebene Symbol, Konfidenzniveau und Richtung kalibriert sind. Begründet Positionsgröße auf empirischen Gewinnraten, um Überhebelung zu vermeiden.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symbolrequired | string | Asset-Symbol: BTC, ETH, oder SOL |
| confidenceoptional | string | Signal-Konfidenzniveau für Modellierung: HIGH, MEDIUM, oder LOW. Standard: HIGH |
| directionoptional | string | Handelsrichtung: long oder short. Standard: long |
| account_sizeoptional | float | Kontogröße in USD zur Berechnung von suggested_size_usd. Standard: 10000 |
Beispielantwort
"symbol": "BTC",
"confidence": "HIGH",
"direction": "long",
"win_rate": 0.68,
"avg_reward_risk_ratio": 2.1,
"kelly_fraction": 0.36,
"half_kelly": 0.18,
"suggested_size_usd": 1800,
"samples": 142,
"note": "Half-Kelly für Live-Trading empfohlen, um Schätzfehler zu berücksichtigen."
}
GET /performance
Gibt historische Genauigkeitsstatistiken für vom API ausgegebene Signale zurück, aufgeschlüsselt nach Konfidenzniveau. Nützlich, um die Signalzuverlässigkeit zu verstehen, bevor Kapital eingesetzt wird.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| symboloptional | string | Nach Asset filtern. Weglassen für aggregierte Statistiken über alle Symbole. |
| daysoptional | integer | Rückblickzeitraum in Tagen. Standard: 30 |
Beispielantwort
"symbol": "BTC",
"period_days": 30,
"by_confidence": {
"HIGH": { "win_rate": 0.71, "samples": 58, "avg_return_pct": 3.4 },
"MEDIUM": { "win_rate": 0.54, "samples": 84, "avg_return_pct": 1.2 }
}
}
Statistiken & Signale
GET /v1/stats
Website-weite ehrliche Leistungsstatistiken, bezogen aus smart_money_confirm distinct-call-Ergebnissen. Gibt Gewinnquoten bei HIGH- und MEDIUM-Konfidenzstufen, Gesamtgenauigkeit, Profitfaktor und eine Aufschlüsselung pro Symbol zurück. Alle Zahlen sind In-Sample über das Bewertungsfenster; siehe calibration.html für Kontext und Forward-Holdout-Methodik.
Beispielantwort
"high_winrate": 0.714,
"high_winrate_n": 14,
"medium_winrate": 0.530,
"medium_winrate_n": 34,
"overall_accuracy": 0.613,
"overall_accuracy_n": 48,
"profit_factor": 1.77,
"avg_win_pct": 4.2,
"winrate_horizon": "24h",
"winrate_basis": "distinct confirm calls, 24h resolved outcomes",
"winrate_by_symbol": {
"BTC": { "win_rate": 0.68, "n": 22 },
"ETH": { "win_rate": 0.55, "n": 18 },
"SOL": { "win_rate": 0.60, "n": 8 }
},
"forward_holdout": {
"win_rate": 0.59,
"high_win_rate": 0.70,
"high_n": 10,
"is_distinct_from_insample": false
}
}
forward_holdout Objekt ist die einzige Zahl, die auf Daten basiert, die der Scorer nie gesehen hat – beobachten Sie, wie sie mit der Zeit wächst. Siehe calibration.html für die vollständige Methodik und die In-Sample-/Forward-Test-Grenze.GET /v1/signals/performance
Signal-Ergebnisverfolgung über mehrere Auflösungshorizonte (4h, 12h, 24h, 72h). Gibt Trefferquoten pro Horizon, Gesamtsignalanzahlen und eine Aufschlüsselung nach Signaltyp zurück.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| daysoptional | integer | Rückblickzeitraum in Tagen. Standard: 30 |
| signal_typeoptional | string | Nach Typ filtern, z.B. smart_money_confirm oder regime_flip. Weglassen für alle Typen. |
| symboloptional | string | Nach Assetsymbol filtern, z.B. BTC. Weglassen für Aggregation über alle Symbole. |
Beispielantwort
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
Horizonte: {
4h: { Trefferquote: 0.65, Abgeschlossen: 46 },
12h: { Trefferquote: 0.61, Abgeschlossen: 44 },
24h: { Trefferquote: 0.58, Abgeschlossen: 40 },
72h: { Trefferquote: 0.54, Abgeschlossen: 32 }
},
Typenaufschlüsselung: {
smart_money_confirm: { Anzahl: 35, Trefferquote_24h: 0.61 },
Regimewechsel: { Anzahl: 13, Trefferquote_24h: 0.47 }
}
}
GET /v1/signals/recent
Feed der kürzlich veröffentlichten HIGH- und MEDIUM-Signale für alle überwachten Symbole. Jeder Eintrag enthält den Signaltyp, das Konfidenzniveau, die Richtung und den Status der Auflösung, sofern verfügbar.
Beispielantwort
signals: [
{
id: 1042,
symbol: BTC,
direction: long,
signal_type: smart_money_confirm,
confidence: HIGH,
composite: 0.74,
ts: 1710940821,
resolved: true,
outcome_24h: win
}
],
count: 50
}
GET /v1/signals/{id}/outcome
Abgeschlossenes Ergebnis für ein einzelnes Signal anhand seiner numerischen ID. Gibt Treffer/Fehlschlag für jeden Auflösungshorizont (4h, 12h, 24h, 72h) zusammen mit dem Preis zum Signalzeitpunkt und bei Auflösung zurück.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| iderforderlich | integer | Signal-ID (Pfadsegment), z.B. /v1/signals/1042/outcome |
Beispielantwort
id: 1042,
symbol: BTC,
direction: long,
confidence: HIGH,
entry_price: 63200.0,
ts: 1710940821,
outcomes: {
4h: { result: win, price: 64100.0, pct: 1.41 },
12h: { result: win, price: 65200.0, pct: 3.16 },
24h: { result: win, price: 65800.0, pct: 4.11 },
72h: { result: pending, price: null, pct: null }
}
}
GET /v1/confirm-winrate
Bestätigungs-Signal-Trefferquote für den eigenen API-Schlüssel des authentifizierten Benutzers. Gibt die Trefferquoten für jedes Konfidenzniveau, den Profitfaktor und pro-Symbol-Werte zurück. Erfordert einen gültigen X-API-Key Header.
Beispielanfrage
"https://api.smartmoneyapi.com/v1/confirm-winrate"
Beispielantwort
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
medium_n: 34,
overall_accuracy: 0.613,
overall_n: 48,
profit_factor: 1.77,
winrate_horizon: 24h,
by_symbol: {
BTC: { win_rate: 0.68, n: 22 },
ETH: { win_rate: 0.55, n: 18 }
}
}
Shadow Gate
Ein unveränderliches, nur anfügbares persönliches Entscheidungsregister. Tragen Sie Ihre Handelsentscheidungen vor oder nach der Ausführung ein; das System berechnet eine Bestätigungspunktzahl gegenüber der Smart Money-Engine und fügt eine dauerhafte Zeile hinzu. Nutzen Sie es, um eine ehrliche, zeitgestempelte Aufzeichnung darüber zu erstellen, wie gut das API-Signal mit Ihren eigenen Einstiegen übereinstimmte – völlig unabhängig vom globalen Gewinnquoten-Pool. Free- und Trader-Tier-Antworten haben Beweisfelder entfernt; Pro liefert die vollständige Aufschlüsselung. Für Free-Tier-Daten gilt eine Verzögerung.
Eine Entscheidung einreichen. Idempotent bezüglich des Idempotency-Key Request-Headers – erneutes Einreichen desselben Schlüssels gibt die vorhandene Zeile zurück, ohne ein Duplikat zu erstellen. Das System ruft sofort die Bestätigungs-Engine auf und fügt das Ergebnis als unveränderliche Registerzeile hinzu.
Request Body
| Feld | Typ | Beschreibung |
|---|---|---|
| symbolrequired | string | Asset-Symbol, z.B. BTC |
| siderequired | string | Handelsrichtung: long oder short |
| strategy_idoptional | string | Vom Aufrufer definiertes Strategielabel (max. 64 Zeichen). Wird unverändert zur Gruppierung und Filterung gespeichert. |
Example Request
-H "X-API-Key: sm_your_key" \
-H "Idempotency-Key: my-signal-20260701-001" \
-H "Content-Type: application/json" \
-d '{"symbol":"BTC","side":"long","strategy_id":"ema_crossover"}' \
"https://api.smartmoneyapi.com/v1/shadow-gate/decisions"
Example Response
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"ts": 1710940821,
"resolved": false
}
factors / adjustments Beweisfelder weg. Pro liefert die vollständige Bestätigungsaufschlüsselung. Für Free gilt eine Verzögerung – die Zeile wird sofort geschrieben, aber die Bestätigungspunktzahl kann zwischengespeicherte Daten bis zu 60 Sekunden alt widerspiegeln.Listet Ihre eigenen Shadow-Gate-Entscheidungen auf, neueste zuerst. Eigenerbereich – nur Entscheidungen, die mit Ihrem API-Schlüssel eingereicht wurden, werden zurückgegeben.
Parameters
| Parameter | Typ | Beschreibung |
|---|---|---|
| limitoptional | integer | Maximale Anzahl zurückzugebender Zeilen. Standard: 50, max: 200 |
| cursoroptional | string | Undurchsichtiger Paginierungscursor aus dem next_cursor -Feld einer vorherigen Antwort. Für die erste Seite weglassen. |
Example Response
"decisions": [
{ "id": 318, "symbol": "BTC", "side": "long", "decision": "CONFIRM", "confidence": "HIGH", "composite": 0.74, "size_mult": 1.5, "ts": 1710940821, "resolved": false },
{ "id": 317, "symbol": "ETH", "side": "short", "decision": "SKIP", "confidence": "LOW", "composite": -0.12, "size_mult": 0.0, "ts": 1710937000, "resolved": true }
],
"count": 2,
"next_cursor": null
}
Einzelne Entscheidung nach ID, inklusive der vollständigen Bestätigungsnachweise für die Pro-Version. Antworten der Free- und Trader-Version haben factors und adjustments entfernt. Gibt zurück 403 , wenn die Entscheidung zu einem anderen API-Schlüssel gehört.
Beispielantwort (Pro)
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"factors": {
"derivatives": { "score": 0.81, "weight": 0.40, "weighted": 0.324 },
"onchain": { "score": 0.68, "weight": 0.35, "weighted": 0.238 },
"whale": { "score": 0.73, "weight": 0.25, "weighted": 0.183 }
},
"ts": 1710940821,
"resolved": false,
"outcome": null
}
Manuelles Auflösen des Ergebnisses einer Entscheidung. Rufen Sie dies auf, nachdem Sie den Trade geschlossen haben, um das Endergebnis gegen den Ledger-Eintrag zu speichern. Einmal aufgelöst, ist der Eintrag unveränderlich und kann nicht erneut geändert werden.
Anfragekörper
| Feld | Typ | Beschreibung |
|---|---|---|
| outcomeerforderlich | string | Trade-Ergebnis: win oder loss |
| exit_priceoptional | float | Ausstiegspreis für den Trade. Wird zur Referenz gespeichert; verwendet zur Berechnung des P&L %, falls angegeben. |
| pnl_pctoptional | float | Realisiertes P&L als Prozentsatz der Positionsgröße, z.B. 3.5 oder -1.2 |
Beispielantwort
"id": 318,
"resolved": true,
"outcome": "win",
"exit_price": 65800.0,
"pnl_pct": 4.1,
"resolved_at": 1711027200
}
Fehlercodes
| Status | Code | Beschreibung |
|---|---|---|
| 400 | invalid_params | Fehlende oder ungültige Abfrageparameter |
| 401 | unauthorized | Fehlender oder ungültiger API-Schlüssel |
| 403 | plan_restriction | Endpunkt in Ihrem aktuellen Tarif nicht verfügbar |
| 429 | rate_limit_exceeded | Tages- oder Burst-Limit erreicht |
| 500 | internal_error | Serverfehler – prüfen Sie /health für den Quellstatus |
| 503 | data_stale | Datenquelle nicht verfügbar; zurückgegeben mit den letzten bekannten Daten |
Codebeispiele
Python
r = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": "BTC", "direction": "long"},
headers={X-API-Key: sm_your_key}
)
data = r.json()
print(data["confidence"]) # HIGH / MEDIUM
print(data["size_mult"]) # 1.5 / 1.0
API_KEY = "sm_your_key"
BASE_URL = "https://api.smartmoneyapi.com/v1"
def confirm_trade(symbol, direction):
resp = requests.get(
f"{BASE_URL}/confirm",
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key": API_KEY},
timeout=5
)
resp.raise_for_status()
return resp.json()
# In Ihrem Trading-Loop:
signal = confirm_trade("BTC", "long")
if signal["confidence"] not in ["HIGH", "MEDIUM"]:
print("Überspringen — unzureichende Zuversicht")
else:
size = base_size * signal["size_mult"]
place_order(symbol, direction, size)
JavaScript / Node.js
async function confirmTrade(symbol, direction) {
const params = new URLSearchParams({ symbol, direction });
const res = await fetch(
`https://api.smartmoneyapi.com/v1/confirm?${params}`,
{ headers: { 'X-API-Key': API_KEY } }
);
if (!res.ok) throw new Error(`API-Fehler: ${res.status}`);
return res.json();
}
// Verwendung
confirmTrade('BTC', 'long')..then(data => {
console.log(data.confidence, data.size_mult);
});
cURL
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
# Wal-Daten abrufen
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/whales?symbol=BTC"
# Nutzung prüfen
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage
Freqtrade-Integration
Fügen Sie die Smart-Money-Bestätigung zu jeder Freqtrade-Strategie hinzu, indem Sie die Methode überschreiben. confirm_trade_entry Methode.
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy):
SM_API_KEY = "sm_your_key"
SM_BASE = "https://api.smartmoneyapi.com/v1"
def confirm_trade_entry(self, pair, order_type,
amount, rate, time_in_force,
current_time, entry_tag, **kwargs):
symbol = pair.split("/")[0]
if symbol not in ["BTC", "ETH", "SOL"]:
return True # Überspringen Sie die Überprüfung für nicht unterstützte
try:
r = requests.get(
f"{self.SM_BASE}/confirm",
params={"symbol": symbol, "direction": "long"},
headers={"X-API-Key": self.SM_API_KEY},
timeout=3
).json()
return r.get("confidence") in ["HIGH", "MEDIUM"]
except:
return True # Bei API-Fehlern offen lassen
CCXT + Smart Money
exchange = ccxt.bybit({
"apiKey": "YOUR_BYBIT_KEY",
"secret": "YOUR_BYBIT_SECRET"
})
SM_KEY = "sm_your_key"
def smart_trade(symbol, side, amount):
# Überprüfen Sie zuerst die Bestätigung
conf = requests.get(
"https://api.smartmoneyapi.com/v1/confirm",
params={"symbol": symbol, "direction": side},
headers={"X-API-Key": SM_KEY}
).json()
if conf["confidence"] not in ["HIGH", "MEDIUM"]:
print(f"Skipping {symbol} {side} — unzureichende Zuversicht.")
return None
adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"Order placed: {adj_amount} {symbol} {side}")
return order
Überprüfen Sie die API-Statusseite für Echtzeit-Gesundheitsinformationen oder verwenden Sie unser Kontaktformular.