API Reference

Smart Money API

Isang propesyonal-grade na intelligence API na nagsasama-sama ng derivatives data, on-chain metrics, at whale wallet activity sa isang confidence score para sa iyong trading bot.

Kasalukuyang bersyon ng API: v1. Base URL: https://api.smartmoneyapi.com/v1

Mga Prinsipyo sa Disenyo

Apat na ideya ang humuhubog sa bawat endpoint at bawat score na ibinibigay ng API na ito. Sila rin ang matapat na hangganan ng kung ano ang ipinapangako nito — at hindi.

Strategy-first, hindi signal-first. Hindi ito buy/sell signal feed. Ikaw ang magdadala ng strategy at entry; sasabihin ng API kung sang-ayon ang nakapalibot na market structure — derivatives positioning, funding, open interest, liquidations, on-chain flow, at whale consensus — sa trade na gusto mong gawin.

Confidence-scored, hindi binary prediction. Bawat sagot ay may graded confidence (HIGH / MEDIUM / LOW) at isang composite mula -1.0 hanggang +1.0. Walang garantiya at walang oracle calls — makakakuha ka ng calibrated read sa agreement, kasama ang mga dahilan sa likod nito, para ma-proportionally size mo ayon sa conviction.

Decision support, hindi execution advice. Ang API ay nagbabalik ng CONFIRM / REDUCE / SKIP na rekomendasyon at size multiplier para sa iyong logic na gagamitin. Hindi ito naglalagay ng orders, at walang financial advice dito. Ikaw pa rin ang responsable sa risk, sizing, at execution.

Living metrics, hindi fixed guarantees. Ang win rates, regime statistics, at accuracy figures ay kinakalkula mula sa rolling sample at gumagalaw habang gumagalaw ang markets. Inilalathala namin ito nang matapat, kasama na kapag mediocre ang mga ito. Ituring ang bawat metric bilang kasalukuyang obserbasyon, hindi pangako tungkol sa hinaharap.

Para kanino ang API na ito

Ang API na ito ay ginawa para sa mga crypto bot, algo, at AI-agent developers na mayroon nang long/short signal — mula sa TA strategy, ML model, Freqtrade pipeline, TradingView alert, o LLM agent — at gustong mabilis, pre-trade CONFIRM / REDUCE / SKIP na desisyon bago mag-commit ng capital.

Isang tipikal na loop: ang iyong strategy ay nag-trigger ng "go long BTC" → tatawagan mo GET /v1/confirm?symbol=BTC&direction=long → kino-confirm, binabawasan, o nilalaktawan ang entry at ise-scale ang size ayon sa size_mult. Isang tawag, single low-latency JSON response, walang extra infrastructure.

Ito ay hindi isang standalone signal generator, charting product, o execution venue. Kung wala kang sariling signal na gagamitin, magsimula sa performance page para makita kung paano kumilos ang score bago ito ikabit sa live bot.

Pagkuha ng access

1 — Mag-sign up. Gumawa ng libreng account sa signup (email/password o Google). Hindi kailangan ng credit card para sa free tier.

2 — Buksan ang iyong dashboard. Ang iyong dashboard ay nagpapakita ng iyong API key, kasalukuyang plan, at live usage laban sa iyong daily quota.

3 — Kopyahin ang iyong API key. Ang mga key ay may prefix na sm_. I-pass ito bilang X-API-Key header sa bawat request (tingnan ang Authentication). Mag-upgrade anumang oras sa pricing page para taasan ang mga limitasyon at magbukas ng mas maraming simbolo at endpoint.

Spec, SDK & Cookbook

Lahat ng kailangan mo para mas mabilis na ma-integrate, kahit ikaw mismo ang magsulat ng code o ipasa mo ito sa isang coding agent.

ResourceAno ito
CookbookMga copy-paste na recipe para sa pinakakaraniwang integrasyon — kumpirmahin bago mag-entry, i-gate ang isang Freqtrade signal, i-size gamit ang multiplier, i-handle ang 402/429, at i-wire ito sa isang coding agent.
OpenAPI specMachine-readable na OpenAPI definition ng bawat endpoint. I-import sa Postman/Insomnia, gumawa ng mga client, o ipakain sa isang LLM. github.com/tashiardit/smartmoneyapi-docs.
Python clientOpisyal na Python client library sa github.com/tashiardit/smartmoneyapi-python.
/llms.txtIsang LLM-friendly na plain-text summary ng API. Ituro ito kay Claude, Codex, o Cursor (tingnan Coding Agents).

Quickstart sa loob ng 2 minuto

Step 1 — Base URL. Ang bawat endpoint ay nasa ilalim ng:

Base URL
https://api.smartmoneyapi.com

Step 2 — Kunin ang iyong API key. Mag-sign up nang libre (walang credit card na kinakailangan) at kopyahin ang iyong key mula sa dashboard. Ilagay ito bilang X-API-Key header sa bawat request.

Step 3 — Ang iyong unang tawag. I-paste ito sa iyong terminal at palitan sm_your_key ng key mula sa iyong dashboard:

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

Inaasahang response:

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": ["Funding rate positive across all venues", "Whales: 67% long consensus"]
}

Kapag confidence ay HIGH o MEDIUM at action ay CONFIRM, i-scale ang iyong position size sa pamamagitan ng size_mult. Iyan ang buong integration loop. Tingnan ang Response Fields para sa buong field reference.

Authentication

Lahat ng request ay nangangailangan ng API key na ipinasa bilang X-API-Key HTTP header.

HTTP Header
X-API-Key: sm_your_api_key_here

Ang iyong API key ay available mula sa dashboard pagkatapos mag-sign up. Panatilihing sikreto ang iyong key — huwag itong ilantad sa client-side code o public repositories.

Ang WebSocket auth ay iba. Huwag kailanman ilagay ang iyong key sa isang WebSocket URL. Ang real-time streams ay gumagamit ng short-lived, single-use tickets: POST ang iyong key sa /v1/ws/ticket gamit ang X-API-Key header, pagkatapos ay kumonekta gamit ang ibinalik na ticket. Tingnan ang WebSocket authentication (tickets).

Google Sign-In (Firebase Auth)

Maaaring mag-authenticate ang mga user gamit ang kanilang Google account sa pamamagitan ng Firebase Authentication. Pagkatapos ng matagumpay na Google sign-in sa client, ipagpalit ang Firebase ID token para sa isang naka-link na API session. Awtomatikong isi-sync ng system ang iyong Google identity sa API key system.

Available to: Free Trader Pro
POST /auth/google

Request Body

FieldTypeDescription
id_tokenrequiredstringFirebase ID token na nakuha pagkatapos ng Google sign-in sa client

Example Response

