Odnośnik API

Smart Money API

Profesjonalne API analityczne, które agreguje dane z rynku instrumentów pochodnych, metryki on-chain oraz aktywność portfeli wielorybów w jedną ocenę pewności dla twojego bota handlowego.

Obecna wersja API: v1. Bazowy URL: https://api.smartmoneyapi.com/v1

Zasady projektowania

Cztery idee kształtują każdy endpoint i każdą ocenę zwracaną przez to API. Są one również uczciwymi granicami tego, co obiecuje — i czego nie obiecuje.

Strategia przed sygnałem. To nie jest źródło sygnałów kupna/sprzedaży. Ty dostarczasz strategię i wejście; API mówi ci, czy otaczająca struktura rynku — pozycjonowanie instrumentów pochodnych, funding, otwarte zainteresowanie, likwidacje, przepływ on-chain i konsensus wielorybów — zgadza się z transakcją, którą już chcesz wykonać.

Ocena pewności, nie binarna prognoza. Każda odpowiedź zawiera stopniowaną ocenę confidence (WYSOKA / ŚREDNIA / NISKA) i wartość composite od -1.0 do +1.0. Nie ma gwarancji i wywołań oracle — otrzymujesz skalibrowaną ocenę zgodności wraz z przyczynami, abyś mógł dostosować rozmiar proporcjonalnie do przekonania.

Wsparcie decyzyjne, nie porada wykonawcza. API zwraca rekomendację POTWIERDŹ / OGRANICZ / POMIŃ i mnożnik rozmiaru dla twojej logiki do działania. Nigdy nie składa zleceń i nic tu nie jest poradą finansową. Ty pozostajesz odpowiedzialny za ryzyko, rozmiar i wykonanie.

Metryki żywe, nie stałe gwarancje. Wskaźniki wygranych, statystyki reżimów i dokładność są obliczane z ruchomej próbki i zmieniają się wraz z rynkami. Publikujemy je uczciwie, nawet gdy są przeciętne. Traktuj każdą metrykę jako aktualną obserwację, nie obietnicę na przyszłość.

Dla kogo jest to API

To API jest stworzone dla twórców botów, algorytmów i agentów AI którzy już mają sygnał długi/krótki — ze strategii TA, modelu ML, potoku Freqtrade, alertu TradingView lub agenta LLM — i chcą szybką, przedtransakcyjną decyzję POTWIERDŹ / OGRANICZ / POMIŃ przed zaangażowaniem kapitału.

Typowa pętla: twoja strategia wyzwala "idź długo na BTC" → wywołujesz GET /v1/confirm?symbol=BTC&direction=long → potwierdzasz, ograniczasz lub pomijasz wejście i skalę rozmiaru według size_mult. Jedno wywołanie, pojedyncza odpowiedź JSON o niskim opóźnieniu, brak dodatkowej infrastruktury.

To nie jest samodzielny generator sygnałów, produkt do tworzenia wykresów ani miejsce wykonania. Jeśli nie masz własnego sygnału do sprawdzenia, zacznij od strony wydajności aby zobaczyć, jak zachowywała się ocena, zanim podłączysz ją do żywego bota.

Uzyskiwanie dostępu

1 — Zarejestruj się. Utwórz darmowe konto na signup (e-mail/hasło lub Google). Karta kredytowa nie jest wymagana dla darmowego planu.

2 — Otwórz swój panel. Twój panel pokazuje twój klucz API, obecny plan i bieżące użycie w stosunku do dziennego limitu.

3 — Skopiuj swój klucz API. Klucze mają prefiks sm_. Przekazuj go w nagłówku X-API-Key na każde żądanie (patrz Uwierzytelnianie). Możesz w każdej chwili dokonać ulepszenia na strona z cennikiem aby zwiększyć limity i odblokować więcej symboli i endpointów.

Specyfikacja, SDK i książka kucharska

Wszystko, czego potrzebujesz do szybkiej integracji, niezależnie od tego, czy piszesz kod samodzielnie, czy powierzasz go agentowi kodującemu.

ZasóbCo to jest
Książka kucharskaGotowe przepisy do kopiowania i wklejania dla najczęstszych integracji — potwierdź przed wejściem, zabezpiecz sygnał Freqtrade, dostosuj rozmiar przez mnożnik, obsłuż 402/429 i przekaż go agentowi kodującemu.
Specyfikacja OpenAPIZdefiniowana w OpenAPI, maszynowo czytelna specyfikacja każdego endpointu. Zaimportuj do Postmana/Insomnii, wygeneruj klienta lub przekaż do LLM. Na github.com/tashiardit/smartmoneyapi-docs.
Klient PythonOficjalna biblioteka kliencka Python na github.com/tashiardit/smartmoneyapi-python.
/llms.txtPodsumowanie API w formie zwykłego tekstu przyjaznego dla LLM. Wskaż Claude’owi, Codexowi lub Cursorowi (zobacz Agenci kodujący).

Szybki start w 2 minuty

Krok 1 — Podstawowy URL. Każdy endpoint znajduje się pod:

Podstawowy URL
https://api.smartmoneyapi.com

Krok 2 — Uzyskaj swój klucz API. Zarejestruj się za darmo (nie wymagana karta kredytowa) i skopiuj swój klucz z panelu sterowania. Przekaż go jako X-API-Key nagłówek w każdym żądaniu.

Krok 3 — Twoje pierwsze wywołanie. Wklej to do swojego terminala i zastąp sm_your_key kluczem z panelu sterowania:

cURL
curl -H "X-API-Key: sm_your_key" "https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Oczekiwana odpowiedź:

JSON
{
"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": ["Dodatnia stopa fundingowa na wszystkich giełdach", "Wieloryby: 67% konsensusu long"]
}

Gdy confidence jest HIGH lub MEDIUM i action jest CONFIRM, dostosuj rozmiar pozycji przez size_mult. To cała pętla integracji. Zobacz Pola odpowiedzi aby uzyskać pełne odniesienie do pól.

Uwierzytelnianie

Wszystkie żądania wymagają klucza API przekazanego jako X-API-Key nagłówek HTTP.

Nagłówek HTTP
X-API-Key: sm_your_api_key_here

Twój klucz API jest dostępny w panelu sterowania po rejestracji. Zachowaj swój klucz w tajemnicy — nie udostępniaj go w kodzie po stronie klienta ani w publicznych repozytoriach.

Uwierzytelnianie WebSocket jest inne. Nigdy nie umieszczaj swojego klucza w URL WebSocket. Strumienie w czasie rzeczywistym używają krótkotrwałych, jednorazowych biletów: Wyślij swój klucz metodą POST na /v1/ws/ticket z X-API-Key nagłówkiem, a następnie połącz się ze zwróconym biletem. Zobacz Uwierzytelnianie WebSocket (bilety).

Logowanie przez Google (Firebase Auth)

Użytkownicy mogą uwierzytelniać się za pomocą konta Google poprzez Firebase Authentication. Po pomyślnym zalogowaniu przez Google na kliencie, wymień token ID Firebase na powiązaną sesję API. System automatycznie synchronizuje Twoją tożsamość Google z systemem kluczy API.

Dostępne dla: Free Trader Pro
POST /auth/google

Treść żądania

PoleTypOpis
id_tokenwymaganystringToken ID Firebase uzyskany po zalogowaniu przez Google na kliencie

Przykładowa odpowiedź

