---
title: "Get Quant Coin"
method: GET
path: "/api/v1/quant/coins/{symbol}"
tags: ["Quant"]
---

# Get Quant Coin

`GET /api/v1/quant/coins/{symbol}`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/quant/coins/{symbol}`
- Auth: API key in header `X-API-Key`

Full per-coin probability object with explain block (Pro).

Everything /quant/market provides, conditioned on the whole-market regime
(the coin's transition matrix is the market-posterior-weighted mixture —
inspect `explain.transition_mixture_weights`). `recent_regimes` carries the
last ~48 inference rows for sparkline rendering. Coins with under 60 days
of history return the object flagged `insufficient_history` rather than 404.

## Path parameters

- `symbol` string, required

## Query parameters

- `horizon` '4h' | '24h'

## Response `200`

Successful Response

- QuantCoinDetailResponse
  - `scope` string, required
  - `symbol` string, nullable
  - `timestamp` string, required
  - `horizon` string, required
  - `regime` QuantRegimeState
    - `label` string, required: Regime label, e.g. strong_trend_bull
    - `name` string, required: Display name, e.g. Strong Trend (Bull)
    - `id` integer, required
    - `confidence` number, required: Calibrated confidence, degraded by staleness/history
    - `confidence_raw` number, required: Raw max label posterior, pre-calibration
    - `label_raw` string, required: Argmax label before hysteresis (headline label may lag)
    - `candles_in_regime` integer, required
    - `in_regime_since` string, nullable: ISO open time of the first closed 1h bar of the current label run (= last bar − (candles_in_regime − 1) h). Null while warming.
    - `pending` object, nullable: Hysteresis challenger streak {label, count, needed}; null when no challenger is accumulating bars
    - `hysteresis` object, nullable: Switch rule constants {margin, bars, override, incumbent_floor, min_dwell_bars=0} — there is no minimum dwell
  - `current` QuantRegimeState
    - `label` string, required: Regime label, e.g. strong_trend_bull
    - `name` string, required: Display name, e.g. Strong Trend (Bull)
    - `id` integer, required
    - `confidence` number, required: Calibrated confidence, degraded by staleness/history
    - `confidence_raw` number, required: Raw max label posterior, pre-calibration
    - `label_raw` string, required: Argmax label before hysteresis (headline label may lag)
    - `candles_in_regime` integer, required
    - `in_regime_since` string, nullable: ISO open time of the first closed 1h bar of the current label run (= last bar − (candles_in_regime − 1) h). Null while warming.
    - `pending` object, nullable: Hysteresis challenger streak {label, count, needed}; null when no challenger is accumulating bars
    - `hysteresis` object, nullable: Switch rule constants {margin, bars, override, incumbent_floor, min_dwell_bars=0} — there is no minimum dwell
  - `probabilities` object, nullable
  - `tomorrow` object, nullable: Seeded Monte Carlo tomorrow stats (24h horizon only)
  - `meta` QuantMeta, required
    - `model_version` string, required
    - `model_family` string, required
    - `last_retrain` string, required
    - `data_staleness_ms` integer, nullable
    - `feature_coverage` number, nullable
    - `insufficient_history` boolean
    - `status` string, required: ok | degraded | warming_up
    - `backfilled` boolean
  - `explain` object, nullable: Feature z-scores, posteriors, hysteresis state, calibration — every adjustment inspectable
  - `recent_regimes` object[]: Recent inference rows {timestamp, regime_id, regime_label, confidence} for sparkline rendering (newest last)

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