JSON
{
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Ang user profile data — email, plan, usage history, preferences — ay naka-store sa Firestore at naka-link sa iyong Google account. Maaaring humiling ng full data export o account deletion anumang oras sa pamamagitan ng dashboard Privacy Settings.

Rate Limits

PlanCalls/DayBurst LimitData Delay
Free502/min60 seconds
Trader1,00020/minReal-time
Pro5,00060/minReal-time
Enterprise100,000400/minReal-time

Kasama ang mga rate limit header sa bawat tugon: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Base URL

https://api.smartmoneyapi.com/v1

Ang lahat ng endpoint sa ibaba ay nauugnay sa base URL na ito. Ang lahat ng tugon ay JSON na may Content-Type: application/json.

Mga Error

Ginagamit ng mga error ang karaniwang HTTP status code at pare-parehong JSON body. Laging mag-branch sa status code, hindi sa teksto ng tugon. Ang tatlong madalas mong makita:

StatusCodeKahulugan at kung ano ang dapat gawin
401unauthorizedNawawala o hindi wastong API key. Suriin na X-API-Key ang header ay naroroon at tama.
402payment_requiredAng endpoint o simbolo ay nangangailangan ng mas mataas na plano kaysa sa iyong key (hal. libreng key na tumatawag sa WebSocket firehose). Mag-upgrade o bumalik sa isang pampublikong endpoint.
429rate_limit_exceededNaabot na ang araw-araw o burst limit. Mag-back off at subukang muli pagkatapos X-RateLimit-Reset; huwag mag-hammer.

Ang bawat error ay nagbabalik ng parehong hugis:

JSON
{
"error": "rate_limit_exceeded",
"message": "Daily limit of 100 calls reached. Resets at 00:00 UTC.",
"status": 429
}

Para sa kumpletong listahan ng mga status code (400 / 403 / 500 / 503 at higit pa), tingnan ang Error Codes. Ang isang matatag na integrasyon ay itinuturing ang 5xx at 429 bilang pansamantala (subukang muli gamit ang backoff) at 401/402/403 bilang terminal (ayusin ang key o plano).

Mga pinakamahusay na kasanayan sa seguridad

Ipadala ang key sa header, hindi sa URL. Laging ipasa X-API-Key bilang HTTP header. Ang mga key sa query strings (?key=) ay na-log ng mga proxy, load balancer, at browser history — ang legacy ?key= auth ay hindi na tinatanggap sa WebSocket endpoint para sa eksaktong dahilan na ito.

Panatilihin ang mga key sa server-side. Huwag kailanman i-embed ang isang API key sa client-side JavaScript, mobile app bundle, o pampublikong repository. I-load ito mula sa environment variable o secret manager. Kung nag-leak ang isang key, i-rotate ito.

I-rotate ang mga key nang periodic. I-regenerate ang iyong key mula sa dashboard ayon sa iskedyul at agad-agad kung pinaghihinalaan mong na-expose. Ang lumang key ay titigil sa paggana sa sandaling ma-issue ang isang bago.

Gumamit ng mga ticket para sa browser sockets. Para sa mga real-time stream mula sa browser, palitan ang iyong key para sa isang single-use ticket sa halip na kumonekta gamit ang raw key — tingnan ang WebSocket authentication (tickets).

Paggamit sa mga coding agent / LLMs

Nagbu-build gamit ang Claude Code, Codex, Cursor, o anumang LLM coding agent? Maaari mong ibigay sa agent ang lahat ng kailangan nito para ma-wire up nang tama ang API na ito sa isang hakbang. Dalawang machine-readable reference ang na-publish:

ResourceURL
LLM summaryhttps://smartmoneyapi.com/llms.txt
OpenAPI specgithub.com/tashiardit/smartmoneyapi-docs

Ituro ang iyong agent sa /llms.txt file (ang llms.txt convention) para sa isang maikling pangkalahatang-ideya, pagkatapos ay ang OpenAPI spec para sa eksaktong hugis ng request/response. Isang one-line prompt na gumagana nang maayos:

Prompt
# Paste into Claude Code / Cursor / Codex
Basahin ang https://smartmoneyapi.com/llms.txt at ang OpenAPI spec sa
github.com/tashiardit/smartmoneyapi-docs, pagkatapos ay magdagdag ng pre-trade
check sa aking bot na tumatawag sa GET /v1/confirm at laktawan ang mga entry
maliban kung ang action ay CONFIRM.

Tingnan ang Cookbook para sa isang worked coding-agent recipe.

Endpoints

GET  /confirm

Ang pangunahing endpoint. Nagbabalik ng composite confidence score at action recommendation para sa isang ibinigay na trade direction. Tawagan ito bago magpasok ng anumang posisyon.

Coverage, sa simpleng salita. /confirm kasalukuyang nag-score BTC, ETH at SOL — ang mga simbolo na may sapat na nalutas na kasaysayan upang kumpirmahin nang tapat. Ang derivatives screener ay hiwalay na nagmo-monitor ng ~519 derivatives markets para sa funding, OI at liquidation data, at ang whale tracking ay sumasaklaw sa 600+ wallets. I-unlock ng Pro ang buong screener, mga export at mas malawak na market coverage; /confirm ang suporta sa simbolo ay pinalawak habang ang bawat merkado ay nagkakaroon ng maaasahang track record.

Parameters

ParameterTypeDescription
symbolrequiredstringAsset symbol. Isa sa: BTC, ETH, SOL (Trader+)
directionrequiredstringTrade direction: long o short
sourceoptionalstringLabel para sa iyong signal source (na-log para sa analytics). Max 32 chars.

Example Request

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

Example Response

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"direction": "long",
"composite": 0.74,
"confidence": "HIGH",
"action": "CONFIRM_FULL",
"size_mult": 1.5,
deriv_score: 0.81,
onchain_score: 0.68,
whale_score: 0.73,
x_score: 0.0,
mga salik: {
derivatives: { iskor: 0.81, bigat: 0.40, tinimbang: 0.324 },
onchain: { iskor: 0.68, bigat: 0.35, tinimbang: 0.238, pinagmulan: coinmetrics, available: True },
whale: { iskor: 0.73, bigat: 0.25, staleness_factor: 1.0, tinimbang: 0.183 }
},
mga pag-aayos: { kasunduan: 0.0, trend: 0.0, news_macro: 0.0 },
mga timbang: { derivatives: 0.40, onchain: 0.35, whale_intel: 0.25 },
saklaw: { derivatives: True, whale: True, onchain: True },
mga dahilan: [
Positive ang funding rate sa lahat ng venues,
LSR pabor sa longs: 1.42,
Whales: 67% long consensus,
MVRV above 1.0 — on-chain bullish
]
}

Transparent by design. Every response carries a factors object showing each leg's iskor × bigat = tinimbang kontribusyon, isang adjustments object para sa post-filter tweaks, ang weights ginamit, at isang coverage map. Ang on-chain leg ay gumagamit ng real free Coin Metrics data (MVRV / exchange-flow / active-address) kapag walang Glassnode key na nakatakda. Ito ay isang multi-factor confluence iskor — decision support, hindi garantisadong win-rate.

Untracked symbols are honest. Ang simbolo sa labas ng tracked derivatives/whale universe ay nagbabalik ng tahasang "confidence":"NO_DATA" / "action":"NO_DATA_SKIP" with "unsupported":true — hindi kailanman isang fabricated LOW.

Response Fields

FieldTypeDescription
tsintegerUnix timestamp ng pagkalkula
symbolstringAsset symbol (BTC/ETH/SOL)
directionstringRequested direction (long/short)
compositefloatComposite confluence score mula -1.0 (extreme contra) hanggang +1.0 (strong confirm). Hindi ito win-rate.
base_compositefloatComposite bago ang post-filter adjustments ay inilapat
confidencestringHIGH / MEDIUM / LOW / VETO / NO_DATA
actionstringCONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP
size_multfloatSuggested position size multiplier (e.g. 0.0 – 1.5)
unsupportedbooltrue kapag ang simbolo ay nasa labas ng coverage (paired with NO_DATA)
deriv_scorefloatDerivatives sub-score (-1 to 1)
onchain_scorefloatOn-chain sub-score (-1 to 1)
whale_scorefloatWhale consensus sub-score (-1 to 1)
x_scorefloatX/social-sentiment sub-score (-1 to 1); 0 kapag hindi ginamit
factorsobjectPer-leg breakdown: score × weight = weighted para sa derivatives / onchain / whale / x_sentiment (onchain includes source)
adjustmentsobjectSigned post-filter tweaks (agreement, trend, rsi_1h, news_macro, momentum, time_of_day, streak_decay)
weightsobjectWeight set na aktwal na ginamit para sa evaluation na ito
coverageobject{derivatives, whale, onchain} — kung aling mga leg ang may real data
reasonsarrayHuman-readable explanation strings para sa iskor

GET  /snapshot

Nagbabalik ng full market snapshot kasama ang lahat ng sub-scores, raw metrics, at indicator values para sa isang simbolo. Kapaki-pakinabang para sa dashboards at logging.

Requires: Trader Pro

GET  /onchain

Nagbabalik ng raw on-chain metrics: MVRV, SOPR, exchange net flow, realized cap ratio, at cycle position classification.

Kailangan: Trader Pro