JSON
{
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Dane profilu użytkownika — email, plan, historia użycia, preferencje — są przechowywane w Firestore i powiązane z kontem Google. Pełny eksport danych lub usunięcie konta można zażądać w dowolnym momencie w ustawieniach prywatności w panelu sterowania.

Limity wywołań

PlanWywołania/DzieńLimit nagłyOpóźnienie danych
Free502/min60 sekund
Trader1,00020/minRzeczywisty czas
Pro5,00060/minReal-time
Enterprise100,000400/minReal-time

Nagłówki limitów szybkości są zawarte w każdej odpowiedzi: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Podstawowy URL

https://api.smartmoneyapi.com/v1

Wszystkie poniższe punkty końcowe są względem tego podstawowego URL. Wszystkie odpowiedzi są w formacie JSON z Content-Type: application/json.

Błędy

Błędy używają standardowych kodów statusu HTTP i spójnego ciała JSON. Zawsze rozgałęziaj się na podstawie kodu statusu, a nie tekstu odpowiedzi. Trzy najczęściej spotykane:

StatusKodZnaczenie i co zrobić
401unauthorizedBrakujący lub nieprawidłowy klucz API. Sprawdź, czy X-API-Key nagłówek jest obecny i poprawny.
402payment_requiredPunkt końcowy lub symbol wymaga wyższego planu niż ten, który posiada twój klucz (np. darmowy klucz wywołujący WebSocket firehose). Ulepsz lub wróć do publicznego punktu końcowego.
429rate_limit_exceededDzienny lub chwilowy limit osiągnięty. Wycofaj się i spróbuj ponownie po X-RateLimit-Reset; nie bombarduj.

Każdy błąd zwraca ten sam kształt:

JSON
{
"error": "rate_limit_exceeded",
"message": "Dzienny limit 100 wywołań osiągnięty. Resetuje się o 00:00 UTC.",
"status": 429
}

Aby uzyskać pełną listę kodów statusu (400 / 403 / 500 / 503 i więcej), zobacz Kody błędów. Solidna integracja traktuje 5xx i 429 jako przejściowe (ponów próbę z wycofaniem) oraz 401/402/403 jako terminalne (napraw klucz lub plan).

Najlepsze praktyki bezpieczeństwa

Wysyłaj klucz w nagłówku, nigdy w URL. Zawsze przekazuj X-API-Key jako nagłówek HTTP. Klucze w ciągach zapytań (?key=) są logowane przez proxy, load balancery i historię przeglądarki — starszy ?key= auth nie jest już akceptowany w punktach końcowych WebSocket z tego właśnie powodu.

Przechowuj klucze po stronie serwera. Nigdy nie osadzaj klucza API w klienckim JavaScript, pakiecie aplikacji mobilnej ani publicznym repozytorium. Załaduj go ze zmiennej środowiskowej lub menedżera sekretów. Jeśli klucz wycieknie, zmień go.

Regularnie zmieniaj klucze. Wygeneruj ponownie swój klucz z panelu sterowania według harmonogramu i natychmiast, jeśli podejrzewasz ujawnienie. Stary klucz przestaje działać w momencie wydania nowego.

Używaj biletów do gniazd przeglądarki. W przypadku strumieni w czasie rzeczywistym z przeglądarki wymień swój klucz na bilet jednorazowego użytku zamiast łączyć się z surowym kluczem — zobacz Uwierzytelnianie WebSocket (bilety).

Używanie z agentami kodującymi / LLM

Budujesz z Claude Code, Codex, Cursor lub jakimkolwiek agentem kodującym LLM? Możesz przekazać agentowi wszystko, czego potrzebuje, aby poprawnie podłączyć to API w jednym kroku. Opublikowano dwa referencje maszynowo-czytelne:

ZasóbURL
Podsumowanie LLMhttps://smartmoneyapi.com/llms.txt
Specyfikacja OpenAPIgithub.com/tashiardit/smartmoneyapi-docs

Wskaż swojego agenta na /llms.txt plik (konwencja llms.txt) dla zwięzłego przeglądu, a następnie specyfikację OpenAPI dla dokładnych kształtów żądań/odpowiedzi. Jednolinijkowy monit, który działa dobrze:

Monit
# Wklej do Claude Code / Cursor / Codex
Przeczytaj https://smartmoneyapi.com/llms.txt i specyfikację OpenAPI na
github.com/tashiardit/smartmoneyapi-docs, następnie dodaj przed-handlową
kontrolę do mojego bota, który wywołuje GET /v1/confirm i pomija wpisy
chyba że akcja to CONFIRM.

Zobacz Książka kucharska aby uzyskać przepis na agenta kodującego.

Punkty końcowe

GET  /confirm

Podstawowy punkt końcowy. Zwraca złożony wynik pewności i rekomendację działania dla danego kierunku handlu. Wywołaj to przed wejściem w jakąkolwiek pozycję.

Zasięg, prostymi słowami. /confirm obecnie ocenia BTC, ETH i SOL — symbole z wystarczającą historią rozstrzygnięć, aby uczciwie potwierdzić. Ekran instrumentów pochodnych osobno monitoruje ~519 rynków pochodnych dla finansowania, OI i danych likwidacyjnych, a śledzenie wielorybów obejmuje 600+ portfeli. Pro odblokowuje pełny ekran, eksporty i szerszy zasięg rynku; /confirm wsparcie symboli jest rozszerzane w miarę jak każdy rynek gromadzi wiarygodną historię.

Parametry

ParametrTypOpis
symbolwymaganystringSymbol aktywa. Jeden z: BTC, ETH, SOL (Trader+)
kierunekwymaganystringKierunek handlu: long lub short
źródłoopcjonalnystringEtykieta dla źródła sygnału (logowane dla analityki). Maks. 32 znaki.

Przykładowe żądanie

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

Przykładowa odpowiedź

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"kierunek": "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,
czynniki: {
instrumenty pochodne: { wynik: 0.81, waga: 0.40, ważony: 0.324 },
onchain: { wynik: 0.68, waga: 0.35, ważony: 0.238, źródło: coinmetrics, dostępne: True },
wieloryb: { wynik: 0.73, waga: 0.25, czynnik_przeterminowania: 1.0, ważony: 0.183 }
},
korekty: { zgodność: 0.0, trend: 0.0, news_macro: 0.0 },
wagi: { instrumenty pochodne: 0.40, onchain: 0.35, whale_intel: 0.25 },
zasięg: { instrumenty pochodne: True, wieloryb: True, onchain: True },
powody: [
Dodatnia stopa finansowania na wszystkich platformach,
LSR faworyzuje długie pozycje: 1.42,
Wieloryby: 67% konsensus długich pozycji,
MVRV powyżej 1.0 — byczy sygnał on-chain
]
}

Przejrzysty z założenia. Każda odpowiedź zawiera factors obiekt pokazujący każdy element wynik × waga = ważony wkład, adjustments obiekt do późniejszych modyfikacji filtrów, weights używane, oraz coverage mapa. Element on-chain wykorzystuje darmowe dane Coin Metrics (MVRV / przepływ giełdowy / aktywne adresy), gdy nie ustawiono klucza Glassnode. To wieloczynnikowy konfluencja wynik — wsparcie decyzyjne, nie gwarantowana stopa wygranych.

Nieśledzone symbole są uczciwe. Symbol poza śledzonym wszechświatem instrumentów pochodnych/wielorybów zwraca wyraźny "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" z "unsupported":true — nigdy sfabrykowany LOW.

Pola odpowiedzi

PoleTypOpis
tsliczba całkowitaZnacznik czasu Unix obliczenia
symbolciąg znakówSymbol aktywa (BTC/ETH/SOL)
kierunekciąg znakówŻądany kierunek (long/short)
compositeliczba zmiennoprzecinkowaZłożony wynik konfluencji od -1.0 (skrajnie przeciw) do +1.0 (silne potwierdzenie). Nie jest to stopa wygranych.
base_compositeliczba zmiennoprzecinkowaZłożony wynik przed zastosowaniem korekt po filtracji
confidenceciąg znakówHIGH / MEDIUM / LOW / VETO / NO_DATA
actionciąg znakówCONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP
size_multliczba zmiennoprzecinkowaSugerowany mnożnik wielkości pozycji (np. 0.0 – 1.5)
unsupportedbooltrue gdy symbol jest poza zasięgiem (w parze z NO_DATA)
deriv_scoreliczba zmiennoprzecinkowaPodwynik instrumentów pochodnych (-1 do 1)
onchain_scoreliczba zmiennoprzecinkowaPodwynik on-chain (-1 do 1)
whale_scoreliczba zmiennoprzecinkowaPodwynik konsensusu wielorybów (-1 do 1)
x_scoreliczba zmiennoprzecinkowaPodwynik X/sentymentu społecznego (-1 do 1); 0, gdy nieużywany
czynnikiobiektPodział na elementy: score × weight = weighted dla instrumentów pochodnych / onchain / wielorybów / x_sentiment (onchain zawiera source)
korektyobiektPodpisane korekty po filtracji (zgodność, trend, rsi_1h, news_macro, momentum, czas dnia, spadek serii)
wagiobiektZestaw wag faktycznie użyty w tej ocenie
zasięgobiekt{derivatives, whale, onchain} — które elementy miały rzeczywiste dane
powodytablicaCzytelne dla człowieka wyjaśnienia wyniku

GET  /snapshot

Zwraca pełny snapshot rynkowy, w tym wszystkie podwyniki, surowe metryki i wartości wskaźników dla danego symbolu. Przydatne do dashboardów i logowania.

Wymaga: Trader Pro

GET  /onchain

Zwraca surowe dane on-chain: MVRV, SOPR, przepływy netto na giełdach, wskaźnik zrealizowanej kapitalizacji oraz klasyfikację pozycji w cyklu.

Wymaga: Trader Pro

