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.
https://api.smartmoneyapi.com/v1Zasady 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ób | Co to jest |
|---|---|
| Książka kucharska | Gotowe 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 OpenAPI | Zdefiniowana 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 Python | Oficjalna biblioteka kliencka Python na github.com/tashiardit/smartmoneyapi-python. |
| /llms.txt | Podsumowanie 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:
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:
Oczekiwana odpowiedź:
"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.
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.
/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.
Treść żądania
| Pole | Typ | Opis |
|---|---|---|
| id_tokenwymagany | string | Token ID Firebase uzyskany po zalogowaniu przez Google na kliencie |
Przykładowa odpowiedź
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Limity wywołań
| Plan | Wywołania/Dzień | Limit nagły | Opóźnienie danych |
|---|---|---|---|
| Free | 50 | 2/min | 60 sekund |
| Trader | 1,000 | 20/min | Rzeczywisty czas |
| Pro | 5,000 | 60/min | Real-time |
| Enterprise | 100,000 | 400/min | Real-time |
Nagłówki limitów szybkości są zawarte w każdej odpowiedzi: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Podstawowy URL
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:
| Status | Kod | Znaczenie i co zrobić |
|---|---|---|
| 401 | unauthorized | Brakujący lub nieprawidłowy klucz API. Sprawdź, czy X-API-Key nagłówek jest obecny i poprawny. |
| 402 | payment_required | Punkt 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. |
| 429 | rate_limit_exceeded | Dzienny 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:
"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ób | URL |
|---|---|
| Podsumowanie LLM | https://smartmoneyapi.com/llms.txt |
| Specyfikacja OpenAPI | github.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:
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolwymagany | string | Symbol aktywa. Jeden z: BTC, ETH, SOL (Trader+) |
| kierunekwymagany | string | Kierunek handlu: long lub short |
| źródłoopcjonalny | string | Etykieta dla źródła sygnału (logowane dla analityki). Maks. 32 znaki. |
Przykładowe żądanie
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
Przykładowa odpowiedź
"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
| Pole | Typ | Opis |
|---|---|---|
| ts | liczba całkowita | Znacznik czasu Unix obliczenia |
| symbol | ciąg znaków | Symbol aktywa (BTC/ETH/SOL) |
| kierunek | ciąg znaków | Żądany kierunek (long/short) |
| composite | liczba zmiennoprzecinkowa | Złożony wynik konfluencji od -1.0 (skrajnie przeciw) do +1.0 (silne potwierdzenie). Nie jest to stopa wygranych. |
| base_composite | liczba zmiennoprzecinkowa | Złożony wynik przed zastosowaniem korekt po filtracji |
| confidence | ciąg znaków | HIGH / MEDIUM / LOW / VETO / NO_DATA |
| action | ciąg znaków | CONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP |
| size_mult | liczba zmiennoprzecinkowa | Sugerowany mnożnik wielkości pozycji (np. 0.0 – 1.5) |
| unsupported | bool | true gdy symbol jest poza zasięgiem (w parze z NO_DATA) |
| deriv_score | liczba zmiennoprzecinkowa | Podwynik instrumentów pochodnych (-1 do 1) |
| onchain_score | liczba zmiennoprzecinkowa | Podwynik on-chain (-1 do 1) |
| whale_score | liczba zmiennoprzecinkowa | Podwynik konsensusu wielorybów (-1 do 1) |
| x_score | liczba zmiennoprzecinkowa | Podwynik X/sentymentu społecznego (-1 do 1); 0, gdy nieużywany |
| czynniki | obiekt | Podział na elementy: score × weight = weighted dla instrumentów pochodnych / onchain / wielorybów / x_sentiment (onchain zawiera source) |
| korekty | obiekt | Podpisane korekty po filtracji (zgodność, trend, rsi_1h, news_macro, momentum, czas dnia, spadek serii) |
| wagi | obiekt | Zestaw wag faktycznie użyty w tej ocenie |
| zasięg | obiekt | {derivatives, whale, onchain} — które elementy miały rzeczywiste dane |
| powody | tablica | Czytelne 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.
GET /onchain
Zwraca surowe dane on-chain: MVRV, SOPR, przepływy netto na giełdach, wskaźnik zrealizowanej kapitalizacji oraz klasyfikację pozycji w cyklu.
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.
GET /signals
Zwraca strumień najnowszych sygnałów HIGH/MEDIUM dla wszystkich monitorowanych aktywów. Przydatne do skanowania okazji.
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:[…]}) zsymbol,direction,entry_price,exit_price,pnl_usdt,pnl_percent,pnl_percent_net.GET /v1/strategies/active?account=9— aktualne otwarte pozycje: tablica (lub{positions:[…]}) zsymbol,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).
GET /health
Sprawdzenie stanu systemu. Zwraca aktualność danych dla każdego źródła oraz ogólny status API. Bez autoryzacji.
"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
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
| Field | Type | Description |
|---|---|---|
| urlrequired | string | Endpoint HTTPS do wysyłania zdarzeń (musi zaczynać się od https://) |
| eventsrequired | array | Nazwy zdarzeń, np. ["HIGH","MEDIUM","VETO"] lub ["*"] |
| symbolsrequired | array | Symbole do filtrowania, np. ["BTC","ETH"] lub ["*"] |
| secretrequired | string | Twó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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolwymagany | string | Symbol aktywa: BTC, ETH, lub SOL |
Przykładowa odpowiedź
"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"
}
GET /liquidations
Zwraca dwa uzupełniające się widoki: (1) projekcja dźwigni levels — oszacowanie, gdzie znajdują się klastry likwidacji; oraz (2) realized_heatmap — RZECZYWISTA 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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Symbol aktywa (domyślnie BTC). Rzeczywista heatmapa obejmuje aktywnie handlowane symbole perp. |
Przykładowa odpowiedź
"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 }
}
}
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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Symbol assetu (domyślnie BTC). |
| window_minutesopcjonalny | int | Okno wsteczne w minutach (domyślnie 240, ograniczone do 5–1440). |
| price_bucketsopcjonalny | int | Liczba przedziałów cenowych (domyślnie 50, ograniczone do 5–100). |
Przykładowa odpowiedź
"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 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
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
| Parametr | Typ | Opis |
|---|---|---|
| chainopcjonalny | string | bsc lub avax. Pomijane dla wszystkich łańcuchów. |
| limitopcjonalny | integer | Maksymalna liczba wierszy (domyślnie 100, maks. 500). Najnowsze pierwsze. |
Przykładowa odpowiedź
"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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolwymagane | string | Symbol aktywa: BTC, ETH, lub SOL |
| kierunekwymagane | string | Kierunek pozycji: long lub short |
| cena_wejściaopcjonalne | float | Twoja cena wejścia. Domyślnie aktualna cena rynkowa, jeśli pominięta. |
| procent_ryzykaopcjonalne | float | Maksymalne akceptowalne ryzyko jako % konta. Domyślnie: 2.0 |
Przykładowa odpowiedź
"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 }
]
}
recommended stop. Plan Pro: Wszystkie trzy poziomy stopów, avoid_zones, oraz pełne sugestie take-profit.GET /funding-arb
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
| Parametr | Typ | Opis |
|---|---|---|
| minimalny_spreadopcjonalne | float | Minimalny spread stopy fundingowej do uwzględnienia (jako ułamek). Domyślnie: 0.01 |
| symbolopcjonalne | string | Filtruj do konkretnego aktywa. Pomijaj, aby skanować wszystkie obsługiwane aktywa. |
Przykładowa odpowiedź
"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
}
]
}
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.
"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
}
GET /smart-money/flow
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Pojedynczy symbol (np. BTC). Pomijając, otrzymasz wszystkie śledzone symbole uszeregowane według |wyniku|. |
| window_hoursopcjonalny | int | Okno oceny, ograniczone do 1..168. Domyślnie 24. |
Przykładowa odpowiedź
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.
}
top_contributors. Wagi portfela są ograniczone do [0.25,1.0]; PnL jest nieurealizowanym proxy z najnowszych migawek pozycji.GET /v1/whales/crowding
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
| Parametr | Typ | Opis |
|---|---|---|
| min_notionalopcjonalny | float | Minimalny łączny notional brutto (USD) dla symbolu, aby został uwzględniony. Domyślnie: 1000000. |
Przykładowe żądanie
Przykładowa odpowiedź
"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ę. ]
}
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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | BTC lub ETH tylko. Domyślnie: BTC. |
Przykładowe żądanie
Przykładowa odpowiedź
"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 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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Symbol aktywa. Domyślnie: BTC. |
| move_pctopcjonalny | float | Hipotetyczna zmiana ceny w procentach (ujemna = w dół, dodatnia = w górę). Domyślnie: -5. |
Przykładowe żądanie
Przykładowa odpowiedź
"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." }
}
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
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
| Parametr | Typ | Opis |
|---|---|---|
| addrwymagany | string | Adres portfela (segment ścieżki), np. /v1/wallet/0x3bcae23e…/profile. |
| daysopcjonalny | integer | Okno wsteczne dla szeregu i osi czasu. Domyślnie: 30. |
Przykładowe żądanie
Przykładowa odpowiedź
"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.
}
}
}
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
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ź
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
]
}
GET /whale-events
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Filtruj według aktywa. Pomijaj dla wszystkich monitorowanych aktywów. |
| znaczenieopcjonalny | string | Filtruj według znaczenia wydarzenia: high, medium, lub all. Domyślnie: all |
| godzinyopcjonalny | integer | Okno wsteczne w godzinach. Domyślnie: 24 |
Przykładowa odpowiedź
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
}
]
}
summary tylko obiekt. Plan Pro: Pełny events feed z identyfikatorami portfeli, rozmiarami i znacznikami czasu.GET /regimes/history
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Symbol aktywa. Domyślnie: BTC |
| regimeopcjonalny | string | Filtruj do konkretnego typu reżimu, np. late_cycle_divergence. Pomiń dla wszystkich reżimów. |
| daysopcjonalny | integer | Okno wsteczne w dniach. Domyślnie: 30. Maksymalnie: 365 |
Przykładowa odpowiedź
"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 , aby zweryfikować założenia strategii na podstawie historycznych danych dotyczących reżimów.GET /exchange-health
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ź
"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
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Symbol aktywa. Domyślnie: BTC |
Przykładowa odpowiedź
"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
}
Integracje
GET /tradingview/setup
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ź
"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
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
"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
Zwraca bieżące ustawienia personalizacji, w tym domyślne parametry transakcji, profil ryzyka, listę obserwowanych aktywów i preferencje powiadomień.
Zaktualizuj preferencje, wysyłając treść JSON z dowolnym podzbiorem pól poniżej. Pominięte pola zachowują swoje obecne wartości.
Pola preferencji
| Pole | Typ | Opis |
|---|---|---|
| default_trade_size_usd | float | Domyślny rozmiar pozycji w USD dla obliczeń Kelly i smart-stop |
| risk_tolerance | string | conservative, moderate, lub aggressive |
| default_risk_pct | float | Domyślne ryzyko na transakcję jako % konta. Używane przez /smart-stop gdy risk_pct jest pominięte |
| watchlist | array | Uporządkowana lista symboli aktywów, np. ["BTC","ETH","SOL"] |
| notification_email | string | Adres e-mail do dostarczania alertów |
| timezone | string | Ciąg IANA strefy czasowej, np. America/New_York |
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}
GET /watchlist
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ź
"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)
Nie wymaga uwierzytelnienia. Natywne EventSource wsparcie we wszystkich nowoczesnych przeglądarkach. Serwer emituje swap wydarzenia i okresowe sygnały życiowe, aby utrzymać połączenie.
es.addEventListener("swap", e => {
const swap = JSON.parse(e.data);
console.log(swap.chain, swap.pair, swap.amount_usd);
});
Strumień WebSocket (Płatny)
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.
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.
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.
"https://api.smartmoneyapi.com/v1/ws/ticket"
Przykładowa odpowiedź
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
| ticket | string | Token jednorazowy do dołączenia jako ?ticket= w adresie URL WebSocket. Wykorzystywany raz, następnie unieważniany. |
| expires_in | number | Liczba 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
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
| Pole | Typ | Opis |
|---|---|---|
| chain | string | bsc lub avalanche |
| dex | string | Nazwa routera (np. pancakeswap_v2, traderjoe) lub unknown_dex |
| swapper | string | Pełny adres 0x portfela, który wykonał wymianę |
| swapper_short | string | Skrócona forma do wyświetlenia (np. 0xb300…028d) |
| swapper_url | string | Bezpośredni link do portfela w eksploratorze bloków łańcucha |
| tx_hash | string | Hash transakcji |
| explorer_url | string | Bezpośredni link do transakcji na BscScan / Snowtrace |
| token_in | string | Symbol tokenu sprzedanego (np. USDT) |
| token_out | string | Symbol tokenu kupionego |
| amount_usd | number | Wartość wymiany w USD (minimum: $500) |
| pair | string | Sformatowana etykieta pary (np. USDT → USDC) |
| block | number | Numer bloku, w którym wymiana została zatwierdzona |
| timestamp | number | Czas w sekundach od epoki Uniksa |
| significance | string | low / medium / high / critical na podstawie rozmiaru w USD |
| seq | number | Monotoniczny numer sekwencji nadawania — używany do wykrywania luk |
POST /alerts/conditions
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.
Zwraca listę wszystkich skonfigurowanych warunków alertów wraz z ich identyfikatorami, definicjami i aktualnym stanem.
Trwale usuwa warunek alertu na podstawie jego identyfikatora.
Zwraca ostatnie zdarzenia wyzwalania alertów z sygnaturami czasowymi, dopasowanymi warunkami i wartością metryki w momencie wyzwolenia.
Utwórz alert — treść żądania
| Pole | Typ | Opis |
|---|---|---|
| namerequired | string | Etykieta czytelna dla człowieka dla tego alertu (max 64 znaków) |
| metricrequired | string | Metryka do monitorowania. Zobacz dostępne metryki w tabeli poniżej. |
| symboloptional | string | Kontekst aktywa. Wymagane dla metryk związanych z symbolem, takich jak funding_rate. |
| operatorrequired | string | Operator porównania: gt, lt, eq, crosses_above, crosses_below |
| thresholdrequired | float | Wartość numeryczna do porównania metryki |
| deliveryoptional | string | Kanał dostawy, np. telegram (domyślnie) lub webhook |
| cooldown_minutesoptional | integer | Minimalna 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
| Metric | Opis |
|---|---|
| funding_rate | Aktualna stopa finansowania dla symbolu (jako ułamek dziesiętny) |
| global_lsr | Globalny wskaźnik długich/krótkich pozycji dla symbolu |
| long_pct | Procent kont z netto długimi pozycjami dla symbolu |
| top_trader_lsr | Wskaźnik długich/krótkich pozycji top-traderów dla symbolu |
| taker_ratio | Wskaźnik kupna/sprzedaży takerów dla symbolu |
| mvrv | Wskaźnik wartości rynkowej do zrealizowanej (BTC/ETH) |
| sopr | Wskaźnik zysku z wydanych outputów (BTC/ETH) |
| exchange_net_flow | Sygnał netto przepływu na giełdach on-chain |
| accumulation | Sygnał akumulacji on-chain |
| whale_long_pct | Procent śledzonych portfeli wielorybów z długimi pozycjami dla symbolu |
| whale_n_wallets | Liczba śledzonych portfeli wielorybów z pozycją w symbolu |
| composite_long | Złożony wynik dla symbolu zapytanego w kierunku długim |
| composite_short | Złożony wynik dla symbolu zapytanego w kierunku krótkim |
| funding_spread | Różnica w stopach finansowania między giełdami dla symbolu |
"name": "Spadek stopy finansowania BTC",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}
GET /kelly
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
| Parameter | Type | Opis |
|---|---|---|
| symbolrequired | string | Symbol aktywa: BTC, ETH, lub SOL |
| confidenceoptional | string | Poziom ufności sygnału do modelowania: HIGH, MEDIUM, lub LOW. Domyślnie: HIGH |
| directionoptional | string | Kierunek transakcji: long lub short. Domyślnie: long |
| account_sizeoptional | float | Wielkość konta w USD do obliczenia suggested_size_usd. Domyślnie: 10000 |
Przykładowa odpowiedź
"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."
}
GET /performance
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
| Parametr | Typ | Opis |
|---|---|---|
| symbolopcjonalny | string | Filtruj według aktywa. Pominięcie powoduje agregację statystyk dla wszystkich symboli. |
| daysopcjonalny | integer | Okno wsteczne w dniach. Domyślnie: 30 |
Przykładowa odpowiedź
"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
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ź
"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
}
}
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
Ś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
| Parametr | Typ | Opis |
|---|---|---|
| daysopcjonalny | integer | Okno wsteczne w dniach. Domyślnie: 30 |
| signal_typeopcjonalny | string | Filtruj według typu, np. smart_money_confirm lub regime_flip. Pominięcie powoduje uwzględnienie wszystkich typów. |
| symbolopcjonalny | string | Filtruj według symbolu aktywa, np. BTC. Pominięcie powoduje agregację dla wszystkich symboli. |
Przykładowa odpowiedź
"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
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ź
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
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
| Parametr | Typ | Opis |
|---|---|---|
| idwymagane | integer | ID sygnału (segment ścieżki), np. /v1/signals/1042/outcome |
Przykładowa odpowiedź
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
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
"https://api.smartmoneyapi.com/v1/confirm-winrate"
Przykładowa odpowiedź
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 }
}
}
Shadow Gate
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.
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
| Pole | Typ | Opis |
|---|---|---|
| symbolwymagane | string | Symbol aktywa, np. BTC |
| sidewymagane | string | Kierunek transakcji: long lub short |
| strategy_idopcjonalne | string | Etykieta strategii zdefiniowana przez wywołującego (maks. 64 znaki). Przechowywana jako tekst do grupowania i filtrowania. |
Przykładowe żądanie
-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ź
"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 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.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
| Parametr | Typ | Opis |
|---|---|---|
| limitopcjonalny | integer | Maksymalna liczba wierszy do zwrócenia. Domyślnie: 50, maks.: 200 |
| cursoropcjonalny | string | Nieprzejrzysty kursor stronnicowania z pola next_cursor poprzedniej odpowiedzi. Pomijaj dla pierwszej strony. |
Przykładowa odpowiedź
"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
}
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)
"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
}
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
| Pole | Typ | Opis |
|---|---|---|
| outcomewymagane | string | Wynik transakcji: win lub loss |
| exit_priceopcjonalne | float | Cena wyjścia z transakcji. Przechowywana jako referencja; używana do obliczenia procentowego zysku/straty, jeśli podana. |
| pnl_pctopcjonalne | float | Zrealizowany zysk/strata jako procent wielkości pozycji, np. 3.5 lub -1.2 |
Przykładowa odpowiedź
"id": 318,
"resolved": True,
"outcome": "win",
"exit_price": 65800.0,
"pnl_pct": 4.1,
"resolved_at": 1711027200
}
Kody błędów
| Status | Kod | Opis |
|---|---|---|
| 400 | invalid_params | Brakujące lub nieprawidłowe parametry zapytania |
| 401 | unauthorized | Brakujący lub nieprawidłowy klucz API |
| 403 | plan_restriction | Endpoint niedostępny w obecnym planie |
| 429 | rate_limit_exceeded | Osiągnięto dzienny lub chwilowy limit |
| 500 | internal_error | Błąd serwera — sprawdź status źródła w /health |
| 503 | data_stale | Źródło danych niedostępne; zwrócono ostatnie znane dane |
Przykłady kodu
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()
# 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
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
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 .
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
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
Sprawdź stronę statusu API w celu uzyskania informacji o stanie w czasie rzeczywistym lub skorzystaj z naszego formularza kontaktowego.