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.
https://api.smartmoneyapi.com/v1Mga 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.
| Resource | Ano ito |
|---|---|
| Cookbook | Mga 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 spec | Machine-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 client | Opisyal na Python client library sa github.com/tashiardit/smartmoneyapi-python. |
| /llms.txt | Isang 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:
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:
Inaasahang response:
"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.
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.
/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.
Request Body
| Field | Type | Description |
|---|---|---|
| id_tokenrequired | string | Firebase ID token na nakuha pagkatapos ng Google sign-in sa client |
Example Response
"api_key": "sm_your_linked_key",
"uid": "firebase_uid_abc123",
"email": "[email protected]",
"plan": "trader",
"synced": true
}
Rate Limits
| Plan | Calls/Day | Burst Limit | Data Delay |
|---|---|---|---|
| Free | 50 | 2/min | 60 seconds |
| Trader | 1,000 | 20/min | Real-time |
| Pro | 5,000 | 60/min | Real-time |
| Enterprise | 100,000 | 400/min | Real-time |
Kasama ang mga rate limit header sa bawat tugon: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Base URL
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:
| Status | Code | Kahulugan at kung ano ang dapat gawin |
|---|---|---|
| 401 | unauthorized | Nawawala o hindi wastong API key. Suriin na X-API-Key ang header ay naroroon at tama. |
| 402 | payment_required | Ang 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. |
| 429 | rate_limit_exceeded | Naabot 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:
"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:
| Resource | URL |
|---|---|
| LLM summary | https://smartmoneyapi.com/llms.txt |
| OpenAPI spec | github.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:
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
| Parameter | Type | Description |
|---|---|---|
| symbolrequired | string | Asset symbol. Isa sa: BTC, ETH, SOL (Trader+) |
| directionrequired | string | Trade direction: long o short |
| sourceoptional | string | Label para sa iyong signal source (na-log para sa analytics). Max 32 chars. |
Example Request
"https://api.smartmoneyapi.com/v1/confirm?symbol=BTC&direction=long"
Example Response
"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
| Field | Type | Description |
|---|---|---|
| ts | integer | Unix timestamp ng pagkalkula |
| symbol | string | Asset symbol (BTC/ETH/SOL) |
| direction | string | Requested direction (long/short) |
| composite | float | Composite confluence score mula -1.0 (extreme contra) hanggang +1.0 (strong confirm). Hindi ito win-rate. |
| base_composite | float | Composite bago ang post-filter adjustments ay inilapat |
| confidence | string | HIGH / MEDIUM / LOW / VETO / NO_DATA |
| action | string | CONFIRM_FULL / CONFIRM_REDUCED / CONFIRM_MINIMAL / VETO_SKIP / NO_DATA_SKIP |
| size_mult | float | Suggested position size multiplier (e.g. 0.0 – 1.5) |
| unsupported | bool | true kapag ang simbolo ay nasa labas ng coverage (paired with NO_DATA) |
| deriv_score | float | Derivatives sub-score (-1 to 1) |
| onchain_score | float | On-chain sub-score (-1 to 1) |
| whale_score | float | Whale consensus sub-score (-1 to 1) |
| x_score | float | X/social-sentiment sub-score (-1 to 1); 0 kapag hindi ginamit |
| factors | object | Per-leg breakdown: score × weight = weighted para sa derivatives / onchain / whale / x_sentiment (onchain includes source) |
| adjustments | object | Signed post-filter tweaks (agreement, trend, rsi_1h, news_macro, momentum, time_of_day, streak_decay) |
| weights | object | Weight set na aktwal na ginamit para sa evaluation na ito |
| coverage | object | {derivatives, whale, onchain} — kung aling mga leg ang may real data |
| reasons | array | Human-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.
GET /onchain
Nagbabalik ng raw on-chain metrics: MVRV, SOPR, exchange net flow, realized cap ratio, at cycle position classification.
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.
GET /signals
Nagbabalik ng stream ng pinakabagong HIGH/MEDIUM signals sa lahat ng mino-monitor na assets. Kapaki-pakinabang para sa opportunity scanning.
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:[…]}) ngsymbol,direction,entry_price,exit_price,pnl_usdt,pnl_percent,pnl_percent_net.GET /v1/strategies/active?account=9— currently open positions: array (o{positions:[…]}) ngsymbol,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).
GET /health
System health check. Nagbabalik ng data freshness para sa bawat source at overall API status. Walang authentication na kailangan.
"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
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
| Field | Type | Description |
|---|---|---|
| urlrequired | string | HTTPS endpoint para POST events (dapat nagsisimula sa https://) |
| eventsrequired | array | Event names, hal. ["HIGH","MEDIUM","VETO"] o ["*"] |
| symbolsrequired | array | Symbols para i-filter, hal. ["BTC","ETH"] o ["*"] |
| secretrequired | string | Iyong 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
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
| Parameter | Uri | Deskripsyon |
|---|---|---|
| symbolkailangan | string | Asset symbol: BTC, ETH, o SOL |
Halimbawang Tugon
"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"
}
GET /liquidations
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
| Parameter | Uri | Deskripsyon |
|---|---|---|
| symbolopsyonal | string | Asset symbol (default BTC). Ang real heatmap ay sumasaklaw sa aktibong-traded perp symbols. |
Halimbawang Tugon
"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 }
}
}
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
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
| Parameter | Type | Description |
|---|---|---|
| symboloptional | string | Asset symbol (default BTC). |
| window_minutesoptional | int | Look-back window in minutes (default 240, clamped to 5–1440). |
| price_bucketsoptional | int | Number of price buckets (default 50, clamped to 5–100). |
Example Response
"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 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
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
| Parameter | Type | Description |
|---|---|---|
| chainoptional | string | bsc or avax. Omit for all chains. |
| limitoptional | integer | Max rows (default 100, max 500). Newest-first. |
Example Response
"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
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
| Parameter | Uri | Paglalarawan |
|---|---|---|
| symbolkailangan | string | Simbolo ng asset: BTC, ETH, o SOL |
| directionkailangan | string | Direksyon ng posisyon: long o short |
| entry_priceopsyonal | float | Iyong entry price. Default sa kasalukuyang presyo ng merkado kung hindi nakalista. |
| risk_pctopsyonal | float | Pinakamataas na katanggap-tanggap na risk bilang % ng account. Default: 2.0 |
Halimbawang Tugon
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 }
]
}
recommended stop lamang. Plano ng Pro: Lahat ng tatlong tier ng stop, avoid_zones, at buong mga mungkahi sa take-profit.GET /funding-arb
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
| Parameter | Uri | Paglalarawan |
|---|---|---|
| min_spreadopsyonal | float | Minimum na spread ng funding rate na isasama (bilang decimal). Default: 0.01 |
| symbolopsyonal | string | Salain sa isang partikular na asset. Huwag isama para i-scan ang lahat ng suportadong asset. |
Halimbawang Tugon
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
}
]
}
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.
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
}
"GET" "/smart-money/flow"
"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"
""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.""
}
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"
"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"
"Example Response"
""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. ]
}
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
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
| Parameter | Type | Description |
|---|---|---|
| symboloptional | string | BTC o ETH lamang. Default: BTC. |
Example Request
Example Response
"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 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
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
| Parameter | Uri | Paglalarawan |
|---|---|---|
| symbolopsyonal | string | Asset symbol. Default: BTC. |
| move_pctopsyonal | float | Hypothetical na paggalaw ng presyo bilang porsyento (negative = pababa, positive = pataas). Default: -5. |
Halimbawang Kahilingan
Halimbawang Tugon
"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." }
}
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
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
| Parameter | Uri | Paglalarawan |
|---|---|---|
| addrkinakailangan | string | Wallet address (path segment), hal. /v1/wallet/0x3bcae23e…/profile. |
| daysopsyonal | integer | Look-back window para sa series & timeline. Default: 30. |
Halimbawang Kahilingan
Halimbawang Tugon
"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.
}
}
}
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
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
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
]
}
GET /whale-events
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
| Parameter | Uri | Paglalarawan |
|---|---|---|
| symbolopsyonal | string | I-filter ayon sa asset. Huwag isama para sa lahat ng sinusubaybayang asset. |
| significanceopsyonal | string | I-filter ayon sa kahalagahan ng event: high, medium, o all. Default: all |
| hoursopsyonal | integer | Look-back window sa oras. Default: 24 |
Halimbawang Tugon
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
}
]
}
summary object lamang. Pro Plan: Buong events feed na may mga identifier ng wallet, laki, at timestamp.GET /regimes/history
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
| Parameter | Uri | Deskripsyon |
|---|---|---|
| symbolopsyonal | string | Simbolo ng Asset. Default: BTC |
| regimeopsyonal | string | Salain sa isang partikular na uri ng rehimen, hal. late_cycle_divergence. Huwag isama para sa lahat ng rehimen. |
| daysopsyonal | integer | Look-back window sa araw. Default: 30. Maximum: 365 |
Halimbawang Tugon
"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 upang patunayan ang mga palagay ng estratehiya laban sa makasaysayang data ng pagganap ng rehimen.GET /exchange-health
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
"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
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
| Parameter | Uri | Deskripsyon |
|---|---|---|
| symbolopsyonal | string | Asset symbol. Default: BTC |
Halimbawang Tugon
"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
}
Mga Integrasyon
GET /tradingview/setup
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
"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
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
"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
Ibinabalik ang iyong kasalukuyang mga setting ng personalisasyon kabilang ang default na trade parameters, risk profile, watchlist, at notification 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
| Field | Type | Description |
|---|---|---|
| default_trade_size_usd | float | Default na laki ng posisyon sa USD para sa Kelly at smart-stop calculations |
| risk_tolerance | string | conservative, moderate, o aggressive |
| default_risk_pct | float | Default na risk per trade bilang % ng account. Ginagamit ng /smart-stop kapag risk_pct ay hindi kasama |
| watchlist | array | Ordered list ng mga asset symbols, hal. ["BTC","ETH","SOL"] |
| notification_email | string | Email address para sa paghahatid ng alert |
| timezone | string | IANA timezone string, hal. America/New_York |
"default_trade_size_usd": 5000,
"risk_tolerance": "moderate",
"default_risk_pct": 1.5,
"watchlist": ["BTC", "ETH", "SOL"]
}
GET /watchlist
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
"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)
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.
es.addEventListener("swap", e => {
const swap = JSON.parse(e.data);
console.log(swap.chain, swap.pair, swap.amount_usd);
});
WebSocket Firehose (Bayad)
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.
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.
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.
"https://api.smartmoneyapi.com/v1/ws/ticket"
Halimbawang Response
"ticket": "wst_9f3c1a8e4b2d…",
"expires_in": 60
}
Mga Field ng Response
| Field | Type | Description |
|---|---|---|
| ticket | string | Single-use token na idaragdag bilang ?ticket= sa WebSocket URL. Magagamit nang isang beses, pagkatapos ay hindi na gagana. |
| expires_in | number | Segundo 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
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
| Field | Type | Description |
|---|---|---|
| chain | string | bsc o avalanche |
| dex | string | Pangalan ng Router (hal. pancakeswap_v2, traderjoe) o unknown_dex |
| swapper | string | Buong 0x address ng wallet na nag-execute ng swap |
| swapper_short | string | Pinaikling anyo para sa display (hal. 0xb300…028d) |
| swapper_url | string | Direktang link sa swapper sa block explorer ng chain |
| tx_hash | string | Transaction hash |
| explorer_url | string | Direktang link sa transaction sa BscScan / Snowtrace |
| token_in | string | Symbol ng token na ibinenta (hal. USDT) |
| token_out | string | Symbol ng token na binili |
| amount_usd | number | USD value ng swap (minimum: $500) |
| pair | string | Formatted pair label (hal. USDT → USDC) |
| block | number | Block number kung saan na-mine ang swap |
| timestamp | number | Unix epoch seconds |
| significance | string | low / medium / high / critical batay sa USD size |
| seq | number | Monotonic broadcast sequence number — gamitin para sa gap detection |
POST /alerts/conditions
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.
Nagbabalik ng listahan ng lahat ng iyong configured alert conditions kasama ang kanilang mga IDs, definitions, at kasalukuyang status.
Permanenteng tinatanggal ang isang alert condition gamit ang ID nito.
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
| Field | Type | Description |
|---|---|---|
| namerequired | string | Human-readable na label para sa alert na ito (max 64 na karakter) |
| metricrequired | string | Ang metric na dapat i-monitor. Tingnan ang talahanayan ng available na metrics sa ibaba. |
| symboloptional | string | Konteksto ng asset. Kailangan para sa mga symbol-scoped na metrics tulad ng funding_rate. |
| operatorrequired | string | Comparison operator: gt, lt, eq, crosses_above, crosses_below |
| thresholdrequired | float | Numerikong halaga para ikumpara ang metric |
| deliveryoptional | string | Delivery channel, hal. telegram (default) o webhook |
| cooldown_minutesoptional | integer | Minimum 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
| Metric | Description |
|---|---|
| funding_rate | Kasalukuyang funding rate para sa symbol (bilang decimal) |
| global_lsr | Global long/short ratio para sa symbol |
| long_pct | Porsyento ng mga account na net long para sa symbol |
| top_trader_lsr | Top-trader long/short ratio para sa symbol |
| taker_ratio | Taker buy/sell ratio para sa symbol |
| mvrv | Market Value to Realized Value ratio (BTC/ETH) |
| sopr | Spent Output Profit Ratio (BTC/ETH) |
| exchange_net_flow | On-chain exchange net-flow signal |
| accumulation | On-chain accumulation signal |
| whale_long_pct | Porsyento ng tracked whale wallets na may long positions para sa symbol |
| whale_n_wallets | Bilang ng tracked whale wallets na may posisyon sa symbol |
| composite_long | Composite score para sa symbol na hiniling sa long direction |
| composite_short | Composite score para sa symbol na hiniling sa short direction |
| funding_spread | Cross-venue funding spread para sa symbol |
"name": "BTC funding rate spike",
"metric": "funding_rate",
"symbol": "BTC",
"operator": "gt",
"threshold": 0.05
}
GET /kelly
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
| Parameter | Type | Description |
|---|---|---|
| symbolrequired | string | Asset symbol: BTC, ETH, o SOL |
| confidenceoptional | string | Signal confidence level na imo-model: HIGH, MEDIUM, o LOW. Default: HIGH |
| directionoptional | string | Trade direction: long o short. Default: long |
| account_sizeoptional | float | Laki ng account sa USD para sa pagkalkula ng suggested_size_usd. Default: 10000 |
Example Response
"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."
}
GET /performance
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
| Parameter | Type | Description |
|---|---|---|
| symboloptional | string | Salain ayon sa asset. Huwag isama para sa pinagsama-samang estadistika sa lahat ng simbolo. |
| daysoptional | integer | Look-back window sa mga araw. Default: 30 |
Example Response
"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
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
"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
}
}
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
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
| Parameter | Type | Description |
|---|---|---|
| daysoptional | integer | Look-back window sa days. Default: 30 |
| signal_typeoptional | string | I-filter ayon sa uri, hal. smart_money_confirm or regime_flip. Huwag isama para sa lahat ng uri. |
| symboloptional | string | I-filter ayon sa asset symbol, hal. BTC. Huwag isama para sa aggregate sa lahat ng symbol. |
Example Response
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
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
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
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
| Parameter | Type | Description |
|---|---|---|
| idrequired | integer | Signal ID (path segment), hal. /v1/signals/1042/outcome |
Example Response
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
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
"https://api.smartmoneyapi.com/v1/confirm-winrate"
Example Response
high_winrate: 0.714,
high_n: 14,
medium_winrate: 0.530,
medium_n: 34,
overall_accuracy: 0.613,
overall_n: 48,
profit_factor: 1.77,
winrate_horizon: 24h,
by_symbol: {
BTC: { win_rate: 0.68, n: 22 },
ETH: { win_rate: 0.55, n: 18 }
}
}
Shadow Gate
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.
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
| Field | Type | Description |
|---|---|---|
| symbolrequired | string | Asset symbol, e.g. BTC |
| siderequired | string | Direksyon ng trade: long or short |
| strategy_idoptional | string | Caller-defined strategy label (max 64 chars). Naka-imbak bilang-is para sa pag-grupo at pag-filter. |
Example Request
-H "X-API-Key: sm_your_key" \
-H "Idempotency-Key: my-signal-20260701-001" \
-H "Content-Type: application/json" \
-d '{"symbol":"BTC","side":"long","strategy_id":"ema_crossover"}' \
"https://api.smartmoneyapi.com/v1/shadow-gate/decisions"
Example Response
"id": 318,
"symbol": "BTC",
"side": "long",
"strategy_id": "ema_crossover",
"decision": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"ts": 1710940821,
"resolved": false
}
factors / adjustments 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.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
| Parameter | Type | Description |
|---|---|---|
| limitoptional | integer | Maximum rows to return. Default: 50, max: 200 |
| cursoroptional | string | Opaque pagination cursor mula sa next_cursor field ng naunang sagot. Huwag isama para sa unang pahina. |
Example Response
"decisions": [
{ "id": 318, "symbol": "BTC", "side": "long", "decision": "CONFIRM", "confidence": "HIGH", "composite": 0.74, "size_mult": 1.5, "ts": 1710940821, "resolved": false },
{ "id": 317, "symbol": "ETH", "side": short, desisyon: SKIP, kumpiyansa: LOW, composite: -0.12, size_mult: 0.0, ts: 1710937000, resolved: True }
],
count: 2,
next_cursor: None
}
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)
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
}
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
| Field | Type | Description |
|---|---|---|
| outcomerequired | string | Trade outcome: win o loss |
| exit_priceoptional | float | Exit price para sa trade. Iniimbak para sa reference; ginagamit para kalkulahin ang P&L % kung ibinigay. |
| pnl_pctoptional | float | Realized P&L bilang porsyento ng laki ng posisyon, hal. 3.5 o -1.2 |
Halimbawang Tugon
id: 318,
resolved: True,
outcome: win,
exit_price: 65800.0,
pnl_pct: 4.1,
resolved_at: 1711027200
}
Error Codes
| Status | Code | Description |
|---|---|---|
| 400 | invalid_params | Nawawala o hindi wastong query parameters |
| 401 | unauthorized | Nawawala o hindi wastong API key |
| 403 | plan_restriction | Endpoint hindi available sa iyong kasalukuyang plan |
| 429 | rate_limit_exceeded | Naabot na ang daily o burst limit |
| 500 | internal_error | Server error — suriin ang /health para sa status ng source |
| 503 | data_stale | Hindi available ang data source; ibinalik kasama ang huling kilalang data |
Code Examples
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()
# 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
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
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.
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
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
Tingnan ang pahina ng katayuan ng API para sa real-time na impormasyon sa kalusugan, o gamitin ang aming contact form.