GET  /v1/derivatives/*

Ekran instrumentów pochodnych na ponad 500 parach walutowych: mapa cieplna funding rate, rankingi open interest oraz wykrywanie sygnałów long/short ratio. Pierwsze 10 wierszy jest publicznych; pełny ekran wymaga konta Trader lub Pro. Endpointy: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.

GET  /v1/options/*

Analityka opcji BTC i ETH z Deribit (publiczna, bez autoryzacji): wskaźnik put/call, max pain oraz open interest według strike. Endpointy: /v1/options/summary, /v1/options/pcr, /v1/options/oi.

GET  /v1/etf/*

Dzienne przepływy netto ETF-ów BTC i ETH oraz podział na fundusze (publiczne). Endpointy: /v1/etf/flows, /v1/etf/funds.

GET  /v1/historical/*

Dane historyczne: funding, open interest, long/short ratio (Binance) oraz OHLCV (CoinGecko) do backtestingu. Endpointy: /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.

GET  /v1/dex/*

Trendujące pary, wyszukiwanie tokenów i szczegóły par z DexScreener (publiczne, bez autoryzacji). Endpointy: /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.

GET  /v1/news/*

Inteligencja informacyjna: wiadomości polityczne/geopolityczne/krypto sklasyfikowane według wpływu, plus Fear & Greed (publiczne, bez autoryzacji). Endpointy: /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.

GET  /whales

Zwraca dane konsensusu portfeli wielorybów: podział long/short, całkowitą ekspozycję nominalną, top 10 pozycji (tylko Pro) oraz liczbę portfeli.

Wymaga: Trader Pro

GET  /signals

Zwraca strumień najnowszych sygnałów HIGH/MEDIUM dla wszystkich monitorowanych aktywów. Przydatne do skanowania okazji.

Wymaga: Pro

GET  /v1/strategies/*

Przejrzysty, read-only rekord automatycznych strategii handlowych działających na sygnałach Smart Money — w tym deriv40 SmartMoney Copytrade strategy (account=9). Wszystkie endpointy przyjmują parametr ?account=<id> query i zwracają JSON. Bez autoryzacji (publiczny rekord).

Endpointy

  • GET /v1/strategies/stats?account=9 — kluczowe metryki: 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 — krzywa kapitału do wykresów: { initial_equity, curve: [{ time, equity }] }.
  • GET /v1/strategies/trades?account=9&limit=500 — rejestr zamkniętych transakcji: tablica (lub {trades:[…]}) z symbol, direction, entry_price, exit_price, pnl_usdt, pnl_percent, pnl_percent_net.
  • GET /v1/strategies/active?account=9 — aktualne otwarte pozycje: tablica (lub {positions:[…]}) z symbol, side/direction, entry_price, unrealized_pnl.
  • GET /v1/strategies/signals — podział według typów sygnałów zasilających strategie (liczba / wygrane / wskaźnik wygranych / średni zysk na typ sygnału).

Wyniki historyczne nie są gwarancją przyszłych rezultatów. Dane są uzupełniane w okresie ~3 miesięcy plus transakcje na żywo i pokazane przed opłatami tam, gdzie zaznaczono.

GET  /export

Pobierz historyczne dane sygnałów jako CSV do backtestingu. Parametry: symbol, from (unix ts), to (unix ts).

Wymaga: Pro

GET  /health

Sprawdzenie stanu systemu. Zwraca aktualność danych dla każdego źródła oraz ogólny status API. Bez autoryzacji.

JSON Response
{
"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

Zwraca statystyki użycia API: wywołania dzisiaj, miesięczne sumy, limity kwot i czasy resetu.

POST  /webhooks

Wymaga: Pro

Zarejestruj URL HTTPS do odbierania powiadomień w czasie rzeczywistym o sygnałach na monitorowanych aktywach. Dostawy zawierają nagłówek X-SmartMoney-Event oraz podpis HMAC-SHA256 w X-SmartMoney-Signature, z maksymalnie 3 próbami ponowienia z backoffem.

Request Body

FieldTypeDescription
urlrequiredstringEndpoint HTTPS do wysyłania zdarzeń (musi zaczynać się od https://)
eventsrequiredarrayNazwy zdarzeń, np. ["HIGH","MEDIUM","VETO"] lub ["*"]
symbolsrequiredarraySymbole do filtrowania, np. ["BTC","ETH"] lub ["*"]
secretrequiredstringTwój sekret podpisu, ≥ 16 znaków (przechowywany jako hash)

Weryfikacja podpisu

Klucz HMAC to hex digest SHA-256 twojego zarejestrowanego sekretu. Oblicz HMAC-SHA256 surowego body requestu tym kluczem i porównaj (w czasie stałym) z X-SmartMoney-Signature. Zobacz Przewodnik implementacji Webhook.

Inteligencja

GET  /analysis

Wymaga: Pro

Zwraca klasyfikację reżimu rynkowego wspomaganą przez AI z wykrywaniem konfliktów sygnałów. Analizuje zgodność sygnałów, identyfikuje rozbieżności między danymi pochodzącymi z instrumentów pochodnych, danych on-chain i danych wielorybów, oraz generuje podsumowanie w języku naturalnym z prognozowanymi czynnikami ryzyka i rekomendacją z określonym horyzontem czasowym.

Parametry

ParametrTypOpis
symbolwymaganystringSymbol aktywa: BTC, ETH, lub SOL

Przykładowa odpowiedź

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Późny Cykl — Rozbieżność Sygnałów",
"summary": "BTC znajduje się w późnej fazie hossy z silnymi danymi on-chain, które są w konflikcie z nadmiernym wykorzystaniem instrumentów pochodnych. Wieloryby zmniejszają ekspozycję, podczas gdy wskaźnik LSR detalicznych inwestorów rośnie.",
"signal_conflicts": [
"Wskaźnik wielorybów niedźwiedzi, podczas gdy wskaźnik on-chain byczy",
"Stopa fundingu na 3-miesięcznym maksimum — ryzyko potencjalnego squeeze'u"
],
"risk_factors": ["Podwyższony funding", "Rozbieżność OI", "Redukcja wielorybów"],
"recommendation": "Zmniejsz ekspozycję długą, zaostrz stop-lossy. Unikaj nowych długich pozycji powyżej obecnej ceny.",
"time_horizon": "4h–12h"
}
Wymagany plan Pro. To endpoint zużywa 3 wywołania API na żądanie z powodu obciążenia przetwarzaniem AI.

GET  /liquidations

Wymaga: Trader Pro

Zwraca dwa uzupełniające się widoki: (1) projekcja dźwigni levels — oszacowanie, gdzie znajdują się klastry likwidacji; oraz (2) realized_heatmapRZECZYWISTA wykonana intensywność wymuszonych likwidacji (cena × czas), agregowana na żywo z publicznych strumieni WebSocket giełd: Binance, OKX, Bybit, Bitget, BitMEX. Heatmapa jest dostępna, gdy strumień ma dane dla symbolu (brak w bardzo spokojnym rynku lub tuż po uruchomieniu).

Parametry

ParametrTypOpis
symbolopcjonalnystringSymbol aktywa (domyślnie BTC). Rzeczywista heatmapa obejmuje aktywnie handlowane symbole perp.

Przykładowa odpowiedź

JSON
{
"symbol": "BTC",
"cascade_risk": "WYSOKIE",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// RZECZYWISTE wykonane likwidacje — na żywo z 5 giełd
"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 }
}
}
Plan Trader: cascade_risk, najbliższe odległości i zrealizowane sumy/wg strony. Plan Pro: pełna projekcja levels plus pełna realized_heatmap (macierze, klastry na cenę, liczniki na giełdę). Projekcja odpowiada na pytanie "gdzie są stop-lossy"; rzeczywista heatmapa pokazuje "co faktycznie zostało zlikwidowane."

GET  /liquidations/heatmap

Dostępne dla: Free Nie wymaga uwierzytelnienia (ograniczone per-IP)

Public heatmapa likwidacji na poziomie cen. Zwraca macierz cen × czasu w stylu Coinglass RZECZYWISTE wykonane wymuszone likwidacje, pogrupowane według ceny, przy której każda likwidacja została zarejestrowana — agregowane na żywo z publicznych strumieni WebSocket giełd: Binance, OKX, Bybit, Bitget, BitMEX. Tablica clusters to praktyczne wyjście: przedziały cenowe uszeregowane według zlikwidowanego nominalu, każdy oznaczony dominującą stroną. Dane zależą od strumienia na żywo — bardzo spokojny symbol lub właśnie uruchomiona brama zwraca poprawnie sformułowaną pustą strukturę plus uczciwe note. Pokazane poziomy to zawsze rzeczywiste likwidacje, nigdy szacowane.

Parametry

ParametrTypOpis
symbolopcjonalnystringSymbol assetu (domyślnie BTC).
window_minutesopcjonalnyintOkno wsteczne w minutach (domyślnie 240, ograniczone do 5–1440).
price_bucketsopcjonalnyintLiczba przedziałów cenowych (domyślnie 50, ograniczone do 5–100).

Przykładowa odpowiedź

JSON
{
"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
}
Uwaga: ten endpoint odzwierciedla tylko to, co przechwycił strumień danych na żywo. Gdy symbol jest mało aktywny lub strumień właśnie się rozpoczął, totals.count jest 0, clusters jest pusty, a note pole wyjaśnia dlaczego. Jest to zapis wykonanych likwidacji — nie przewidywanie. Aby uzyskać szacowaną prognozę "gdzie znajdują się stopy", użyj uwierzytelnionego /liquidations endpointu.

GET  /liquidations/onchain

Wymaga: Trader Pro

Wykonane likwidacje pożyczek DeFi on-chain przechwycone bezpośrednio z naszych własnych pełnych węzłów BSC + Avalanche — niezależnie od jakiegokolwiek bota handlowego. Obejmuje Venus/Cream i Moolah na BSC oraz AAVE V3/V2, Benqi, BankerJoe, Granary i Vinium na Avalanche. Poziom Pro dodatkowo zwraca at_risk pozycje (zależne od bota, mogą być nieobecne).

Parametry

ParametrTypOpis
chainopcjonalnystringbsc lub avax. Pomijane dla wszystkich łańcuchów.
limitopcjonalnyintegerMaksymalna liczba wierszy (domyślnie 100, maks. 500). Najnowsze pierwsze.

Przykładowa odpowiedź

JSON
{
"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, spłata_usd_znana: 148230.55 } },
węzły: { bsc: { dostępny: True, blok_nagłówkowy: 89173010, zdarzenia_łącznie: 61 } }
}
}

GET  /smart-stop

Wymagane: Trader Pro

Oblicza inteligentne poziomy stop-loss na podstawie aktualnej mapy likwidacji, pasm zmienności i struktury rynku. Zwraca rekomendacje stopów warstwowych oraz sugestie take-profit dostosowane do ceny wejścia i tolerancji ryzyka.

Parametry

ParametrTypOpis
symbolwymaganestringSymbol aktywa: BTC, ETH, lub SOL
kierunekwymaganestringKierunek pozycji: long lub short
cena_wejściaopcjonalnefloatTwoja cena wejścia. Domyślnie aktualna cena rynkowa, jeśli pominięta.
procent_ryzykaopcjonalnefloatMaksymalne akceptowalne ryzyko jako % konta. Domyślnie: 2.0

Przykładowa odpowiedź

JSON
{
"symbol": "BTC",
"kierunek": "long",
"cena_wejścia": 96420,
"stopy": {
"ciasny": { "cena": 95100, "uwaga": "Poniżej struktury 1h. Najlepsze dla skalpów." },
"rekomendowany": { "cena": 93800, "uwaga": "Poniżej głównego klastra likwidacji przy $94K. Standardowy stop dla swingów." },
"szeroki": { "cena": 91200, "uwaga": "Poniżej strefy popytu 4h. Stop dla pozycji długoterminowych." }
},
"strefy_unikania": [
{ "niski": 94200, "wysoki": 94800, "powód": "Gęsty klaster likwidacji — wysokie ryzyko poślizgu" }
],
"sugestie_take_profit": [
{ "tp1": 98500, "tp2": 101000, "tp3": 104200 }
]
}
Plan Trader: Zwraca tylko recommended stop. Plan Pro: Wszystkie trzy poziomy stopów, avoid_zones, oraz pełne sugestie take-profit.

GET  /funding-arb

Wymagane: Trader Pro

Identyfikuje w czasie rzeczywistym możliwości arbitrażu stóp fundingowych między giełdami. Zwraca ranking możliwości z szacowanym rocznym zyskiem, optymalną parą giełd i wymaganą akcją zabezpieczającą do przechwycenia spreadu.

Parametry

ParametrTypOpis
minimalny_spreadopcjonalnefloatMinimalny spread stopy fundingowej do uwzględnienia (jako ułamek). Domyślnie: 0.01
symbolopcjonalnestringFiltruj do konkretnego aktywa. Pomijaj, aby skanować wszystkie obsługiwane aktywa.

Przykładowa odpowiedź

JSON
{
"ts": 1710940821,
"możliwości": [
{
"symbol": "BTC",
"spread": 0.032,
"apr": 84.2,
"długa_giełda": "hyperliquid",
"krótka_giełda": "bybit",
"akcja": "Long HYPE / Short BYBIT",
"szacowany_zysk_8h_usd": 26.4
}
]
}
Plan Trader: Tylko najlepsza możliwość, bez danych historycznych spreadu. Plan Pro: Wszystkie aktualne możliwości z 24-godzinną historią spreadu dla każdej pary giełd.

Darmowa wersja publiczna Brak autoryzacji

Publiczny endpoint bez klucza zwraca top 10 możliwości z żywym screenerem międzygiełdowym, idealny do osadzania lub szybkich sprawdzeń. Pomija historię spreadu dla poszczególnych symboli i ciężkie pola, obsługiwany z 120-sekundowej pamięci podręcznej. Gdy w oknie świeżości brak spreadów międzygiełdowych, zwraca pustą opportunities tablicę z note — nigdy nie fabrykowane dane.

GET (bez autoryzacji)
GET /v1/derivatives/funding-arb
JSON
{
"możliwości": [
{
symbol: OGN,
spread_pct: 0.297667,
annualized_apr: 325.95,
long_exchange: bybit,
short_exchange: hyperliquid,
estimated_profit_per_10k: 29.77,
risk_notes: Niski spread — upewnij się, że opłaty nie pochłaniają marży arbitrażowej.
}
],
scanned_symbols: 222,
ts: 1783268753,
public: True,
limited: True
}
Bezpłatnie, bez klucza API. Tylko 10 najlepszych okazji, ograniczone i buforowane (120 s). Strona na żywo: funding-arb.html.

GET  /smart-money/flow

Wymaga: Trader Pro

Ważony jakościowo indeks kierunkowy wielorybów na symbol, oceniony -100 (pieniądze wielorybów skłaniające się ku krótkiej pozycji) do +100 (skłaniające się ku długiej pozycji). Zbudowany na podstawie tysięcy śledzonych portfeli wielorybów Hyperliquid — każdy ważony własną historyczną stopą zwycięstw i PnL oraz zmniejszony przez aktualność. To jest indeks pozycjonowania, a nie sygnał kupna/sprzedaży lub prognoza cenowa. Symbole z niewielką liczbą portfeli są oznaczane thin i oceniane uczciwie. Strona na żywo: smart-money-flow.html.

Parametry

ParametrTypOpis
symbolopcjonalnystringPojedynczy symbol (np. BTC). Pomijając, otrzymasz wszystkie śledzone symbole uszeregowane według |wyniku|.
window_hoursopcjonalnyintOkno oceny, ograniczone do 1..168. Domyślnie 24.

Przykładowa odpowiedź

JSON
{
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: Indeks kierunkowej pozycji wielorybów ważony jakością (-100..+100). Nie jest prognozą ceny ani sygnałem kupna/sprzedaży.
}
Plan Trader: Top 12 symboli, szczegóły współtwórców nieujawnione. Plan Pro: Wszystkie symbole z top_contributors. Wagi portfela są ograniczone do [0.25,1.0]; PnL jest nieurealizowanym proxy z najnowszych migawek pozycji.

GET  /v1/whales/crowding

Dostępne dla: Free Nie wymaga uwierzytelnienia — anonimowy otrzymuje top 10 symboli, Trader+ otrzymuje pełną listę

Połączone pozycjonowanie wielorybów & kontekst tłoczenia na symbol, połączone w Hyperliquid + GMX v2 + Jupiter Perps. Zwraca notional brutto/netto, skos kierunkowy, liczbę portfeli i miejsc, koncentrację pozycji (udział top-3 + HHI), średnią ważoną dźwignię i kosze bliskości likwidacji (USD notional znajdujący się w granicach 5% i 10% od szacowanej ceny likwidacji, podzielony na długie/krótkie). To jest kontekst, nie sygnał kierunkowy. Pola, które nie są możliwe do wyliczenia, są null i wyświetlane jako — np. lev_wavg/crowding_index gdy żadna pozycja nie posiada dźwigni. Odległości likwidacji są szacunkiem dla izolowanego marginesu (pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), nie ceny likwidacji zgłaszane przez giełdę.

Parametry

ParametrTypOpis
min_notionalopcjonalnyfloatMinimalny łączny notional brutto (USD) dla symbolu, aby został uwzględniony. Domyślnie: 1000000.

Przykładowe żądanie

GET (bez uwierzytelnienia)
curl "https://api.smartmoneyapi.com/v1/whales/crowding?min_notional=1000000"

Przykładowa odpowiedź

JSON
{
"ok": true, "ts": 1783423500, minimalna wartość nominalna: 1000000, liczba symboli: 92,
symbole: [
{
symbol: BTC,
brutto_usd: 2447900000.0, netto_usd: -51000000.0, skew: -0.021,
liczba wielorybów: 414, liczba giełd: 3,
giełdy: {
hl: { brutto: 1900000000.0, netto: -40000000.0, liczba wielorybów: 272 },
gmx: { brutto: 320000000.0, netto: -6000000.0, liczba wielorybów: 59 },
jupiter: { brutto: 227900000.0, netto: -5000000.0, liczba wielorybów: 83 }
},
koncentracja_top3: 0.159, hhi: 0.011, średnia ważona dźwigni: 19.1,
likwidacja_w_zakresie_5proc: { long: 621700000.0, short: 665600000.0 },
likwidacja_w_zakresie_10proc: { long: 840000000.0, short: 910000000.0 },
wskaźnik_zatłoczenia: 0.003
}
],
zastrzeżenia: [ Odległości likwidacyjne są szacunkami dla izolowanej marży, a nie raportowanymi przez giełdę. ]
}
Uwaga: skew jest net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). Tylko giełdy faktycznie obecne pojawiają się w venues. Pozycje bez dźwigni są wykluczone z przedziałów likwidacji zamiast być zakładane. Anonimowi użytkownicy otrzymują 10 najważniejszych symboli według wartości brutto (z gated: true); użytkownicy Trader+ otrzymują pełną listę.

GET  /v1/options/gex

Dostępne dla: Free Brak uwierzytelnienia wymagany (ograniczenie na IP)

Dealer ekspozycja gamma (GEX) analizy dla BTC & ETH, obliczane na żywo z publicznego łańcucha opcji Deribit (brak autoryzacji). Zwraca netto dealer GEX na strike (konwencja SpotGamma dealer-short), poziom gamma-flip (strike, gdzie skumulowane netto GEX przekracza zero), struktura terminowa IV (implikowana zmienność ATM według dni do wygaśnięcia) oraz front-expiry skew IV (25Δ-proxy risk reversal). Reżim GEX to positive (dealerzy długi gamma → tłumiący zmienność) lub negative (wzmacniający zmienność). W pełni samodzielne — przeliczane przy każdym wywołaniu, brak zależności od przechowywanej bazy danych.

Parametry

ParametrTypOpis
symbolopcjonalnystringBTC lub ETH tylko. Domyślnie: BTC.

Przykładowe żądanie

GET (brak autoryzacji)
curl "https://api.smartmoneyapi.com/v1/options/gex?symbol=BTC"

Przykładowa odpowiedź

JSON
{
"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"
}
}
Uwaga: Mnożnik kontraktu Deribit wynosi 1 (OI denominowane w kryptowalucie). W przypadku niepowodzenia pobierania endpoint zwraca available: false z pustymi panelami — nigdy nie fabrykuje GEX. Skew IV używa stałego proxy ±10% strike dla 25Δ (prawdziwe 25-delta wymaga rozwiązania delty na strike); odpowiednie do wyświetlania, udokumentowane jako przybliżenie.

GET  /v1/liquidations/simulate

Dostępne dla: Free Brak uwierzytelnienia wymagany (ograniczenie na IP)

Interaktywne test obciążeniowy kaskady likwidacji. Dla hipotetycznej zmiany ceny zwraca szacunkowe dźwigniowe pozycje, które zostałyby zlikwidowane, wymuszoną wielkość wolumenu według poziomu ceny / strony / giełdy oraz odczyt głębokości kaskady. Spadek ceny likwiduje longi , których cena likwidacji znajduje się na/powyżej celu; wzrost ceny likwiduje shorty , których cena likwidacji znajduje się na/poniżej niej. Dwie niezależne metody są połączone: dokładne ceny likwidacji od śledzonych wielorybów Hyperliquid rzeczywistą dźwignię/wejście, plus statystyczne klastry pasm OI na giełdzie (dźwignia tłumu wywnioskowana z finansowania). Wszystko jest jasno oznaczone estimated: true — nie może znać marży na konto, cross vs isolated, dodanej marży ani ADL.

Parametry

ParametrTypOpis
symbolopcjonalnystringSymbol aktywa. Domyślnie: BTC.
move_pctopcjonalnyfloatHipotetyczna zmiana ceny w procentach (ujemna = w dół, dodatnia = w górę). Domyślnie: -5.

Przykładowe żądanie

GET (bez autoryzacji)
curl "https://api.smartmoneyapi.com/v1/liquidations/simulate?symbol=BTC&move_pct=-5"

Przykładowa odpowiedź

JSON
{
"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": "Szacunkowe — nie może znać marży na konto, cross vs isolated, dodanej marży ani ADL." }
}
Uwaga: Każda przewidywana liczba pochodzi z rzeczywistych odczytów bazy danych; nic nie jest fabrykowane w przypadku błędu. Nieśledzony symbol, przestarzały snapshot lub brakująca cena zwraca ok: true, empty: true z komunikatem w prostym języku, a nie fałszywymi danymi. realized_context to młoda, rosnąca próbka z live strumienia wymuszonych likwidacji, pokazana tylko jako kontekst — nigdy nie czyni projekcji "zrealizowaną".

GET  /v1/wallet/{addr}/profile

Dostępne dla: Free Brak wymaganej autoryzacji (ograniczenie per-IP)

Profil portfela cross-venue zbudowany w całości z live snapshotów śledzonych pozycji wielorybów. Dla śledzonego wieloryba Hyperliquid zwraca aktualne otwarte pozycje, szereg czasowy niezrealizowanego PnL / ekspozycji / liczby pozycji szereg czasowy, oś czasu aktywności OPEN/CLOSE/FLIP (odtworzoną przez porównanie kolejnych snapshotów), zdekodowaną etykietę z rankingu HL oraz podsumowanie otwartej księgi. Live strona: wallet-profiler.html.

Parametry

ParametrTypOpis
addrwymaganystringAdres portfela (segment ścieżki), np. /v1/wallet/0x3bcae23e…/profile.
daysopcjonalnyintegerOkno wsteczne dla szeregu i osi czasu. Domyślnie: 30.

Przykładowe żądanie

GET (bez autoryzacji)
curl "https://api.smartmoneyapi.com/v1/wallet/0x3bcae23e8c380dab4732e9a159c0456f12d866f3/profile?days=30"

Przykładowa odpowiedź

JSON
{
"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, współczynnik_wygranych_pct: 71, transakcje: 42 },
pozycje: [
{ miejsce: hyperliquid, symbol: ETH, kierunek: krótka,
rozmiar: 1200.0, cena_wejścia: 1800.0, niezrealizowany_pnl: 34800.0,
dźwignia: 20.0, wartość_usd: 2160000.0 }
],
seria: [ { ts: 1783330000, niezrealizowany_pnl: 42000.0, ekspozycja_usd: 18400000.0, pozycje: 5 } ],
harmonogram: [ { ts: 1783400000, wydarzenie: przewrót, symbol: ETH,
kierunek: krótka, z_kierunku: długa, wartość_usd: 2160000.0 } ],
podsumowanie: {
otwarte_pozycje: 5, z_zyskiem: 3, ze_stratą: 2, długie: 0, krótkie: 5,
całkowity_niezrealizowany_pnl: -12000.0, całkowita_ekspozycja_usd: 21000000.0, uśredniona_dźwignia: 19.9,
okno_dni: 30, migawki_w_oknie: 474,
zrealizowany_pnl: None, uwaga_do_zrealizowanego_pnl: Nie można wyliczyć — widoczne są tylko otwarte migawki, nigdy zamknięcia.
}
}
}
Szczera uwaga: wszystko pokazane jest prawdziwe z danych migawki — pnl to własna niezrealizowana wycena rynkowa HL, value_usd to otwarta wartość nominalna. Zrealizowany P&L na pełny cykl jest niedostępny (widzimy tylko otwarte migawki, nigdy zamknięcia) i jest pokazany jako null / ; wydarzenia ZAMKNIĘCIE w harmonogramie nie niosą żadnych roszczeń P&L. Prawidłowy, ale nieśledzony adres zwraca tracked: false z uwagą; nieprawidłowy adres zwraca ok: false, error: "invalid_address" (HTTP 400). Etykieta HL-leaderboard to własne stanowisko HL w momencie odkrycia, nie obliczone przez nas.

GET  /flows

Wymaga: Pro

Zwraca dane przepływów kapitału między aktywami, pokazujące wzorce rotacji między BTC, ETH i SOL w wielu oknach czasowych. Przydatne do identyfikacji, które aktywo gromadzi kapitał, a które jest dystrybuowane w danym momencie.

Przykładowa odpowiedź

JSON
{
ts: 1710940821,
przepływy: {
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 }
},
wykryte_rotacje: [
Kapitał rotujący z ETH do BTC w ciągu 4h,
Akumulacja SOL spójna we wszystkich oknach
]
}
Wymagany plan Pro. Wartości przepływów to netto napływ (dodatni) lub odpływ (ujemny) USD na okno czasowe.

GET  /whale-events

Wymaga: Trader Pro

Zwraca znaczące zmiany pozycji wielorybów — otwarcia, zamknięcia i przewroty kierunku — wykryte w śledzonych portfelach i adresach on-chain w określonym oknie wstecznym.

Parametry

ParametrTypOpis
symbolopcjonalnystringFiltruj według aktywa. Pomijaj dla wszystkich monitorowanych aktywów.
znaczenieopcjonalnystringFiltruj według znaczenia wydarzenia: high, medium, lub all. Domyślnie: all
godzinyopcjonalnyintegerOkno wsteczne w godzinach. Domyślnie: 24

Przykładowa odpowiedź

JSON
{
symbol: BTC,
podsumowanie: {
przewroty_na_długie: 3,
przewroty_na_krótkie: 1,
nowe_otwarcia: 7,
zamknięcia: 2
},
wydarzenia: [
{
typ: flip_long,
portfel: 0xWhale...a4f2,
kierunek: long,
size_usd: 4200000,
ts: 1710938400
}
]
}
Plan Trader: Zwraca summary tylko obiekt. Plan Pro: Pełny events feed z identyfikatorami portfeli, rozmiarami i znacznikami czasu.

GET  /regimes/history

Wymagane: Pro

Zwraca historyczne dane klasyfikacji reżimów dla danego aktywa. Użyj tego, aby przetestować, jak konkretne typy reżimów sprawowały się historycznie, jak długo trwał każdy typ reżimu i jak przebiegały przejścia między reżimami w czasie.

Parametry

ParametrTypOpis
symbolopcjonalnystringSymbol aktywa. Domyślnie: BTC
regimeopcjonalnystringFiltruj do konkretnego typu reżimu, np. late_cycle_divergence. Pomiń dla wszystkich reżimów.
daysopcjonalnyintegerOkno wsteczne w dniach. Domyślnie: 30. Maksymalnie: 365

Przykładowa odpowiedź

JSON
{
"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 }
]
}
Wymagany plan Pro. Połącz z /analysis , aby zweryfikować założenia strategii na podstawie historycznych danych dotyczących reżimów.

GET  /exchange-health

Dostępne dla: Free Trader Pro

Zwraca aktualny status zdrowia wszystkich monitorowanych giełd, w tym opóźnienia, wskaźniki błędów i świeżość danych. Nie wymaga uwierzytelnienia — publicznie dostępny endpoint.

Przykładowa odpowiedź

JSON
{
"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

Wymagane: Trader Pro

Zwraca wskaźnik Fear & Greed (0-100) obliczony na podstawie sentymentu instrumentów pochodnych, aktywności wielorybów, zmienności i sygnałów społecznościowych. Zawiera rozbicie na komponenty i 24-godzinną historię do analizy trendów.

Parametry

ParametrTypOpis
symbolopcjonalnystringSymbol aktywa. Domyślnie: BTC

Przykładowa odpowiedź

JSON
{
"symbol": "BTC",
"score": 72,
"label": "Chciwość",
"components": {
"volatility": 65,
"momentum": 78,
"derivatives": 70,
"whale_activity": 75,
"social": 68
},
"history_24h": [
{ "ts": 1710940800, "score": 68, "label": "Chciwość" },
{ "ts": 1710937200, "score": 65, "label": "Chciwość" }
],
"ts": 1710940821
}
Odpowiednik konkurencji: Santiment Social Volume + Alternative.me Fear & Greed — połączone w jeden endpoint ze szczegółowym podziałem na komponenty.

Integracje

GET  /tradingview/setup

Wymagane: Trader Pro

Zwraca spersonalizowaną konfigurację integracji z TradingView: URL webhooka, sekret do walidacji oraz gotowe do użycia wskaźniki Pine Script, które łączą się bezpośrednio z Smart Money API. Skopiuj i wklej Pine Script do TradingView, aby nałożyć nasze sygnały na dowolny wykres.

Przykładowa odpowiedź

JSON
{
"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

Dostępne dla: Trader Pro

Odbiera alert z TradingView, przetwarza go przez /confirm, i zwraca potwierdzenie. TradingView nie może wysyłać niestandardowych nagłówków, więc uwierzytelnij się, dołączając swój webhook secret w treści JSON (ten endpoint nie używa X-API-Key). Odpowiedź zawiera potwierdzenie i dodaje najwyższy poziom action z CONFIRMED (pewność demona WYSOKA/ŚREDNIA) lub VETOED.

Treść żądania

JSON
{
"secret": "your_webhook_secret",
"symbol": "BTC",
"direction": "long",
"timeframe": "1h",
"strategy": "EMA crossover",
"price": 67500.0
}

Wymagane: secret, symbol, direction (long|short). Opcjonalne: source, timeframe, strategy, price.

Personalizacja

GET  /preferences

Wymagane: Trader Pro

Zwraca bieżące ustawienia personalizacji, w tym domyślne parametry transakcji, profil ryzyka, listę obserwowanych aktywów i preferencje powiadomień.

PUT /v1/preferences

Zaktualizuj preferencje, wysyłając treść JSON z dowolnym podzbiorem pól poniżej. Pominięte pola zachowują swoje obecne wartości.

Pola preferencji

PoleTypOpis
default_trade_size_usdfloatDomyślny rozmiar pozycji w USD dla obliczeń Kelly i smart-stop
risk_tolerancestringconservative, moderate, lub aggressive
default_risk_pctfloatDomyślne ryzyko na transakcję jako % konta. Używane przez /smart-stop gdy risk_pct jest pominięte
watchlistarrayUporządkowana lista symboli aktywów, np. ["BTC","ETH","SOL"]
notification_emailstringAdres e-mail do dostarczania alertów
timezonestringCiąg IANA strefy czasowej, np. America/New_York
PUT — Przykładowa treść
{
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}

GET  /watchlist

Wymaga: Trader Pro

Zwraca migawkę statusu potwierdzenia i kluczowe metryki ryzyka dla wszystkich symboli w skonfigurowanej liście obserwowanych. Zapewnia przegląd wielu aktywów bez konieczności wywoływania /confirm oddzielnie dla każdego symbolu.

Przykładowa odpowiedź

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

Przesyłanie strumieniowe w czasie rzeczywistym (Live Swaps)

Przesyłaj wymiany DEX ≥ $500 wykrywane w czasie rzeczywistym z naszych własnych węzłów BSC i Avalanche. Dostępne są dwa transporty: publiczny strumień Server-Sent Events (SSE) dla darmowych/klientów przeglądarkowych oraz niskopóźnieniowy strumień WebSocket dla płatnych poziomów. Wydarzenia są nadawane w ciągu kilku sekund od włączenia do bloku.

Publiczny strumień SSE (Darmowy)

Dostępne dla: Free Trader Pro
GET /v1/stream/public-swaps

Nie wymaga uwierzytelnienia. Natywne EventSource wsparcie we wszystkich nowoczesnych przeglądarkach. Serwer emituje swap wydarzenia i okresowe sygnały życiowe, aby utrzymać połączenie.

JavaScript (przeglądarka)
const es = new EventSource("https://api.smartmoneyapi.com/v1/stream/public-swaps");
es.addEventListener("swap", e => {
  const swap = JSON.parse(e.data);
  console.log(swap.chain, swap.pair, swap.amount_usd);
});

Strumień WebSocket (Płatny)

Wymaga: Trader Pro
WSS /v1/ws/live-swaps?ticket=…

Uwierzytelnianie (zalecane): nigdy nie umieszczaj swojego długotrwałego klucza w URL — jest on logowany przez proxy i zapisywany w historii przeglądarki. Zamiast tego wyślij swój klucz metodą POST /v1/ws/ticket używając bezpiecznego X-API-Key nagłówka, a następnie otwórz gniazdo z otrzymanym jednorazowym ticket (ważny ~60s, wykorzystany raz). Klienci po stronie serwera, którzy mogą ustawiać nagłówki, mogą zamiast tego przekazać X-API-Key bezpośrednio podczas uzgadniania. Klucze z darmowego poziomu otrzymują 402 payment_required odpowiedź. Ramka hello jest wysyłana podczas połączenia z informacją o poziomie i progu nadawania.

JavaScript (przeglądarka)
// 1. Wymień swój klucz na krótkotrwały bilet (klucz pozostaje w nagłówku)
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. Otwórz gniazdo z jednorazowym biletem
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);
};

Uwierzytelnianie WebSocket (bilety)

Dlaczego: nigdy nie umieszczaj swojego klucza API w URL WebSocket — ciągi zapytań są logowane przez proxy, balansery obciążenia i zapisywane w historii przeglądarki. Zamiast tego wymień swój klucz na krótkotrwały, jednorazowy bilet poprzez normalne uwierzytelnione POST, a następnie połącz się z tym biletem.

Przepływ: POST do /v1/ws/ticket z twoim X-API-Key nagłówkiem → otrzymaj { "ticket": "…", "expires_in": 60 }. Następnie otwórz wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>. The ticket is jednorazowy i wygasa za ~60 seconds. Klienci serwerowi, którzy mogą ustawiać nagłówki żądań, mogą zamiast tego przekazać X-API-Key bezpośrednio w uzgadnianiu WebSocket — bez potrzeby użycia biletu.

POST /v1/ws/ticket
Wymaga: Trader Pro

Generuje jednorazowy bilet do uwierzytelnionego uzgadniania WebSocket. Uwierzytelnij się za pomocą X-API-Key nagłówka (twój klucz nigdy nie opuszcza nagłówków żądania). Zwrócony bilet można wykorzystać raz na /v1/ws/live-swaps zanim wygaśnie.

cURL
curl -X POST -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/ws/ticket"

Przykładowa odpowiedź

JSON
{
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}

Pola odpowiedzi

PoleTypOpis
ticketstringToken jednorazowy do dołączenia jako ?ticket= w adresie URL WebSocket. Wykorzystywany raz, następnie unieważniany.
expires_innumberLiczba sekund do wygaśnięcia biletu (~60). Generuj nowy bilet przy każdej próbie połączenia.

Uwaga: starsza metoda uwierzytelniania za pomocą ?key= parametru zapytania jest nie jest już akceptowana w punktach końcowych WebSocket z powodów bezpieczeństwa. Użyj biletu (klienci przeglądarkowi) lub X-API-Key nagłówka uzgadniania (klienci serwerowi).

Migawka REST

GET /v1/live-swaps/recent?limit=20

Zwraca ostatnie N wymian z bufora. Przydatne do pierwszego renderowania na pulpitach nawigacyjnych przed otwarciem połączenia strumieniowego. Dostępne również: /v1/live-swaps/status dla statystyk nadawcy.

Schemat zdarzenia

PoleTypOpis
chainstringbsc lub avalanche
dexstringNazwa routera (np. pancakeswap_v2, traderjoe) lub unknown_dex
swapperstringPełny adres 0x portfela, który wykonał wymianę
swapper_shortstringSkrócona forma do wyświetlenia (np. 0xb300…028d)
swapper_urlstringBezpośredni link do portfela w eksploratorze bloków łańcucha
tx_hashstringHash transakcji
explorer_urlstringBezpośredni link do transakcji na BscScan / Snowtrace
token_instringSymbol tokenu sprzedanego (np. USDT)
token_outstringSymbol tokenu kupionego
amount_usdnumberWartość wymiany w USD (minimum: $500)
pairstringSformatowana etykieta pary (np. USDT → USDC)
blocknumberNumer bloku, w którym wymiana została zatwierdzona
timestampnumberCzas w sekundach od epoki Uniksa
significancestringlow / medium / high / critical na podstawie rozmiaru w USD
seqnumberMonotoniczny numer sekwencji nadawania — używany do wykrywania luk

POST  /alerts/conditions

Wymaga: Pro

Twórz niestandardowe reguły alertów, które wyzwalają się, gdy określona metryka przekroczy próg. Alerty są dostarczane przez webhook, e-mail lub kanał powiadomień na pulpicie, w zależności od preferencji.

GET /v1/alerts/conditions

Zwraca listę wszystkich skonfigurowanych warunków alertów wraz z ich identyfikatorami, definicjami i aktualnym stanem.

DELETE /v1/alerts/conditions/{id}

Trwale usuwa warunek alertu na podstawie jego identyfikatora.

GET /v1/alerts/history

Zwraca ostatnie zdarzenia wyzwalania alertów z sygnaturami czasowymi, dopasowanymi warunkami i wartością metryki w momencie wyzwolenia.

Utwórz alert — treść żądania

PoleTypOpis
namerequiredstringEtykieta czytelna dla człowieka dla tego alertu (max 64 znaków)
metricrequiredstringMetryka do monitorowania. Zobacz dostępne metryki w tabeli poniżej.
symboloptionalstringKontekst aktywa. Wymagane dla metryk związanych z symbolem, takich jak funding_rate.
operatorrequiredstringOperator porównania: gt, lt, eq, crosses_above, crosses_below
thresholdrequiredfloatWartość numeryczna do porównania metryki
deliveryoptionalstringKanał dostawy, np. telegram (domyślnie) lub webhook
cooldown_minutesoptionalintegerMinimalna liczba minut między ponownymi wyzwoleniami (domyślnie 60)

Lista aktualnych metryk i operatorów jest zwracana przez GET /v1/alerts/conditions as available_metrics and available_operators.

Dostępne Metryki

MetricOpis
funding_rateAktualna stopa finansowania dla symbolu (jako ułamek dziesiętny)
global_lsrGlobalny wskaźnik długich/krótkich pozycji dla symbolu
long_pctProcent kont z netto długimi pozycjami dla symbolu
top_trader_lsrWskaźnik długich/krótkich pozycji top-traderów dla symbolu
taker_ratioWskaźnik kupna/sprzedaży takerów dla symbolu
mvrvWskaźnik wartości rynkowej do zrealizowanej (BTC/ETH)
soprWskaźnik zysku z wydanych outputów (BTC/ETH)
exchange_net_flowSygnał netto przepływu na giełdach on-chain
accumulationSygnał akumulacji on-chain
whale_long_pctProcent śledzonych portfeli wielorybów z długimi pozycjami dla symbolu
whale_n_walletsLiczba śledzonych portfeli wielorybów z pozycją w symbolu
composite_longZłożony wynik dla symbolu zapytanego w kierunku długim
composite_shortZłożony wynik dla symbolu zapytanego w kierunku krótkim
funding_spreadRóżnica w stopach finansowania między giełdami dla symbolu
POST — Przykładowe Body
{
"name": "Spadek stopy finansowania BTC",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}

GET  /kelly

Wymaga: Pro

Zwraca rekomendacje dotyczące wielkości pozycji według kryterium Kelly, dostosowane do historycznej skuteczności sygnału dla danego symbolu, poziomu ufności i kierunku. Opiera wielkość pozycji na empirycznych wskaźnikach wygranych, aby uniknąć nadmiernej dźwigni.

Parametry

ParameterTypeOpis
symbolrequiredstringSymbol aktywa: BTC, ETH, lub SOL
confidenceoptionalstringPoziom ufności sygnału do modelowania: HIGH, MEDIUM, lub LOW. Domyślnie: HIGH
directionoptionalstringKierunek transakcji: long lub short. Domyślnie: long
account_sizeoptionalfloatWielkość konta w USD do obliczenia suggested_size_usd. Domyślnie: 10000

Przykładowa odpowiedź

JSON
{
"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 zalecane dla handlu na żywo, aby uwzględnić błąd estymacji."
}
Wymagany plan Pro. Obliczenia opierają się na 90-dniowej próbie historycznych sygnałów pasujących do żądanego symbolu, poziomu ufności i parametrów kierunku.

GET  /performance

Dostępne dla: Free Trader Pro

Zwraca historyczne statystyki dokładności sygnałów wydanych przez API, podzielone według poziomu ufności. Przydatne do zrozumienia wiarygodności sygnałów przed zaangażowaniem kapitału.

Parametry

ParametrTypOpis
symbolopcjonalnystringFiltruj według aktywa. Pominięcie powoduje agregację statystyk dla wszystkich symboli.
daysopcjonalnyintegerOkno wsteczne w dniach. Domyślnie: 30

Przykładowa odpowiedź

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

Statystyki & Sygnały

GET  /v1/stats

Dostępne dla: Free Trader Pro Nie wymaga uwierzytelnienia

Ogólne statystyki wydajności pochodzące z smart_money_confirm różnych wyników wywołań. Zwraca wskaźniki wygranych na poziomach HIGH i MEDIUM, ogólną dokładność, współczynnik zysku oraz podział według symbolu. Wszystkie dane są obliczane w próbie w okresie oceny; zobacz calibration.html aby uzyskać kontekst i metodologię forward-holdout.

Przykładowa odpowiedź

JSON
{
"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": "różne wywołania potwierdzające, wyniki rozstrzygnięte w ciągu 24h",
"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
}
}
Zastrzeżenie dotyczące próby. Wszystkie dane w tej odpowiedzi są obliczane z tego samego okresu używanego do dostrojenia oceniacza. Obiekt forward_holdout jest jedyną liczbą zgromadzoną na danych, których oceniacz nigdy nie widział — obserwuj jej wzrost w czasie. Zobacz calibration.html aby uzyskać pełną metodologię i granicę między próbą a testem forward.

GET  /v1/signals/performance

Dostępne dla: Free Trader Pro Nie wymaga uwierzytelnienia

Śledzenie wyników sygnałów w wielu horyzontach rozstrzygnięcia (4h, 12h, 24h, 72h). Zwraca wskaźniki trafień na horyzont, całkowitą liczbę sygnałów oraz podział według typu sygnału.

Parametry

ParametrTypOpis
daysopcjonalnyintegerOkno wsteczne w dniach. Domyślnie: 30
signal_typeopcjonalnystringFiltruj według typu, np. smart_money_confirm lub regime_flip. Pominięcie powoduje uwzględnienie wszystkich typów.
symbolopcjonalnystringFiltruj według symbolu aktywa, np. BTC. Pominięcie powoduje agregację dla wszystkich symboli.

Przykładowa odpowiedź

JSON
{
"signal_type": "smart_money_confirm",
"symbol": "BTC",
"days": 30,
"total_signals": 48,
horyzonty: {
4h: { wskaźnik trafień: 0.65, rozwiązane: 46 },
12h: { wskaźnik trafień: 0.61, rozwiązane: 44 },
24h: { wskaźnik trafień: 0.58, rozwiązane: 40 },
72h: { wskaźnik trafień: 0.54, rozwiązane: 32 }
},
podział_typów: {
potwierdzenie_smart_money: { liczba: 35, wskaźnik_trafień_24h: 0.61 },
zmiana_reżimu: { liczba: 13, wskaźnik_trafień_24h: 0.47 }
}
}

GET  /v1/signals/recent

Dostępne dla: Free Trader Pro Nie wymaga uwierzytelnienia

Kanał ostatnio opublikowanych sygnałów HIGH i MEDIUM dla wszystkich monitorowanych symboli. Każdy wpis zawiera typ sygnału, poziom pewności, kierunek oraz status rozwiązania, jeśli dostępny.

Przykładowa odpowiedź

JSON
{
sygnały: [
{
id: 1042,
symbol: BTC,
kierunek: long,
typ_sygnału: potwierdzenie_smart_money,
pewność: HIGH,
composite: 0.74,
ts: 1710940821,
rozwiązane: true,
wynik_24h: wygrana
}
],
liczba: 50
}

GET  /v1/signals/{id}/outcome

Dostępne dla: Free Trader Pro Nie wymaga uwierzytelnienia

Rozwiązany wynik dla pojedynczego sygnału według jego numerycznego ID. Zwraca trafienie/chybienie na każdym horyzoncie rozwiązania (4h, 12h, 24h, 72h) wraz z ceną w momencie sygnału i w momencie rozwiązania.

Parametry

ParametrTypOpis
idwymaganeintegerID sygnału (segment ścieżki), np. /v1/signals/1042/outcome

Przykładowa odpowiedź

JSON
{
id: 1042,
symbol: BTC,
kierunek: long,
pewność: HIGH,
cena_wejścia: 63200.0,
ts: 1710940821,
wyniki: {
4h: { wynik: wygrana, cena: 64100.0, pct: 1.41 },
12h: { wynik: wygrana, cena: 65200.0, pct: 3.16 },
24h: { wynik: wygrana, cena: 65800.0, pct: 4.11 },
72h: { wynik: oczekujące, cena: null, pct: null }
}
}

GET  /v1/confirm-winrate

Wymaga: Free Trader Pro

Podział wskaźnika wygranych dla potwierdzonych sygnałów dla własnego klucza API uwierzytelnionego użytkownika. Zwraca wskaźniki wygranych dla różnych poziomów pewności, współczynnik zysku oraz dane dla poszczególnych symboli. Wymaga ważnego X-API-Key nagłówka.

Przykładowe żądanie

cURL
curl -H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm-winrate"

Przykładowa odpowiedź

JSON
{
wysoki_wskaźnik_wygranych: 0.714,
wysoka_liczba: 14,
średni_wskaźnik_wygranych: 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 }
}
}
Podstawa unikalnych wywołań. Wskaźniki wygranych są obliczane na podstawie unikalnych wywołań potwierdzenia (jedno na symbol w oknie 5-minutowym), a nie każdego zapytania API — zapobiega to zawyżaniu liczby N przez boty wielokrotnie wysyłające zapytania. Dane są wewnętrzne w domyślnym 30-dniowym oknie; obowiązują te same zastrzeżenia co /v1/stats dotyczą.

Shadow Gate

Wymaga: Free Trader Pro

Niezmienialny, tylko do dopisywania dziennik decyzji osobistych. Prześlij swoje decyzje handlowe przed lub po ich wykonaniu; system oblicza wynik potwierdzenia względem silnika Smart Money i dodaje stały wpis. Użyj go, aby zbudować uczciwy, opatrzony znacznikiem czasu zapis tego, jak dobrze sygnał API pasował do twoich decyzji — całkowicie niezależny od globalnej puli wskaźników wygranych. Odpowiedzi w warstwach Free i Trader mają usunięte pola dowodowe; Pro zwraca pełną analizę. Dla warstwy Free obowiązuje opóźnienie danych.

POST /v1/shadow-gate/decisions

Prześlij decyzję. Idempotentne względem Idempotency-Key nagłówka żądania — ponowne przesłanie tego samego klucza zwraca istniejący wpis bez tworzenia duplikatu. System natychmiast wywołuje silnik potwierdzenia i dodaje wynik jako niezmienialny wpis w dzienniku.

Request Body

PoleTypOpis
symbolwymaganestringSymbol aktywa, np. BTC
sidewymaganestringKierunek transakcji: long lub short
strategy_idopcjonalnestringEtykieta strategii zdefiniowana przez wywołującego (maks. 64 znaki). Przechowywana jako tekst do grupowania i filtrowania.

Przykładowe żądanie

cURL
curl -X POST \
-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"

Przykładowa odpowiedź

JSON
{
"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
}
Uwaga dotycząca warstwy. Odpowiedzi Free i Trader pomijają factors / adjustments pola dowodowe. Pro zwraca pełną analizę potwierdzenia. Dla warstwy Free obowiązuje opóźnienie — wpis jest dodawany natychmiast, ale wynik potwierdzenia może odzwierciedlać dane z pamięci podręcznej sprzed maksymalnie 60 sekund.
GET /v1/shadow-gate/decisions

Wyświetl swoje decyzje shadow-gate, najnowsze na początku. Ograniczone do właściciela — zwracane są tylko decyzje przesłane za pomocą twojego klucza API.

Parametry

ParametrTypOpis
limitopcjonalnyintegerMaksymalna liczba wierszy do zwrócenia. Domyślnie: 50, maks.: 200
cursoropcjonalnystringNieprzejrzysty kursor stronnicowania z pola next_cursor poprzedniej odpowiedzi. Pomijaj dla pierwszej strony.

Przykładowa odpowiedź

JSON
{
"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": krótka, decyzja: SKIP, pewność: LOW, złożony: -0.12, size_mult: 0.0, ts: 1710937000, rozwiązany: True }
],
liczba: 2,
next_cursor: None
}
GET /v1/shadow-gate/decisions/{id}

Pojedyncza decyzja według ID, zawierająca pełne potwierdzenie dowodów dla poziomu Pro. Odpowiedzi dla poziomów Free i Trader mają factors i adjustments usunięte. Zwraca 403 jeśli decyzja należy do innego klucza API.

Przykładowa odpowiedź (Pro)

JSON
{
"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": None
}
POST /v1/shadow-gate/decisions/{id}/resolve

Ręczne rozwiązanie wyniku decyzji. Wywołaj tę funkcję po zamknięciu transakcji, aby zapisać końcowy wynik w wierszu księgi. Po rozwiązaniu wiersz jest niezmienny i nie można go ponownie zmienić.

Treść żądania

PoleTypOpis
outcomewymaganestringWynik transakcji: win lub loss
exit_priceopcjonalnefloatCena wyjścia z transakcji. Przechowywana jako referencja; używana do obliczenia procentowego zysku/straty, jeśli podana.
pnl_pctopcjonalnefloatZrealizowany zysk/strata jako procent wielkości pozycji, np. 3.5 lub -1.2

Przykładowa odpowiedź

JSON
{
"id": 318,
"resolved": True,
"outcome": "win",
"exit_price": 65800.0,
"pnl_pct": 4.1,
"resolved_at": 1711027200
}
Niezmienność. Wiersz księgi jest tylko do dodawania. Po przesłaniu decyzji nie można jej usunąć, a po rozwiązaniu nie można jej ponownie rozwiązać. Zapewnia to, że budowany przez Ciebie rekord jest uczciwy i odporny na manipulacje.

Kody błędów

StatusKodOpis
400invalid_paramsBrakujące lub nieprawidłowe parametry zapytania
401unauthorizedBrakujący lub nieprawidłowy klucz API
403plan_restrictionEndpoint niedostępny w obecnym planie
429rate_limit_exceededOsiągnięto dzienny lub chwilowy limit
500internal_errorBłąd serwera — sprawdź status źródła w /health
503data_staleŹródło danych niedostępne; zwrócono ostatnie znane dane

Przykłady kodu

Python

Python
import requests

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
Python
import requests

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()

# W pętli transakcyjnej:
signal = confirm_trade("BTC", "long")
if signal["confidence"] not in ["HIGH", "MEDIUM"]:
print("Pomijam — niewystarczająca pewność")
else:
size = base_size * signal["size_mult"]
place_order(symbol, direction, size)

JavaScript / Node.js

JavaScript
const API_KEY = 'sm_your_key';

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 (!resok) throw new Error(`Błąd API: ${resstatus}`);
return res.json();
}

// Użycie
confirmTrade('BTC', 'long').then(data => {
console.log(dataconfidence, datasize_mult);
});

cURL

Shell
# Potwierdź transakcję long
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"

# Pobierz dane o wielorybach
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/whales?symbol=BTC"

# Sprawdź użycie
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage

Integracja Freqtrade

Dodaj potwierdzenie Smart Money do dowolnej strategii Freqtrade, nadpisując metodę confirm_trade_entry .

Python — Strategia Freqtrade
import requests
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 # Pomijaj sprawdzanie dla nieobsługiwanych
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 # W przypadku błędu API kontynuuj

CCXT + Smart Money

Python — CCXT
import ccxt, requests

exchange = ccxt.bybit({
"apiKey": "YOUR_BYBIT_KEY",
"secret": "YOUR_BYBIT_SECRET"
})

SM_KEY = "sm_your_key"

def smart_trade(symbol, side, amount):
# Sprawdź najpierw potwierdzenie
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"Pomijanie {symbol} {side} — niewystarczająca pewność.")
return None

adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"Złożono zamówienie: {adj_amount} {symbol} {side}")
return order
Potrzebujesz pomocy?

Sprawdź stronę statusu API w celu uzyskania informacji o stanie w czasie rzeczywistym lub skorzystaj z naszego formularza kontaktowego.