API.
Read-only JSON. No key, no auth. VORTEX Methodology v1.1 · effective 2026-08-27.
Endpoints
Current cached snapshot: score, bands, per-metric raw / state / venue / as_of.
Pipeline status, per-metric state and the 20 newest provider failures.
Daily snapshots (1–365 days): date, score, components, price.
Legacy paths /api/public/vortex/score and /api/public/vortex/health remain as aliases for 90 days. There is no public refresh parameter — recompute is scheduler-only.
Quick start
curl -s https://vortex-bias-radar.lovable.app/api/public/v1/vortex/score | jq .vortex curl -s "https://vortex-bias-radar.lovable.app/api/public/v1/vortex/history?days=30" | jq '.points[-1]' curl -si https://vortex-bias-radar.lovable.app/api/public/v1/vortex/health | grep -i x-ratelimit
Example (shape of the current snapshot)
{
"methodology_version": "v1.1",
"vortex": -10.98,
"band": "Neutral",
"status": "partial",
"weights_renormalized": true,
"computed_at": "2026-09-10T22:22:04.658Z",
"data_as_of": "2026-09-10",
"price": 77173.27,
"price_venue": "Coinbase",
"price_kind": "daily close",
"metrics": {
"etf_flow": {
"raw": null,
"score": 0,
"state": "stale",
"stale": true,
"source_venue": null,
"as_of": null,
"data_date": null
}
},
"cache_max_age_sec": 129600
}Rate limits & caching
- 60 requests per minute per IP. Over the limit returns 429 with
Retry-After. - Responses carry
Cache-Control: public, max-age=60, s-maxage=300. The underlying value only changes once per 01:00 UTC cycle — polling faster than every 5 minutes gains nothing. - CORS:
GETallowed from any origin on score, health and history only. computed_atanddata_as_ofare identical across score, health, dashboard and embed.
Response fields worth knowing
methodology_version— revision that produced the print.source_venue/as_of— per metric, the venue that actually served the value.state—fresh,lagging(settled print on a publication lag) orstale.weights_renormalized— true when stale sleeves were dropped and remaining weights rescaled to 1.0.stale_policy,cache_max_age_sec— machine-readable policy.
A metric is stale when its fetch fails and no cached value younger than 36h exists. ETF flows are settled-only: the latest fully settled Farside session stays live (state 'lagging') while its session date is within 5 calendar days, so weekends and holidays never mark it stale. 1-2 stale metrics: score published with remaining weights renormalized to 1.0. 3+ stale metrics, or funding and ETF both stale: headline score suppressed, table retained. Stale metrics are omitted from the weighted sum - never scored as 0.
Terms of use
v1 is best-effort with no SLA. VORTEX is a directional bias score, not a trading signal — do not wire it into trading automation. See the disclaimer.