GET  /v1/derivatives/*

Cross-exchange derivatives screener para sa 500+ symbols: funding-rate heatmap, open-interest rankings, at long/short-ratio signal detection. Ang top 10 rows ay pampubliko; ang buong screener ay nangangailangan ng Trader o Pro. Mga endpoint: /v1/derivatives/screener, /v1/derivatives/funding, /v1/derivatives/oi, /v1/derivatives/signals.

GET  /v1/options/*

Deribit-sourced BTC & ETH options analytics (pampubliko, walang auth): put/call ratio, max pain, at open interest by strike. Mga endpoint: /v1/options/summary, /v1/options/pcr, /v1/options/oi.

GET  /v1/etf/*

Spot BTC & ETH ETF daily net flows at per-fund breakdown (pampubliko). Mga endpoint: /v1/etf/flows, /v1/etf/funds.

GET  /v1/historical/*

Historical funding, open interest, long/short ratio (Binance), at OHLCV (CoinGecko) para sa backtesting. Mga endpoint: /v1/historical/funding, /v1/historical/oi, /v1/historical/lsr, /v1/historical/ohlcv.

GET  /v1/dex/*

DexScreener-powered trending pairs, token search, at pair details (pampubliko, walang auth). Mga endpoint: /v1/dex/trending, /v1/dex/search, /v1/dex/token, /v1/dex/pair.

GET  /v1/news/*

News intelligence: policy/geopolitical/crypto news na na-classify sa impact categories, kasama ang Fear & Greed (pampubliko, walang auth). Mga endpoint: /v1/news/trump, /v1/news/general, /v1/news/impact, /v1/news/fear-greed.

GET  /whales

Nagbabalik ng whale wallet consensus data: long/short split, total notional exposure, top 10 positions (Pro only), at wallet count.

Kailangan: Trader Pro

GET  /signals

Nagbabalik ng stream ng pinakabagong HIGH/MEDIUM signals sa lahat ng mino-monitor na assets. Kapaki-pakinabang para sa opportunity scanning.

Kailangan: Pro

GET  /v1/strategies/*

Transparent, read-only track record para sa automated trading strategies na gumagawa ng execute sa ibabaw ng Smart Money signals — kasama ang deriv40 SmartMoney Copytrade strategy (account=9). Lahat ng endpoint ay tumatanggap ng ?account=<id> query parameter at nagbabalik ng JSON. Walang authentication na kailangan (public track record).

Mga Endpoint

  • GET /v1/strategies/stats?account=9 — headline metrics: total_trades, win_rate, profit_factor, total_pnl_usdt, account_growth_percent, initial_equity, current_equity, max_drawdown_portfolio, max_drawdown_trade.
  • GET /v1/strategies/equity?account=9 — equity curve para sa charting: { initial_equity, curve: [{ time, equity }] }.
  • GET /v1/strategies/trades?account=9&limit=500 — closed-trade ledger: array (o {trades:[…]}) ng symbol, direction, entry_price, exit_price, pnl_usdt, pnl_percent, pnl_percent_net.
  • GET /v1/strategies/active?account=9 — currently open positions: array (o {positions:[…]}) ng symbol, side/direction, entry_price, unrealized_pnl.
  • GET /v1/strategies/signals — signal-type breakdown feeding the strategies (count / wins / win_rate / avg_pnl per signal type).

Ang past performance ay hindi indikasyon ng future results. Ang mga figures ay backfilled sa loob ng isang ~3-month regime kasama ang live trades at ipinapakita pre-fee kung saan nabanggit.

GET  /export

I-download ang historical signal data bilang CSV para sa backtesting. Mga parameter: symbol, from (unix ts), to (unix ts).

Kailangan: Pro

GET  /health

System health check. Nagbabalik ng data freshness para sa bawat source at overall API status. Walang authentication na kailangan.

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

Nagbabalik ng iyong kasalukuyang API usage statistics: calls today, monthly totals, quota limits, at reset times.

POST  /webhooks

Kailangan: Pro

Magrehistro ng HTTPS URL para tumanggap ng real-time signed event pushes kapag may signal sa iyong mino-monitor na assets. Ang deliveries ay may X-SmartMoney-Event header at HMAC-SHA256 signature sa X-SmartMoney-Signature, at magre-retry hanggang 3× with backoff.

Request Body

FieldTypeDescription
urlrequiredstringHTTPS endpoint para POST events (dapat nagsisimula sa https://)
eventsrequiredarrayEvent names, hal. ["HIGH","MEDIUM","VETO"] o ["*"]
symbolsrequiredarraySymbols para i-filter, hal. ["BTC","ETH"] o ["*"]
secretrequiredstringIyong signing secret, ≥ 16 chars (stored hashed)

Verifying the signature

Ang HMAC key ay ang SHA-256 hex digest ng iyong registered secret. I-compute ang HMAC-SHA256 ng raw request body gamit ang key na iyon at i-compare (constant-time) laban sa X-SmartMoney-Signature. Tingnan ang Gabay sa Pagpapatupad ng Webhook.

Intelihensiya

GET  /analysis

Kailangan: Pro

Nagbabalik ng AI-powered na klasipikasyon ng rehimen sa merkado na may deteksyon ng signal conflict. Sinusuri ang cross-signal agreement, kinikilala ang mga pagkakaiba sa pagitan ng derivatives, on-chain, at whale data, at gumagawa ng natural-language summary na may forward-looking risk factors at time-horizoned recommendation.

Mga Parameter

ParameterUriDeskripsyon
symbolkailanganstringAsset symbol: BTC, ETH, o SOL

Halimbawang Tugon

JSON
{
"ts": 1710940821,
"symbol": "BTC",
"regime": "late_cycle_divergence",
"regime_label": "Late Cycle — Signal Divergence",
"summary": "Ang BTC ay nasa late bull cycle phase na may on-chain strength na sumasalungat sa derivatives overextension. Bumababa ang exposure ng mga whale habang tumataas ang retail LSR.",
"signal_conflicts": [
"Bearish ang whale score habang bullish ang onchain score",
"Ang funding rate ay nasa 3-month high — potensyal na squeeze risk"
],
"risk_factors": ["Mataas na funding", "Pagkakaiba ng OI", "Pagbaba ng whale"],
"recommendation": "Bawasan ang long exposure, higpitan ang stops. Iwasan ang mga bagong long sa itaas ng kasalukuyang presyo.",
"time_horizon": "4h–12h"
}
Kailangan ang Pro plan. Ang endpoint na ito ay gumagamit ng 3 API calls bawat request dahil sa AI processing overhead.

GET  /liquidations

Kailangan: Trader Pro

Nagbabalik dalawang komplementaryong view: (1) leverage-projected levels — isang estimate ng kung saan nakaupo ang liquidation clusters; at (2) ang realized_heatmap — ang REAL na naisakatuparan forced-liquidation intensity (presyo × oras), na na-aggregate nang live mula sa public exchange WebSocket feeds: Binance, OKX, Bybit, Bitget, BitMEX. Ang heatmap ay naroroon kapag ang stream ay may data para sa symbol (wala sa isang napakatahimik na merkado o kakakumpirma pa lang ng startup).

Mga Parameter

ParameterUriDeskripsyon
symbolopsyonalstringAsset symbol (default BTC). Ang real heatmap ay sumasaklaw sa aktibong-traded perp symbols.

Halimbawang Tugon

JSON
{
"symbol": "BTC",
"cascade_risk": "MATAAS",
"nearest_long_liq_pct": -3.2,
"nearest_short_liq_pct": 4.1,
// REAL na naisakatuparang liquidations — live mula sa 5 exchanges
"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 }
}
}
Trader plan: cascade_risk, nearest distances, at realized totals/by-side. Pro plan: buong projected levels kasama ang buong realized_heatmap (matrices, per-price clusters, per-exchange counts). Ang projected estimate ay sumasagot sa "kung saan ang mga stops"; ang realized heatmap ay nagpapakita ng "ano ang talagang naliquidate."

GET  /liquidations/heatmap

Available sa: Libre Hindi kailangan ng authentication (per-IP throttled)

Pampubliko price-level liquidation heatmap. Nagbabalik ng Coinglass-style price × time matrix ng REAL na naisakatuparan forced liquidations, na naka-bucket ayon sa presyo kung saan na-print ang bawat liquidation — na-aggregate nang live mula sa public exchange WebSocket feeds: Binance, OKX, Bybit, Bitget, BitMEX. Ang clusters array ay ang praktikal na output: price buckets na naka-rank ayon sa liquidated notional, bawat isa ay may tag ng dominant side nito. Ang data ay depende sa live stream — ang isang napakatahimik na symbol o kakakumpirma pa lang ng gateway ay nagbabalik ng well-formed na empty structure kasama ang isang totoong note. Ang mga level na ipinapakita ay mga tunay na liquidation lamang, hindi kailanman estimated.

Parameters

ParameterTypeDescription
symboloptionalstringAsset symbol (default BTC).
window_minutesoptionalintLook-back window in minutes (default 240, clamped to 5–1440).
price_bucketsoptionalintNumber of price buckets (default 50, clamped to 5–100).

Example Response

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
}
Honest note: this endpoint reflects only what the live stream has captured. When a symbol is quiet or the stream just started, totals.count is 0, clusters is empty, and a note field explains why. It is a record of executed liquidations — not a prediction. For the projected "where are the stops" estimate, use the authenticated /liquidations endpoint.

GET  /liquidations/onchain

Requires: Trader Pro

Executed on-chain DeFi lending liquidations captured directly from our own local BSC + Avalanche full nodes — independent of any trading bot. Covers Venus/Cream and Moolah on BSC, and AAVE V3/V2, Benqi, BankerJoe, Granary and Vinium on Avalanche. Pro tier additionally returns at_risk positions (bot-dependent, may be absent).

Parameters

ParameterTypeDescription
chainoptionalstringbsc or avax. Omit for all chains.
limitoptionalintegerMax rows (default 100, max 500). Newest-first.

Example Response

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, repay_usd_known: 148230.55 } },
nodes: { bsc: { reachable: True, head_block: 89173010, events_total: 61 } }
}
}

GET  /smart-stop

Kailangan: Trader Pro

Kinakalkula ang matalinong mga antas ng stop-loss batay sa kasalukuyang liquidation heatmap, volatility bands, at istruktura ng merkado. Nagbabalik ng tiered na mga rekomendasyon sa stop at mga mungkahi sa take-profit na naayon sa iyong entry price at tolerance sa risk.

Mga Parameter

ParameterUriPaglalarawan
symbolkailanganstringSimbolo ng asset: BTC, ETH, o SOL
directionkailanganstringDireksyon ng posisyon: long o short
entry_priceopsyonalfloatIyong entry price. Default sa kasalukuyang presyo ng merkado kung hindi nakalista.
risk_pctopsyonalfloatPinakamataas na katanggap-tanggap na risk bilang % ng account. Default: 2.0

Halimbawang Tugon

JSON
{
symbol: BTC,
direction: long,
entry_price: 96420,
stops: {
tight: { price: 95100, note: Sa ilalim ng 1h na istruktura. Pinakamainam para sa scalps. },
recommended: { price: 93800, note: Sa ilalim ng pangunahing liq cluster sa $94K. Karaniwang swing stop. },
wide: { price: 91200, note: Sa ilalim ng 4h demand zone. Position trade stop. }
},
avoid_zones: [
{ low: 94200, high: 94800, reason: Makapal na liquidation cluster — mataas na panganib ng slippage }
],
take_profit_suggestions: [
{ tp1: 98500, tp2: 101000, tp3: 104200 }
]
}
Plano ng Trader: Nagbabalik ng recommended stop lamang. Plano ng Pro: Lahat ng tatlong tier ng stop, avoid_zones, at buong mga mungkahi sa take-profit.

GET  /funding-arb

Kailangan: Trader Pro

Nag-iidentify ng mga oportunidad sa arbitrage ng cross-exchange funding rate sa real time. Nagbabalik ng mga ranggo ng oportunidad na may tinatayang annualized yield, optimal na pares ng exchange, at kinakailangang aksyon sa hedge para makuha ang spread.

Mga Parameter

ParameterUriPaglalarawan
min_spreadopsyonalfloatMinimum na spread ng funding rate na isasama (bilang decimal). Default: 0.01
symbolopsyonalstringSalain sa isang partikular na asset. Huwag isama para i-scan ang lahat ng suportadong asset.

Halimbawang Tugon

JSON
{
ts: 1710940821,
opportunities: [
{
symbol: BTC,
spread: 0.032,
apr: 84.2,
long_exchange: hyperliquid,
short_exchange: bybit,
action: Long HYPE / Short BYBIT,
estimated_profit_8h_usd: 26.4
}
]
}
Plano ng Trader: Nangungunang 1 oportunidad lamang, walang historical na data ng spread. Plano ng Pro: Lahat ng kasalukuyang oportunidad na may 24h na kasaysayan ng spread bawat pares ng exchange.

Libreng pampublikong variant Walang auth

Isang no-key public endpoint na nagbabalik ng nangungunang 10 oportunidad na may live cross-exchange screener, mainam para sa embedding o mabilis na pagsusuri. Tinatanggal nito ang per-symbol na kasaysayan ng spread at mabibigat na field at inihatid mula sa 120-segundong cache. Kapag walang cross-exchange funding spreads sa freshness window, nagbabalik ito ng opportunities array na may note — hindi kailanman ginawang data.

GET (no auth)
GET /v1/derivatives/funding-arb
JSON
{
opportunities: [
{
"symbol": "OGN",
"spread_pct": 0.297667,
"annualized_apr": 325.95,
"long_exchange": "bybit",
"short_exchange": "hyperliquid",
"estimated_profit_per_10k": 29.77,
"risk_notes": "Mababang spread — siguraduhing hindi kakainin ng mga bayarin ang margin ng arbitrage."
}
],
"scanned_symbols": 222,
"ts": 1783268753,
"public": true,
"limited": true
}
"Libre, walang API key. Top 10 na oportunidad lamang, may limitasyon at naka-cache (120 s). Live screener page:" "funding-arb.html".

"GET"  "/smart-money/flow"

"Kailangan:" "Trader" "Pro"

"Isang quality-weighted" "whale directional index" "bawat simbolo, na may score" -100 "(whale money leaning short) to" +100 "(leaning long). Binuo mula sa libu-libong sinusubaybayang Hyperliquid whale wallets — bawat isa ay may timbang batay sa sarili nitong historical win-rate at PnL at bumababa sa recency. Ito ay isang" "positioning index, hindi isang buy/sell signal o price prediction." "Ang mga simbolo na may kakaunting nag-aambag na wallets ay may label" thin "at may honestong score. Live page:" "smart-money-flow.html".

"Parameters"

"Parameter""Type""Description"
"symbol""optional""string""Single symbol (e.g." BTC"). Omit to get all tracked symbols ranked by |score|."
"window_hours""optional""int""Scoring window, clamped to" 1..168". Default" 24.

"Example Response"

"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"": ""Quality-weighted whale directional positioning index (-100..+100). Not a price prediction or buy/sell signal.""
}
"Trader plan:" "Top 12 na simbolo, itinatago ang detalye ng contributor." "Pro plan:" "Lahat ng simbolo na may per-symbol" top_contributors". Ang mga timbang ng wallet ay may hangganan sa" [0.25,1.0]"; Ang PnL ay isang unrealised proxy mula sa pinakabagong position snapshots."

"GET"  "/v1/whales/crowding"

"Available to:" "Free" "Walang kinakailangang authentication — anonymous ay makakakuha ng top 10 na simbolo, Trader+ ay makakakuha ng buong listahan"

"Combined" "whale positioning & crowding context" "bawat simbolo, pinagsama sa" "Hyperliquid + GMX v2 + Jupiter Perps"". Nagbabalik ng gross/net notional, directional skew, wallet & venue counts, position concentration (top-3 share + HHI), isang weighted-average leverage, at" "liquidation-proximity buckets" "($ notional na nakaupo sa loob ng 5% at 10% ng tinatayang liquidation price, nahahati sa long/short). Ito ay" "context, hindi isang directional signal." "Ang mga field na hindi ma-derive ay" null "at nagre-render bilang" "— hal." lev_wavg/crowding_index "kapag walang posisyon na may leverage. Ang mga distansya ng liquidation ay isang isolated-margin estimate ("pct_to_liq ≈ 1/lev + upnl/notional − mmr, mmr = 0.01), "hindi" "exchange-reported liquidation prices."

"Parameters"

"Parameter""Type""Description"
"min_notional""optional""float""Minimum combined gross notional (USD) para maisama ang isang simbolo. Default:" 1000000.

"Example Request"

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

"Example Response"

"JSON"
{
""ok"": true, ""ts"": 1783423500, min_notional: 1000000, n_symbols: 92,
symbols: [
{
symbol: BTC,
gross_usd: 2447900000.0, net_usd: -51000000.0, skew: -0.021,
n_whales: 414, n_venues: 3,
venues: {
hl: { gross: 1900000000.0, net: -40000000.0, n_whales: 272 },
gmx: { gross: 320000000.0, net: -6000000.0, n_whales: 59 },
jupiter: { gross: 227900000.0, net: -5000000.0, n_whales: 83 }
},
conc_top3: 0.159, hhi: 0.011, lev_wavg: 19.1,
liq_within_5pct: { long: 621700000.0, short: 665600000.0 },
liq_within_10pct: { long: 840000000.0, short: 910000000.0 },
crowding_index: 0.003
}
],
caveats: [ Ang mga distansya ng liquidation ay mga estimate ng isolated-margin, hindi iniulat ng exchange. ]
}
Honest note: skew ay net/gross ∈ [-1,1]; crowding_index = |skew|·conc_top3·min(lev/20,1). Tanging mga venue na aktwal na naroroon ang lalabas sa venues. Ang mga posisyon na walang leverage ay hindi kasama sa mga liq bucket sa halip na ipinapalagay. Ang mga anonymous caller ay makakatanggap ng top 10 na simbolo ayon sa gross (kasama ang gated: true); Ang Trader+ ay makakatanggap ng buong listahan.

GET  /v1/options/gex

Available to: Free Walang kinakailangang authentication (per-IP throttled)

Dealer gamma exposure (GEX) analytics para sa BTC & ETH, kinakalkula nang live mula sa public Deribit options chain (walang auth). Nagbabalik ng net dealer GEX per strike (SpotGamma dealer-short convention), ang gamma-flip level (strike kung saan tumatawid sa zero ang cumulative net GEX), ang IV term structure (ATM implied vol ayon sa days-to-expiry), at isang front-expiry IV skew (25Δ-proxy risk reversal). Ang GEX regime ay positive (dealers long gamma → vol-suppressing) o negative (vol-amplifying). Ganap na self-contained — muling kinakalkula sa bawat tawag, walang dependency sa stored-DB.

Parameters

ParameterTypeDescription
symboloptionalstringBTC o ETH lamang. Default: BTC.

Example Request

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

Example Response

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"
}
}
Honest note: Ang Deribit contract multiplier ay 1 (coin-denominated OI). Sa anumang pagkabigo sa pag-fetch, ang endpoint ay nagbabalik available: false na may walang laman na panels — hindi kailanman ginawang GEX. Ang IV skew ay gumagamit ng fixed ±10% strike proxy para sa 25Δ (ang tunay na 25-delta ay nangangailangan ng pag-solve ng delta per strike); sapat para sa display, dokumentado bilang approximation.

GET  /v1/liquidations/simulate

Available to: Free Walang kinakailangang authentication (per-IP throttled)

Interactive liquidation cascade stress-testSa isang hypothetical na paggalaw ng presyo, ibinabalik ang tinatayang leveraged positions na maliliquidate, forced volume ayon sa price level / side / exchange, at isang cascade-depth readout. Ang downward move ay nagli-liquidate ng longs na ang liq-price ay nasa/above sa target; ang upward move ay nagli-liquidate ng shorts na ang liq-price ay nasa/below dito. Dalawang independenteng paraan ang pinagsama: eksaktong liquidation prices mula sa tracked Hyperliquid whales' real leverage/entry, kasama ang statistical OI-band clusters bawat exchange (crowd leverage inferred mula sa funding). Lahat ay malinaw na naka-label estimated: true — hindi nito alam ang per-account margin, cross vs isolated, added margin, o ADL.

Mga Parameter

ParameterUriPaglalarawan
symbolopsyonalstringAsset symbol. Default: BTC.
move_pctopsyonalfloatHypothetical na paggalaw ng presyo bilang porsyento (negative = pababa, positive = pataas). Default: -5.

Halimbawang Kahilingan

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

Halimbawang Tugon

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": "Estimated — hindi alam ang per-account margin, cross vs isolated, add-margin, o ADL." }
}
Matapat na paalala: Ang bawat projected na numero ay nagmula sa real DB reads; walang imbento sa pagkabigo. Ang isang untracked symbol, stale snapshot, o nawawalang presyo ay nagbabalik ok: true, empty: true ng simpleng mensahe sa Ingles, hindi pekeng bars. realized_context ay isang batang, lumalaking sample mula sa live forced-liquidation stream, ipinapakita lamang bilang konteksto — hindi ito ginagawang "realized" ang projection.

GET  /v1/wallet/{addr}/profile

Available sa: Libre Walang kinakailangang authentication (per-IP throttled)

Isang cross-venue wallet profile na buong itinayo mula sa live tracked-whale position snapshots. Para sa isang tracked Hyperliquid whale, ibinabalik ang kasalukuyang open positions, isang unrealized-PnL / exposure / position-count time series, isang OPEN/CLOSE/FLIP activity timeline (reconstructed sa pamamagitan ng pag-diff ng magkakasunod na snapshots), ang decoded HL-leaderboard label, at isang open-book summary. Live page: wallet-profiler.html.

Mga Parameter

ParameterUriPaglalarawan
addrkinakailanganstringWallet address (path segment), hal. /v1/wallet/0x3bcae23e…/profile.
daysopsyonalintegerLook-back window para sa series & timeline. Default: 30.

Halimbawang Kahilingan

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

Halimbawang Tugon

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, win_rate_pct: 71, trades: 42 },
positions: [
{ venue: hyperliquid, symbol: ETH, direction: short,
size: 1200.0, entry_px: 1800.0, unrealized_pnl: 34800.0,
leverage: 20.0, value_usd: 2160000.0 }
],
series: [ { ts: 1783330000, unrealized_pnl: 42000.0, exposure_usd: 18400000.0, positions: 5 } ],
timeline: [ { ts: 1783400000, event: flip, symbol: ETH,
direction: short, from_direction: long, value_usd: 2160000.0 } ],
summary: {
open_positions: 5, in_profit: 3, in_loss: 2, longs: 0, shorts: 5,
total_unrealized_pnl: -12000.0, total_exposure_usd: 21000000.0, blended_leverage: 19.9,
window_days: 30, snapshots_in_window: 474,
realized_pnl: None, realized_pnl_note: Hindi makuha — tanging mga bukas na snapshot ang nakikita, hindi ang pagsasara ng mga fills.
}
}
}
Tapat na paunawa: lahat ng ipinapakita ay tunay mula sa snapshot data — pnl ay sariling unrealized mark-to-market ng HL, value_usd ay bukas na notional. Hindi available ang Realized P&L bawat round-trip (tanging mga bukas na snapshot ang nakikita, hindi ang pagsasara ng mga fills) at ipinapakita bilang null / ; walang P&L claim ang mga CLOSE event sa timeline. Isang wasto ngunit hindi sinusubaybayan na address ay nagbabalik tracked: false na may paunawa; isang hindi wastong address ay nagbabalik ok: false, error: "invalid_address" (HTTP 400). Ang HL-leaderboard label ay sariling window standing ng HL sa discovery, hindi kinakalkula namin.

GET  /flows

Kailangan: Pro

Nagbabalik ng cross-asset capital flow data na nagpapakita ng rotation patterns sa pagitan ng BTC, ETH, at SOL sa iba't ibang time windows. Kapaki-pakinabang para matukoy kung aling asset ang nag-aaccumulate ng capital at alin ang dinidistribute sa anumang sandali.

Halimbawang Tugon

JSON
{
ts: 1710940821,
flows: {
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 }
},
rotations_detected: [
Capital na umiikot mula ETH patungong BTC sa loob ng 4h window,
Patuloy na accumulation ng SOL sa lahat ng windows
]
}
Kailangan ang Pro plan. Ang mga flow value ay USD net inflow (positive) o outflow (negative) bawat time window.

GET  /whale-events

Kailangan: Trader Pro

Nagbabalik ng mga makabuluhang pagbabago sa posisyon ng whale — pagbubukas, pagsasara, at pag-flip ng direksyon — na natukoy sa mga sinusubaybayang wallet at on-chain address sa loob ng tinukoy na look-back window.

Mga Parameter

ParameterUriPaglalarawan
symbolopsyonalstringI-filter ayon sa asset. Huwag isama para sa lahat ng sinusubaybayang asset.
significanceopsyonalstringI-filter ayon sa kahalagahan ng event: high, medium, o all. Default: all
hoursopsyonalintegerLook-back window sa oras. Default: 24

Halimbawang Tugon

JSON
{
symbol: BTC,
summary: {
flips_to_long: 3,
flips_to_short: 1,
new_opens: 7,
closes: 2
},
events: [
{
"type": "flip_long",
"wallet": "0xWhale...a4f2",
"direction": "long",
"size_usd": 4200000,
"ts": 1710938400
}
]
}
Plano ng Trader: Nagbabalik ng summary object lamang. Pro Plan: Buong events feed na may mga identifier ng wallet, laki, at timestamp.

GET  /regimes/history

Kailangan: Pro

Nagbabalik ng makasaysayang data ng klasipikasyon ng rehimen para sa isang asset. Gamitin ito para i-backtest kung paano gumana ang mga partikular na uri ng rehimen sa nakaraan, gaano katagal karaniwang tumatagal ang bawat uri ng rehimen, at kung paano nagaganap ang mga pagbabago ng rehimen sa paglipas ng panahon.

Mga Parameter

ParameterUriDeskripsyon
symbolopsyonalstringSimbolo ng Asset. Default: BTC
regimeopsyonalstringSalain sa isang partikular na uri ng rehimen, hal. late_cycle_divergence. Huwag isama para sa lahat ng rehimen.
daysopsyonalintegerLook-back window sa araw. Default: 30. Maximum: 365

Halimbawang Tugon

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 }
]
}
Kailangan ang Pro plan. Pagsamahin sa /analysis upang patunayan ang mga palagay ng estratehiya laban sa makasaysayang data ng pagganap ng rehimen.

GET  /exchange-health

Available sa: Libre Trader Pro

Nagbabalik ng real-time na kalusugan ng lahat ng minomonitor na exchange kasama ang latency bawat exchange, rate ng error, at mga indicator ng pagtanda ng data. Hindi kailangan ng authentication — pampublikong accessible na endpoint.

Halimbawang Tugon

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

Kailangan: Trader Pro

Nagbabalik ng real-time na Fear & Greed index (0-100) na kinakalkula mula sa sentiment ng derivatives, aktibidad ng whale, volatility, at mga signal sa social. Kasama ang breakdown ng mga component at 24-oras na kasaysayan para sa pagsusuri ng trend.

Mga Parameter

ParameterUriDeskripsyon
symbolopsyonalstringAsset symbol. Default: BTC

Halimbawang Tugon

JSON
{
"symbol": "BTC",
"score": 72,
"label": "Greed",
"components": {
"volatility": 65,
"momentum": 78,
"derivatives": 70,
"whale_activity": 75,
"social": 68
},
"history_24h": [
{ "ts": 1710940800, "score": 68, "label": "Greed" },
{ "ts": 1710937200, "score": 65, "label": "Greed" }
],
"ts": 1710940821
}
Katumbas ng kompetisyon: Santiment Social Volume + Alternative.me Fear & Greed — pinagsama sa isang endpoint na may breakdown ng mga component.

Mga Integrasyon

GET  /tradingview/setup

Kailangan: Trader Pro

Ibinabalik ang iyong personalized na setup ng integrasyon sa TradingView: webhook URL, lihim para sa pagpapatunay, at handa nang gamiting Pine Script indicators na direktang kumokonekta sa Smart Money API. Kopyahin at i-paste ang Pine Script sa TradingView para i-overlay ang aming mga signal sa anumang chart.

Halimbawang Tugon

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

Available to: Trader Pro

Tumatanggap ng alert mula sa TradingView, pinoproseso ito sa pamamagitan ng /confirm, at ibinabalik ang kumpirmasyon. Hindi makapagpadala ng custom headers ang TradingView, kaya patunayan ang iyong sarili sa pamamagitan ng pagsasama ng iyong webhook secret sa JSON body (ang endpoint na ito ay hindi gumagamit ng X-API-Key). Ang tugon ay binalot ang kumpirmasyon at nagdagdag ng top-level action ng CONFIRMED (daemon confidence HIGH/MEDIUM) o VETOED.

Request Body

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

Kailangan: secret, symbol, direction (long|short). Opsyonal: source, timeframe, strategy, price.

Personalization

GET  /preferences

Kailangan: Trader Pro

Ibinabalik ang iyong kasalukuyang mga setting ng personalisasyon kabilang ang default na trade parameters, risk profile, watchlist, at notification preferences.

PUT /v1/preferences

I-update ang mga preference sa pamamagitan ng pagpapadala ng JSON body na may anumang subset ng mga field sa ibaba. Ang mga field na hindi isinama ay mananatili sa kanilang kasalukuyang mga halaga.

Preference Fields

FieldTypeDescription
default_trade_size_usdfloatDefault na laki ng posisyon sa USD para sa Kelly at smart-stop calculations
risk_tolerancestringconservative, moderate, o aggressive
default_risk_pctfloatDefault na risk per trade bilang % ng account. Ginagamit ng /smart-stop kapag risk_pct ay hindi kasama
watchlistarrayOrdered list ng mga asset symbols, hal. ["BTC","ETH","SOL"]
notification_emailstringEmail address para sa paghahatid ng alert
timezonestringIANA timezone string, hal. America/New_York
PUT — Example Body
{
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}

GET  /watchlist

Kailangan: Trader Pro

Nagbibigay ng snapshot ng katayuan ng kumpirmasyon at pangunahing mga sukatan ng panganib para sa lahat ng simbolo sa iyong naka-configure na watchlist. Nagbibigay ng pangkalahatang-ideya ng maraming asset nang hindi kinakailangang tumawag /confirm nang hiwalay para sa bawat simbolo.

Halimbawang Tugon

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

Real-Time Streaming (Live Swaps)

I-stream ang mga DEX swaps na ≥ $500 na natutuklasan sa real-time mula sa aming sariling mga node ng BSC at Avalanche. Dalawang transport ang available: isang pampublikong Server-Sent Events (SSE) stream para sa libreng/browser client, at isang mababang-latency na WebSocket firehose para sa mga paid tier. Ang mga event ay ini-broadcast sa loob ng ilang segundo pagkatapos maisama sa isang block.

Pampublikong SSE Stream (Libre)

Available para sa: Libre Trader Pro
GET /v1/stream/public-swaps

Hindi kailangan ng authentication. Katutubong EventSource suporta sa lahat ng modernong browser. Naglalabas ang server ng swap mga event at periodic heartbeats upang mapanatiling buhay ang koneksyon.

JavaScript (browser)
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);
});

WebSocket Firehose (Bayad)

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

Authentication (inirerekomenda): huwag ilagay ang iyong pangmatagalang key sa URL — ito ay nai-log ng mga proxy at nai-save sa browser history. Sa halip, i-POST ang iyong key sa /v1/ws/ticket gamit ang ligtas na X-API-Key header, pagkatapos buksan ang socket gamit ang ibinalik na single-use ticket (may bisa ~60s, nagamit nang isang beses). Ang mga server-side client na maaaring mag-set ng headers ay maaaring magpasa ng X-API-Key direkta sa handshake. Ang mga free-tier key ay tumatanggap ng 402 payment_required response. Ang isang hello frame ay ipinadala sa pagkonekta kasama ang iyong tier at ang broadcast threshold.

JavaScript (browser)
// 1. I-exchange ang iyong key para sa isang short-lived ticket (ang key ay nananatili sa header)
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. Buksan ang socket gamit ang single-use ticket
const ws = new WebSocket(`wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=${ticket}`);
ws.onmessage = e => {
  const swap = JSON.parse(e.data);
  if (swap.type === "swap") console.log(swap);
};

WebSocket authentication (mga ticket)

Bakit: huwag ilagay ang iyong API key sa isang WebSocket URL — ang mga query string ay nai-log ng mga proxy, load balancer, at nai-save sa browser history. Sa halip, i-exchange ang iyong key para sa isang short-lived, single-use ticket sa pamamagitan ng normal na authenticated POST, pagkatapos ay kumonekta gamit ang ticket na iyon.

Flow: POST sa /v1/ws/ticket gamit ang iyong X-API-Key header → tumanggap ng { "ticket": "…", "expires_in": 60 }. Pagkatapos buksan wss://api.smartmoneyapi.com/v1/ws/live-swaps?ticket=<ticket>. Ang ticket ay isang beses lang magagamit at mag-e-expire sa loob ng ~60 segundo. Ang mga server-side client na kayang mag-set ng request headers ay maaaring magpasa X-API-Key direkta sa WebSocket handshake — hindi na kailangan ang ticket.

POST /v1/ws/ticket
Kailangan: Trader Pro

Gumagawa ng one-time ticket para sa authenticated WebSocket handshake. Mag-authenticate gamit ang X-API-Key header (hindi umaalis ang iyong key sa request headers). Ang ibinalik na ticket ay maaaring magamit nang isang beses sa /v1/ws/live-swaps bago ito mag-expire.

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

Halimbawang Response

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

Mga Field ng Response

FieldTypeDescription
ticketstringSingle-use token na idaragdag bilang ?ticket= sa WebSocket URL. Magagamit nang isang beses, pagkatapos ay hindi na gagana.
expires_innumberSegundo bago mag-expire ang ticket (~60). Gumawa ng bagong ticket sa bawat pagtatangkang kumonekta.

Paalala: ang lumang ?key= query-param authentication ay hindi na tinatanggap sa WebSocket endpoints para sa mga kadahilanang pangseguridad. Gumamit ng ticket (browser clients) o ang X-API-Key handshake header (server-side clients).

REST Snapshot

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

Nagbabalik ng huling N broadcast swaps mula sa rolling buffer. Kapaki-pakinabang para sa first-paint sa mga dashboard bago magbukas ang stream connection. Available din: /v1/live-swaps/status para sa broadcaster stats.

Event Schema

FieldTypeDescription
chainstringbsc o avalanche
dexstringPangalan ng Router (hal. pancakeswap_v2, traderjoe) o unknown_dex
swapperstringBuong 0x address ng wallet na nag-execute ng swap
swapper_shortstringPinaikling anyo para sa display (hal. 0xb300…028d)
swapper_urlstringDirektang link sa swapper sa block explorer ng chain
tx_hashstringTransaction hash
explorer_urlstringDirektang link sa transaction sa BscScan / Snowtrace
token_instringSymbol ng token na ibinenta (hal. USDT)
token_outstringSymbol ng token na binili
amount_usdnumberUSD value ng swap (minimum: $500)
pairstringFormatted pair label (hal. USDT → USDC)
blocknumberBlock number kung saan na-mine ang swap
timestampnumberUnix epoch seconds
significancestringlow / medium / high / critical batay sa USD size
seqnumberMonotonic broadcast sequence number — gamitin para sa gap detection

POST  /alerts/conditions

Kailangan: Pro

Gumawa ng custom alert rules na mag-trigger kapag ang isang specified metric ay lumampas sa threshold. Ang mga alert ay idedeliver via webhook, email, o sa dashboard notification feed depende sa iyong preferences.

GET /v1/alerts/conditions

Nagbabalik ng listahan ng lahat ng iyong configured alert conditions kasama ang kanilang mga IDs, definitions, at kasalukuyang status.

DELETE /v1/alerts/conditions/{id}

Permanenteng tinatanggal ang isang alert condition gamit ang ID nito.

GET /v1/alerts/history

Nagbabalik ng mga kamakailang alert trigger events kasama ang mga timestamp, matched conditions, at ang metric value sa oras ng trigger.

Create Alert — Request Body

FieldTypeDescription
namerequiredstringHuman-readable na label para sa alert na ito (max 64 na karakter)
metricrequiredstringAng metric na dapat i-monitor. Tingnan ang talahanayan ng available na metrics sa ibaba.
symboloptionalstringKonteksto ng asset. Kailangan para sa mga symbol-scoped na metrics tulad ng funding_rate.
operatorrequiredstringComparison operator: gt, lt, eq, crosses_above, crosses_below
thresholdrequiredfloatNumerikong halaga para ikumpara ang metric
deliveryoptionalstringDelivery channel, hal. telegram (default) o webhook
cooldown_minutesoptionalintegerMinimum na minuto sa pagitan ng re-triggers (default 60)

Ang live na listahan ng valid na metrics at operators ay ibinalik ng GET /v1/alerts/conditions as available_metrics at available_operators.

Available Metrics

MetricDescription
funding_rateKasalukuyang funding rate para sa symbol (bilang decimal)
global_lsrGlobal long/short ratio para sa symbol
long_pctPorsyento ng mga account na net long para sa symbol
top_trader_lsrTop-trader long/short ratio para sa symbol
taker_ratioTaker buy/sell ratio para sa symbol
mvrvMarket Value to Realized Value ratio (BTC/ETH)
soprSpent Output Profit Ratio (BTC/ETH)
exchange_net_flowOn-chain exchange net-flow signal
accumulationOn-chain accumulation signal
whale_long_pctPorsyento ng tracked whale wallets na may long positions para sa symbol
whale_n_walletsBilang ng tracked whale wallets na may posisyon sa symbol
composite_longComposite score para sa symbol na hiniling sa long direction
composite_shortComposite score para sa symbol na hiniling sa short direction
funding_spreadCross-venue funding spread para sa symbol
POST — Example Body
{
"name": "BTC funding rate spike",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}

GET  /kelly

Requires: Pro

Nagbabalik ng Kelly Criterion position sizing recommendations na nakalibrate sa historical signal performance para sa binigay na symbol, confidence level, at direction. Binabase ang position size sa empirical win rates para maiwasan ang over-leveraging.

Parameters

ParameterTypeDescription
symbolrequiredstringAsset symbol: BTC, ETH, o SOL
confidenceoptionalstringSignal confidence level na imo-model: HIGH, MEDIUM, o LOW. Default: HIGH
directionoptionalstringTrade direction: long o short. Default: long
account_sizeoptionalfloatLaki ng account sa USD para sa pagkalkula ng suggested_size_usd. Default: 10000

Example Response

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 recommended for live trading to account for estimation error."
}
Kailangan ang Pro plan. Ang mga kalkulasyon ay batay sa rolling na 90-araw na sample ng mga makasaysayang signal na tumutugma sa hiniling na simbolo, kumpiyansa, at mga parameter ng direksyon.

GET  /performance

Available to: Free Trader Pro

Nagbabalik ng makasaysayang estadistika ng kawastuhan para sa mga signal na inisyu ng API, na nahahati ayon sa antas ng kumpiyansa. Kapaki-pakinabang para maunawaan ang pagiging maaasahan ng signal bago maglaan ng kapital.

Parameters

ParameterTypeDescription
symboloptionalstringSalain ayon sa asset. Huwag isama para sa pinagsama-samang estadistika sa lahat ng simbolo.
daysoptionalintegerLook-back window sa mga araw. Default: 30

Example Response

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 }
}
}

Stats & Signals

GET  /v1/stats

Available to: Free Trader Pro Hindi kailangan ang pagpapatotoo

Mga estadistika ng tapat na pagganap sa buong site na nagmula sa smart_money_confirm mga resulta ng natatanging-tawag. Nagbabalik ng mga win rate sa HIGH at MEDIUM na antas ng kumpiyansa, pangkalahatang kawastuhan, profit factor, at isang breakdown bawat simbolo. Ang lahat ng mga numero ay in-sample sa loob ng scoring window; sumangguni sa calibration.html para sa konteksto at metodolohiya ng forward-holdout.

Example Response

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: magkakahiwalay na kumpirmasyon ng tawag, 24h na nalutas na mga resulta,
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,
mataas_na_win_rate: 0.70,
mataas_na_n: 10,
naiiba_sa_insample: False
}
}
Babala sa in-sample. Ang lahat ng numero sa responseng ito ay kinakalkula mula sa parehong panahon na ginamit para i-tune ang scorer. Ang forward_holdout object ay ang tanging numero na naipon sa datos na hindi pa nakikita ng scorer — panoorin itong lumaki sa paglipas ng panahon. Tingnan ang calibration.html para sa buong metodolohiya at ang hangganan ng in-sample / forward-test.

GET  /v1/signals/performance

Available to: Free Trader Pro Hindi kailangan ng authentication

Pagsubaybay sa resulta ng signal sa maraming resolution horizon (4h, 12h, 24h, 72h). Nagbabalik ng hit rates bawat horizon, kabuuang bilang ng signal, at breakdown ayon sa uri ng signal.

Parameters

ParameterTypeDescription
daysoptionalintegerLook-back window sa days. Default: 30
signal_typeoptionalstringI-filter ayon sa uri, hal. smart_money_confirm or regime_flip. Huwag isama para sa lahat ng uri.
symboloptionalstringI-filter ayon sa asset symbol, hal. BTC. Huwag isama para sa aggregate sa lahat ng symbol.

Example Response

JSON
{
signal_type: smart_money_confirm,
symbol: BTC,
days: 30,
total_signals: 48,
horizons: {
4h: { hit_rate: 0.65, resolved: 46 },
12h: { hit_rate: 0.61, resolved: 44 },
24h: { hit_rate: 0.58, resolved: 40 },
72h: { hit_rate: 0.54, resolved: 32 }
},
type_breakdown: {
smart_money_confirm: { count: 35, hit_rate_24h: 0.61 },
regime_flip: { count: 13, hit_rate_24h: 0.47 }
}
}

GET  /v1/signals/recent

Available to: Free Trader Pro No authentication required

Feed ng mga kamakailang inilathalang HIGH at MEDIUM na signal sa lahat ng sinusubaybayang simbolo. Ang bawat entry ay kasama ang uri ng signal, tier ng kumpiyansa, direksyon, at status ng resolusyon kung available.

Example Response

JSON
{
signals: [
{
id: 1042,
symbol: BTC,
direction: long,
signal_type: smart_money_confirm,
confidence: HIGH,
composite: 0.74,
ts: 1710940821,
resolved: true,
outcome_24h: win
}
],
count: 50
}

GET  /v1/signals/{id}/outcome

Available to: Free Trader Pro No authentication required

Resolved na resulta para sa isang signal gamit ang numeric ID nito. Nagbabalik ng hit/miss sa bawat resolution horizon (4h, 12h, 24h, 72h) kasama ang presyo sa oras ng signal at sa resolusyon.

Parameters

ParameterTypeDescription
idrequiredintegerSignal ID (path segment), hal. /v1/signals/1042/outcome

Example Response

JSON
{
id: 1042,
symbol: BTC,
direction: long,
confidence: HIGH,
entry_price: 63200.0,
ts: 1710940821,
outcomes: {
4h: { result: win, price: 64100.0, pct: 1.41 },
12h: { result: win, price: 65200.0, pct: 3.16 },
24h: { result: win, price: 65800.0, pct: 4.11 },
72h: { result: pending, price: null, pct: null }
}
}

GET  /v1/confirm-winrate

Requires: Free Trader Pro

Confirm-signal win-rate breakdown para sa sariling API key ng authenticated user. Nagbabalik ng distinct-call win rates sa bawat confidence tier, profit factor, at per-symbol figures. Nangangailangan ng valid X-API-Key header.

Example Request

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

Example Response

JSON
{
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
medium_n: 34,
overall_accuracy: 0.613,
overall_n: 48,
profit_factor: 1.77,
winrate_horizon: 24h,
by_symbol: {
BTC: { win_rate: 0.68, n: 22 },
ETH: { win_rate: 0.55, n: 18 }
}
}
Batay sa natatanging tawag. Ang win rates ay kinakalkula sa bawat natatanging confirm call (isa bawat simbolo sa bawat 5-minutong window), hindi sa bawat API hit — ito ay pumipigil sa N-inflation mula sa mga bot na paulit-ulit na nagpo-poll. Ang mga numero ay in-sample sa default na 30-day window; ang parehong babala tulad ng /v1/stats ay nalalapat.

Shadow Gate

Kailangan: Libre Trader Pro

Isang hindi nababago, append-only na personal na ledger ng desisyon. Isumite ang iyong mga desisyon sa trade bago o pagkatapos itong isagawa; kinakalkula ng sistema ang confirm score laban sa Smart Money engine at nagdadagdag ng permanenteng row. Gamitin ito para bumuo ng isang matapat, timestamped na track record kung gaano kahusay ang signal ng API na nakahanay sa iyong mga entry — ganap na hiwalay sa global win-rate pool. Ang mga sagot sa Free at Trader tier ay may mga evidence field na tinanggal; ang Pro ay nagbabalik ng buong breakdown. May tier delay na nalalapat sa Free tier data.

POST /v1/shadow-gate/decisions

Magsumite ng desisyon. Idempotent sa Idempotency-Key request header — ang muling pagsusumite ng parehong key ay nagbabalik sa umiiral na row nang walang paggawa ng duplicate. Agad na tinatawag ng sistema ang confirm engine at idinadagdag ang resulta bilang isang hindi nababagong ledger row.

Request Body

FieldTypeDescription
symbolrequiredstringAsset symbol, e.g. BTC
siderequiredstringDireksyon ng trade: long or short
strategy_idoptionalstringCaller-defined strategy label (max 64 chars). Naka-imbak bilang-is para sa pag-grupo at pag-filter.

Example Request

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"

Example Response

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
}
Tala sa tier. Ang mga sagot sa Free at Trader ay hindi kasama ang factors / adjustments evidence fields. Ang Pro ay nagbabalik ng buong confirm breakdown. May tier delay na nalalapat sa Free — ang row ay naisusulat agad ngunit ang confirm score ay maaaring sumalamin sa cached data na hanggang 60 segundo ang tanda.
GET /v1/shadow-gate/decisions

Ilista ang iyong sariling mga desisyon sa shadow-gate, pinakabago muna. Owner-scoped — tanging mga desisyon na isinumite ng iyong API key ang ibabalik.

Parameters

ParameterTypeDescription
limitoptionalintegerMaximum rows to return. Default: 50, max: 200
cursoroptionalstringOpaque pagination cursor mula sa next_cursor field ng naunang sagot. Huwag isama para sa unang pahina.

Example Response

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": short, desisyon: SKIP, kumpiyansa: LOW, composite: -0.12, size_mult: 0.0, ts: 1710937000, resolved: True }
],
count: 2,
next_cursor: None
}
GET /v1/shadow-gate/decisions/{id}

Single decision by ID, kasama ang buong confirm evidence para sa Pro tier. Ang mga sagot ng Free at Trader tier ay factors at adjustments stripped. Nagbabalik 403 kung ang desisyon ay pagmamay-ari ng ibang API key.

Halimbawang Tugon (Pro)

JSON
{
id: 318,
symbol: BTC,
side: long,
strategy_id: ema_crossover,
desisyon: CONFIRM,
kumpiyansa: 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

Manwal na i-resolve ang resulta ng desisyon. Tawagan ito pagkatapos isara ang trade para maitala ang huling resulta laban sa ledger row. Kapag na-resolve na, ang row ay hindi na mababago at hindi na maaaring baguhin muli.

Request Body

FieldTypeDescription
outcomerequiredstringTrade outcome: win o loss
exit_priceoptionalfloatExit price para sa trade. Iniimbak para sa reference; ginagamit para kalkulahin ang P&L % kung ibinigay.
pnl_pctoptionalfloatRealized P&L bilang porsyento ng laki ng posisyon, hal. 3.5 o -1.2

Halimbawang Tugon

JSON
{
id: 318,
resolved: True,
outcome: win,
exit_price: 65800.0,
pnl_pct: 4.1,
resolved_at: 1711027200
}
Immutability. Ang ledger row ay append-only. Kapag naipasa na ang desisyon, hindi na ito maaaring tanggalin, at kapag na-resolve na, hindi na ito maaaring i-resolve muli. Tinitiyak nito na ang track record na binubuo mo ay totoo at hindi maaaring baguhin.

Error Codes

StatusCodeDescription
400invalid_paramsNawawala o hindi wastong query parameters
401unauthorizedNawawala o hindi wastong API key
403plan_restrictionEndpoint hindi available sa iyong kasalukuyang plan
429rate_limit_exceededNaabot na ang daily o burst limit
500internal_errorServer error — suriin ang /health para sa status ng source
503data_staleHindi available ang data source; ibinalik kasama ang huling kilalang data

Code Examples

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

# Sa iyong trading loop:
signal = confirm_trade("BTC", "long")
if signal["confidence"] not in ["HIGH", "MEDIUM"]:
print("Laktawan — hindi sapat ang kumpiyansa")
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 (!res.ok) throw new Error(`API error: ${res.status}`);
return res..json();
}

// Paggamit
confirmTrade('BTC', 'long')..then(data => {
console.log(data.confidence, data.size_mult);
});

cURL

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

# Kumuha ng whale data
curl -X GET \
-H "X-API-Key: sm_your_key" \
"https://api.smartmoneyapi.com/v1/whales?symbol=BTC"

# Suriin ang usage
curl -X GET \
-H X-API-Key: sm_your_key \
https://api.smartmoneyapi.com/v1/usage

Integrasyon ng Freqtrade

Idagdag ang kumpirmasyon ng Smart Money sa anumang stratehiya ng Freqtrade sa pamamagitan ng pag-override sa confirm_trade_entry method.

Python — Stratehiya ng 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 # Laktawan ang pagsuri para sa hindi suportado
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 # Mag-fail open sa API error

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):
# Suriin muna ang kumpirmasyon
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"Laktawan ang {symbol} {side} — hindi sapat ang kumpiyansa.")
return None

adj_amount = amount * conf["size_mult"]
order = exchange.create_market_order(
f"{symbol}/USDT", side, adj_amount
)
print(f"Naipasok ang order: {adj_amount} {symbol} {side}")
return order
Kailangan ng tulong?

Tingnan ang pahina ng katayuan ng API para sa real-time na impormasyon sa kalusugan, o gamitin ang aming contact form.