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 require an API key in the Authorization header:
Authorization: Apikey MY_API_KEYCredits 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:
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
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
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
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
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
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
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
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
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:
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:
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:
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:
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:
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:
prompt_name
string
No
"low"
"low" for the 24h prediction prompt; "high" for the 1h prediction prompt
Response — array, one object per miner:
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:
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:
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:
days
int
No
14
Number of past days to aggregate over
Response — array, one object per miner. Same fields as /leaderboard/latest:
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:
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:
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:
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:
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:
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:
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