For the complete documentation index, see llms.txt. This page is also available as Markdown.

REST API

REST API for real-time and historical market forecasts (liquidation risk, LP ranges, volatility, option pricing, price distributions) and prediction market comparisons against Polymarket and Limitless.

Content

Authentication

Insights Endpoints

Polymarket Insights

Limitless Insights

Leaderboard Endpoints

Meta-Leaderboard Endpoints

Authentication

Insights endpoints require an API key in the Authorization header:

Authorization: Apikey MY_API_KEY

Credits are consumed per request. Requests are rate-limited. Read here how to get your API key.

Leaderboard and meta-leaderboard endpoints are public (no authentication required), but are rate-limited.

Insights Endpoints

Common input parameters

All /insights/* endpoints accept the same three query parameters:

Parameter
Type
Required
Description

asset

string

No

Asset symbol to query. If omitted, defaults to BTC. See each endpoint for the supported assets list. Note: SPY, NVDA, GOOGL, TSLA, AAPL are silently remapped to their cross-listed variants (SPYX, NVDAX, GOOGLX, TSLAX, AAPLX).

horizon

string

No

Forecast time window. "1h" for next-hour, "24h" for next-day. Each endpoint documents its default.

start_time

string

No

ISO 8601 timestamp (e.g. 2024-01-02T15:04:05Z). If provided, returns historical data from that point in time. If omitted, returns the latest available data.

GET /insights/liquidation

Provides the probability of long and short position liquidations at various price levels over 6, 12, 18, and 24 hour windows. Useful for assessing leverage risk, setting stop-loss levels, and managing margin exposure.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

data

array

One entry per price-change scenario

data[].price_change

string

Hypothetical price move relative to current, e.g. "-5%" or "+10%"

data[].long_liquidation_probability

object

Probability that a long position is liquidated if the price moves by price_change

data[].short_liquidation_probability

object

Probability that a short position is liquidated if the price moves by price_change

data[].*_probability."6"

float [0,1]

Probability of liquidation within 6 hours

data[].*_probability."12"

float [0,1]

Probability of liquidation within 12 hours

data[].*_probability."18"

float [0,1]

Probability of liquidation within 18 hours

data[].*_probability."24"

float [0,1]

Probability of liquidation within 24 hours

GET /insights/lp-bounds

Returns price interval analysis for concentrated liquidity positioning. For each price interval, the response includes the probability of price staying within the range, expected time in-range, and estimated impermanent loss. Useful for AMM LP range selection, options strike placement, and range-bound strategies.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

data

array

One entry per price interval

data[].interval.full_width

string

Total width of the interval as a percentage, e.g. "10%" means ±5% around current price

data[].interval.lower_bound

float

Lower price boundary of the interval

data[].interval.upper_bound

float

Upper price boundary of the interval

data[].expected_time_in_interval

float [0,1]

Expected fraction of the 24h horizon that price spends inside this interval

data[].expected_impermanent_loss

float

Expected impermanent loss as a fraction for an LP position held within this interval over the horizon

data[].probability_to_stay_in_interval."24"

float [0,1]

Probability that price stays within the interval for the full 24h horizon without touching either boundary

GET /insights/lp-probabilities

Returns the probability that an asset's price will be above or below specific price targets at the end of the 24h horizon. Covers 11 upside and 11 downside price levels relative to current price. Useful for directional bet pricing, options delta estimation, and Polymarket up/down contract calibration.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

data."24h".probability_above

object

Keys are price levels (as strings); values are the probability [0,1] that the asset price ends above that level at horizon end

data."24h".probability_below

object

Keys are price levels (as strings); values are the probability [0,1] that the asset price ends below that level at horizon end

GET /insights/option-pricing

Returns theoretical option prices computed from SynthData's ensemble volatility forecasts. Covers call and put prices across a range of strike prices. Use to compare against market-quoted premiums to find mispriced options.

Supported assets: BTC, ETH, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

expiry_time

ISO 8601

Option expiry timestamp used for pricing

call_options

object

Keys are strike prices (as strings); values are the theoretical call option price in the asset's quote currency

put_options

object

Keys are strike prices (as strings); values are the theoretical put option price in the asset's quote currency

GET /insights/volatility

Returns SynthData's volatility forecasts alongside historical realized volatility. Useful for vol-targeting strategies, premium calibration, and regime detection.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

realized.prices

array

Historical price observations leading up to forecast time

realized.prices[].price

float

Asset price at this observation

realized.prices[].returns

float or null

Log return between this and the previous observation; null for the most recent point where the next price is not yet known

realized.volatility

array of float or null

Rolling realized volatility for each observation period; null when not yet computable (e.g. at the latest point)

realized.average_volatility

float

Average realized volatility across the observation window

forecast_past.volatility

array of float

Model-predicted volatility for time periods that have already elapsed (backtested values)

forecast_past.average_volatility

float

Average of forecast_past.volatility

forecast_future.volatility

array of float

Model-predicted volatility for upcoming time periods

forecast_future.average_volatility

float

Average of forecast_future.volatility

GET /insights/volatility-percentiles

Returns the full volatility distribution split into percentile buckets, for both the historical (past) and upcoming (future) forecast windows, alongside realized price observations. Useful for understanding the range and asymmetry of expected volatility.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price used for the calculation

realized.prices

array

Historical price observations leading up to forecast time

realized.prices[].price

float

Asset price at this observation

realized.prices[].returns

float or null

Log return from previous observation; null for the latest point

forecast_past.percentiles

array

One object per historical time step

forecast_future.percentiles

array

One object per upcoming forecast time step

percentiles[]."0.005"

float

Volatility at the 0.5th percentile — extreme low-vol scenario

percentiles[]."0.05"

float

Volatility at the 5th percentile

percentiles[]."0.2"

float

Volatility at the 20th percentile

percentiles[]."0.35"

float

Volatility at the 35th percentile

percentiles[]."0.5"

float

Median (50th percentile) volatility — central estimate

percentiles[]."0.65"

float

Volatility at the 65th percentile

percentiles[]."0.8"

float

Volatility at the 80th percentile

percentiles[]."0.95"

float

Volatility at the 95th percentile

percentiles[]."0.995"

float

Volatility at the 99.5th percentile — extreme high-vol scenario

GET /insights/prediction-percentiles

Returns the full price distribution at the end of the forecast horizon, expressed as percentiles derived from the ensemble of the top 10 miners' predictions. Each percentile gives a predicted price level, giving you the complete probability distribution of expected price movements. Useful for position sizing, setting price targets, and tail-risk assessment.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

current_price

float

Asset spot price at the time of forecast

forecast_future.percentiles

array

One object per forecast time step

percentiles[]."0.005"

float

Predicted asset price at the 0.5th percentile — extreme downside scenario

percentiles[]."0.05"

float

Predicted price at the 5th percentile

percentiles[]."0.2"

float

Predicted price at the 20th percentile

percentiles[]."0.35"

float

Predicted price at the 35th percentile

percentiles[]."0.5"

float

Median (50th percentile) predicted price — central estimate

percentiles[]."0.65"

float

Predicted price at the 65th percentile

percentiles[]."0.8"

float

Predicted price at the 80th percentile

percentiles[]."0.95"

float

Predicted price at the 95th percentile

percentiles[]."0.995"

float

Predicted price at the 99.5th percentile — extreme upside scenario

Polymarket Insights

These endpoints combine SynthData's probability forecasts with live Polymarket market data, making it easy to compare model estimates against market-implied probabilities.

GET /insights/polymarket/up-down/daily

Synth vs Polymarket probabilities for daily Up/Down contracts — whether the asset closes higher or lower than its opening price by end of UTC day.

Supported assets: BTC, ETH, XAU, SOL, SPY, NVDA, GOOGL, TSLA, AAPL, XRP, HYPE, WTIOIL Default horizon: 24h

Response

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_price

float

Asset spot price at query time

current_time

ISO 8601

Wall-clock time of the data snapshot

start_price

float

Asset price at the start of the event period — the reference for determining up/down at resolution

slug

string

Polymarket market identifier slug

event_creation_time

ISO 8601

When the Polymarket market was created

event_start_time

ISO 8601

Start of the event window

event_end_time

ISO 8601

End of the event window — when the market resolves

synth_probability_up

float [0,1]

SynthData's estimated probability that the asset price ends higher than start_price

synth_outcome

string

SynthData's predicted outcome based on its probability: "UP" or "DOWN"

polymarket_probability_up

float [0,1]

Polymarket's implied probability derived from the last trade

polymarket_outcome

string

Polymarket's current consensus outcome: "UP" or "DOWN"

market_probability_up

float [0,1]

Same as polymarket_probability_up (for retrocompatibility)

market_outcome

string

Same as polymarket_outcome (for retrocompatibility)

current_outcome

string

What the outcome would be if the event resolved right now, based on current_price vs start_price: "UP" or "DOWN"

best_bid_price

float

Best bid price in the Polymarket order book (probability units, 0–1)

best_bid_size

float

Dollar size available at the best bid

best_ask_price

float

Best ask price in the Polymarket order book (probability units, 0–1)

best_ask_size

float

Dollar size available at the best ask

polymarket_last_trade_price

float

Price of the most recent trade executed on Polymarket

polymarket_last_trade_time

ISO 8601

Timestamp of the most recent Polymarket trade

polymarket_last_trade_outcome

string

Outcome side of the most recent trade: "UP" or "DOWN"

GET /insights/polymarket/up-down/hourly

Synth vs Polymarket probabilities for hourly Up/Down contracts. Same response structure as /insights/polymarket/up-down/daily.

Supported assets: BTC, ETH, SOL, HYPE Default horizon: 1h

Response — same fields as /insights/polymarket/up-down/daily above, with event_start_time / event_end_time spanning one hour.

GET /insights/polymarket/up-down/15min

Synth vs Polymarket probabilities for 15-minute Up/Down contracts. Same response structure as /insights/polymarket/up-down/daily.

Supported assets: BTC, ETH, SOL, HYPE Default horizon: 1h

Response — same fields as /insights/polymarket/up-down/daily above, with event_start_time / event_end_time spanning 15 minutes.

GET /insights/polymarket/up-down/5min

Synth vs Polymarket probabilities for 5-minute Up/Down contracts. Same response structure as /insights/polymarket/up-down/daily.

Supported assets: BTC, ETH, SOL, HYPE Default horizon: 1h

Response — same fields as /insights/polymarket/up-down/daily above, with event_start_time / event_end_time spanning 5 minutes.

GET /insights/polymarket/range/daily

Returns Synth vs Polymarket probabilities for daily price range contracts — whether the asset's closing price falls within a specific numeric range.

Supported assets: BTC, ETH, SOL, NVDA, GOOGL, TSLA, AAPL, XRP Default horizon: 24h

Response — array, one object per range market currently active for the requested asset:

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_time

ISO 8601

Wall-clock time of the data snapshot

current_price

float

Asset spot price at query time

slug

string

Polymarket market identifier slug

title

string

Human-readable market question as shown on Polymarket

cmp_type

string

Contract semantics: "range" (price between two values), "above" (price above a threshold), or "hit" (price touches a level at any point during the window)

ref_prices

array of float

Reference price(s) defining the range or threshold. Two values for "range", one value for "above" and "hit"

event_creation_time

ISO 8601

When the Polymarket market was created

event_start_time

ISO 8601

Start of the event window

event_end_time

ISO 8601

End of the event window — when the market resolves

synth_probability

float [0,1]

SynthData's estimated probability that the market resolves YES

synth_outcome

int

SynthData's predicted outcome: 1 = YES, 0 = NO

polymarket_probability

float [0,1]

Polymarket's implied YES probability derived from the last trade

polymarket_outcome

int

Polymarket's current consensus outcome: 1 = YES, 0 = NO

current_outcome

int

What the outcome would be if the market resolved right now: 1 = YES, 0 = NO

best_bid_price

float or null

Best bid in the Polymarket order book (probability units); null if no active order book

best_bid_size

float or null

Dollar size at the best bid; null if no active order book

best_ask_price

float or null

Best ask in the Polymarket order book (probability units); null if no active order book

best_ask_size

float or null

Dollar size at the best ask; null if no active order book

polymarket_last_trade_price

float

Price of the most recent trade on Polymarket

polymarket_last_trade_time

ISO 8601

Timestamp of the most recent Polymarket trade

polymarket_last_trade_outcome

int

Outcome side of the most recent trade: 1 = YES, 0 = NO

GET /insights/polymarket/above/daily

Returns Synth vs Polymarket probabilities for daily "asset above $X" threshold contracts. The response is an array with the same fields as /insights/polymarket/range. cmp_type will always be "above" and ref_prices contains a single threshold value.

Supported assets: BTC, ETH Default horizon: 24h

GET /insights/polymarket/hit/daily

Returns Synth vs Polymarket probabilities for daily "will asset hit $X" contracts. The market resolves YES if the asset touches the target price at any point during the event window (path-dependent, not just at expiry). The response is an array with the same fields as /insights/polymarket/range. cmp_type will always be "hit".

Supported assets: BTC, ETH, XRP Default horizon: 24h

Limitless Insights

These endpoints combine SynthData's probability forecasts with live Limitless prediction market data.

GET /insights/limitless/daily

Synth vs Limitless probabilities for daily up/down contracts.

Supported assets: BTC, ETH, SOL, XAU, HYPE, XRP Default horizon: 24h

Response — array, one object per Limitless market active for the requested asset:

Field
Type
Description

forecast_start_time

ISO 8601

Start time of the Monte Carlo simulation used for this calculation

current_time

ISO 8601

Wall-clock time of the data snapshot

current_price

float

Asset spot price at query time

start_price

float

Asset price at the start of the event period — the reference for determining up/down at resolution

slug

string

Limitless market identifier slug

event_creation_time

ISO 8601

When the Limitless market was created

event_end_time

ISO 8601

End of the event window — when the market resolves

event_outcome_prices

array of float

Settlement payout prices for each possible outcome (e.g. [0.0, 1.0] for binary NO/YES)

synth_probability_up

float [0,1]

SynthData's estimated probability that the asset price ends higher than start_price

synth_outcome

string

SynthData's predicted outcome: "UP" or "DOWN"

market_probability_up

float or null

Limitless market's implied probability; null if no market data is available

market_outcome

string

Limitless market consensus outcome: "UP" or "DOWN"

best_bid_price

float or null

Best bid price on Limitless (probability units, 0–1); null if no active order book

best_ask_price

float or null

Best ask price on Limitless (probability units, 0–1); null if no active order book

GET /insights/limitless/hourly

Synth vs Limitless probabilities for hourly contracts. Same response structure as /insights/limitless/daily.

Supported assets: BTC, ETH, SOL, XAU Default horizon: 1h

Response — same fields as /insights/limitless/daily above, with event_end_time one hour after event_creation_time.

GET /insights/limitless/15min

Synth vs Limitless probabilities for 15-minute contracts. Same response structure as /insights/limitless/daily.

Supported assets: BTC, ETH, SOL Default horizon: 1h

Response — same fields as /insights/limitless/daily above, with event_end_time 15 minutes after event_creation_time.

Leaderboard Endpoints

The leaderboard ranks miners on the Bittensor subnet by their prediction performance. Two API versions exist: V1 (legacy) and V2 (current).

GET /leaderboard/latest (V1, legacy)

Returns the current leaderboard snapshot with full on-chain metrics.

Auth: None Query parameters: None

Response — array, one object per miner:

Field
Type
Description

updated_at

ISO 8601

Timestamp of the last data update recorded for this miner

neuron_uid

int

Miner's UID on the Bittensor subnet — unique slot identifier

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner is registered under

incentive

float [0,1]

Bittensor incentive score — proportion of total subnet incentive flowing to this miner

emission

float

TAO token emission rate for this miner per block

stake

float

Amount of TAO staked on this miner by nominators

rank

float [0,1]

Bittensor rank score — relative standing on the subnet

pruning_score

float [0,1]

Pruning score; miners with consistently low scores are eligible to be replaced by new registrations

GET /leaderboard/historical (V1, legacy)

Returns historical leaderboard snapshots between two timestamps.

Auth: None Query parameters:

Parameter
Type
Required
Description

start_time

string

Yes

ISO 8601 timestamp to start from (e.g. 2025-02-03T10:19:04Z)

end_time

string

Yes

ISO 8601 timestamp to end at

Response — array of snapshots in the requested window. Each item has the same fields as /leaderboard/latest:

Field
Type
Description

updated_at

ISO 8601

Timestamp of this historical snapshot

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner was registered under at this point in time

incentive

float [0,1]

Bittensor incentive score at this snapshot

emission

float

TAO emission rate at this snapshot

stake

float

TAO staked on this miner at this snapshot

rank

float [0,1]

Bittensor rank score at this snapshot

pruning_score

float [0,1]

Pruning score at this snapshot

GET /v2/leaderboard/latest

Returns the current leaderboard with prediction-reward-focused metrics. Supports filtering by prompt type (24h vs 1h horizon).

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

prompt_name

string

No

"low"

"low" for the 24h prediction prompt; "high" for the 1h prediction prompt

Response — array, one object per miner:

Field
Type
Description

updated_at

ISO 8601

Timestamp of the last data update recorded for this miner

neuron_uid

int

Miner's UID on the Bittensor subnet — unique slot identifier

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner is registered under

rewards

float

Prediction reward score for the selected prompt type — higher means better forecasting performance

GET /v2/leaderboard/historical

Returns historical V2 leaderboard snapshots between two timestamps, filtered by prompt type.

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

start_time

string

Yes

ISO 8601 timestamp to start from

end_time

string

Yes

ISO 8601 timestamp to end at

prompt_name

string

No

"low"

"low" for 24h prompt; "high" for 1h prompt

Response — array of snapshots in the requested window. Each item has the same fields as /v2/leaderboard/latest:

Field
Type
Description

updated_at

ISO 8601

Timestamp of this historical snapshot

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner was registered under at this point in time

rewards

float

Prediction reward score at this snapshot for the selected prompt type

Meta-Leaderboard Endpoints

The meta-leaderboard aggregates miner performance over a rolling window of days rather than a single snapshot. This smooths out noise and provides a more stable ranking.

GET /meta-leaderboard/latest (V1, legacy)

Returns the current meta-leaderboard, aggregating on-chain metrics over the past N days.

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

days

int

No

14

Number of past days to aggregate over

Response — array, one object per miner. Same fields as /leaderboard/latest:

Field
Type
Description

updated_at

ISO 8601

Timestamp of the last data update for this miner

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner is registered under

incentive

float [0,1]

Aggregated Bittensor incentive score over the days window

emission

float

Aggregated TAO emission over the days window

stake

float

TAO staked on this miner

rank

float [0,1]

Aggregated rank score over the days window

pruning_score

float [0,1]

Aggregated pruning score over the days window

GET /meta-leaderboard/historical (V1, legacy)

Returns historical meta-leaderboard snapshots starting from a given point in time.

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

start_time

string

Yes

ISO 8601 timestamp to start from

days

int

No

14

Number of days of aggregation window per snapshot

Response — array of historical snapshots. Each item has the same fields as /meta-leaderboard/latest:

Field
Type
Description

updated_at

ISO 8601

Timestamp of this historical snapshot

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner was registered under at this point in time

incentive

float [0,1]

Aggregated incentive score over the days window ending at this snapshot

emission

float

Aggregated emission over the days window ending at this snapshot

stake

float

TAO staked at this snapshot

rank

float [0,1]

Aggregated rank over the days window ending at this snapshot

pruning_score

float [0,1]

Aggregated pruning score over the days window ending at this snapshot

GET /v2/meta-leaderboard/latest

Returns the current V2 meta-leaderboard, aggregating prediction rewards over a rolling window.

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

days

int

No

14 (or 6 when prompt_name="high")

Number of past days to aggregate over. Defaults to 6 for the 1h prompt because its history is shorter.

prompt_name

string

No

"low"

"low" for 24h prediction prompt; "high" for 1h prediction prompt

Response — array, one object per miner:

Field
Type
Description

updated_at

ISO 8601

Timestamp of the last data update for this miner

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner is registered under

rewards

float

Aggregated prediction reward score over the days window for the selected prompt type

GET /v2/meta-leaderboard/historical

Returns historical V2 meta-leaderboard snapshots starting from a given point in time.

Auth: None Query parameters:

Parameter
Type
Required
Default
Description

start_time

string

Yes

ISO 8601 timestamp to start from

days

int

No

14 (or 6 when prompt_name="high")

Aggregation window in days per snapshot

prompt_name

string

No

"low"

"low" for 24h prompt; "high" for 1h prompt

Response — array of historical snapshots. Each item has the same fields as /v2/meta-leaderboard/latest:

Field
Type
Description

updated_at

ISO 8601

Timestamp of this historical snapshot

neuron_uid

int

Miner's UID on the Bittensor subnet

coldkey

string

Miner's Bittensor coldkey (SS58 wallet address)

ip_address

string

IP address the miner was registered under at this point in time

rewards

float

Aggregated prediction reward score over the days window ending at this snapshot

Last updated