Unravel
AlphaData
Multi-Factor PortfoliosCross-Sectional FactorsRisk Overlays
Terminal & API

Authentication

X-API-KEY(apiKey in header)

API key obtained from your account settings

GET/portfolio/live-weights

Portfolio / Weights Live

Retrieves the most recent weights for a specific portfolio. Updated hourly with fresh data available 5 minutes past the hour.

Query Parameters

portfolioreqstring
string

Portfolio Template Identifier (eg. momentum, spectra)

smoothingstring
string

Portfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.

0510152030
exchangestring
string

Exchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.

unconstrainedbinanceokxhyperliquid
Default: unconstrained

Successful response

Schema
datanumber[]

Latest portfolio weights data

indexstring

Date of the latest weights

columnsstring[]

Asset names corresponding to the weights

createdAtstring<date-time>

ISO 8601 timestamp of when the data was created

Example
{
  "data": [
    0.25,
    0.35,
    0.15,
    0.25
  ],
  "index": "2023-06-30",
  "columns": [
    "BTC",
    "ETH",
    "SOL",
    "AVAX"
  ],
  "createdAt": "2023-06-30T15:30:00Z"
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/live-weights?portfolio=<portfolio>&smoothing=0&exchange=unconstrained"
GET/portfolio/historical-weights

Portfolio / Weights Historical

Retrieves historical weights for a specific portfolio over a date range. Returns end-of-day (EOD) values.

Query Parameters

portfolioreqstring
string

Portfolio Template Identifier (eg. momentum, spectra)

smoothingstring
string

Portfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.

0510152030
exchangestring
string

Exchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.

unconstrainedbinanceokxhyperliquid
Default: unconstrained
start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Schema
dataarray[]

Historical portfolio weights data

indexstring[]

Date indices for the weights data

columnsstring[]

Asset names corresponding to the weights

curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/historical-weights?portfolio=<portfolio>&smoothing=0&exchange=unconstrained&start_date=<start_date>&end_date=<end_date>"
GET/portfolio/factors

Portfolio / Raw Factor

Retrieves factor data for specific tickers within a single factor portfolio over a date range. Returns end-of-day (EOD) values.

Query Parameters

idreqstring
string

Portfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)

tickersreqstring
string

Comma-separated list of ticker symbols (e.g., BTC,ETH,SOL).

smoothingstring
string

Portfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.

0510152030
start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Schema
dataarray[]

Factor data for the specified tickers

indexstring[]

Date indices for the factor data

columnsstring[]

Ticker symbols corresponding to the factor data

Example
{
  "data": [
    [
      0.45,
      0.67,
      0.89
    ],
    [
      0.23,
      0.2,
      0.8
    ],
    [
      0.87,
      0.34,
      0.56
    ]
  ],
  "index": [
    "2023-01-01",
    "2023-01-02",
    "2023-01-03"
  ],
  "columns": [
    "BTC",
    "ETH",
    "SOL"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/factors?id=<id>&tickers=<tickers>&smoothing=0&start_date=<start_date>&end_date=<end_date>"
GET/portfolio/factors-live

Portfolio / Raw Factor Live

Retrieves the latest factor data for specific tickers within a single factor portfolio. Updated hourly with fresh data available 5 minutes past the hour.

Query Parameters

idreqstring
string

Portfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)

tickersreqstring
string

Comma-separated list of ticker symbols (e.g., BTC,ETH,SOL).

smoothingstring
string

Portfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.

0510152030

Successful response

Schema
datanumber[]

Latest factor data for the specified tickers

indexstring

Date of the latest factor data

columnsstring[]

Ticker symbols corresponding to the factor data

createdAtstring<date-time>

ISO 8601 timestamp of when the data was created

Example
{
  "data": [
    0.45,
    0.67,
    0.89
  ],
  "index": "2023-01-03",
  "columns": [
    "BTC",
    "ETH",
    "SOL"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/factors-live?id=<id>&tickers=<tickers>&smoothing=0"
GET/portfolio/tickers

Portfolio / Tickers

Retrieves the list of ticker symbols available in a specific portfolio. Multi-Factor portfolios cannot be used with 'full' universe size.

Query Parameters

idreqstring
string

Portfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)

universe_sizereqstring
string

Universe size for the portfolio (e.g., 20, 30, 40) or 'full' to get all tickers. Note: Multi-Factor portfolios cannot use 'full' universe size.

exchangestring
string

Exchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.

unconstrainedbinanceokxhyperliquid
Default: unconstrained

Successful response

Schema
tickersstring[]

List of ticker symbols available in the portfolio

Example
{
  "tickers": [
    "BTC",
    "ETH",
    "SOL",
    "AVAX",
    "MATIC"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/tickers?id=<id>&universe_size=<universe_size>&exchange=unconstrained"
GET/portfolio/universe

Portfolio / Universe

Retrieves the universe data for a portfolio, showing which assets are included in the portfolio over time. The data is returned as binary values (1 for included, null for no data). Use the size parameter to specify the portfolio size (e.g., 20, 30, 40).

Query Parameters

start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

sizereqstring
string

Portfolio size - number of assets to include. Must be one of: 20, 30, or 40

203040
exchangestring
string

Exchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.

unconstrainedbinanceokxhyperliquid
Default: unconstrained

Successful response

Schema
dataarray[]

Universe data showing which assets are included (1) in the portfolio over time. Null values indicate no data available.

indexstring[]

Date indices for the universe data

columnsstring[]

Asset names corresponding to the universe data

Example
{
  "data": [
    [
      1,
      1,
      0,
      1
    ],
    [
      1,
      1,
      1,
      1
    ],
    [
      0,
      1,
      1,
      1
    ]
  ],
  "index": [
    "2024-01-01",
    "2024-01-02",
    "2024-01-03"
  ],
  "columns": [
    "BTC",
    "ETH",
    "SOL",
    "AVAX"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/universe?start_date=<start_date>&end_date=<end_date>&size=20&exchange=unconstrained"
GET/portfolio/returns

Portfolio / Returns

Retrieves returns data for a specific portfolio over a date range. Returns end-of-day (EOD) values.

Query Parameters

portfolioreqstring
string

Portfolio Template Identifier (eg. momentum, spectra)

smoothingstring
string

Portfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.

0510152030
exchangestring
string

Exchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.

unconstrainedbinanceokxhyperliquid
Default: unconstrained
start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Example
{
  "data": [
    0,
    0.0234,
    -0.0156,
    0.0456,
    0.0123,
    -0.0089,
    0.0345
  ],
  "index": [
    "2023-01-01",
    "2023-01-02",
    "2023-01-03",
    "2023-01-04",
    "2023-01-05",
    "2023-01-06",
    "2025-10-07"
  ],
  "columns": [
    "returns"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/returns?portfolio=<portfolio>&smoothing=0&exchange=unconstrained&start_date=<start_date>&end_date=<end_date>"
GET/portfolio/risk-overlay

Portfolio / Risk Overlay Hist.

Retrieves risk overlay time series data for a specific portfolio. Risk overlays are portfolio-specific factor risk overlays. Returns end-of-day (EOD) values.

Query Parameters

portfolioreqstring
string

Portfolio Template Identifier (eg. momentum, spectra)

overlayreqstring
string

Risk overlay identifier - a portfolio-specific factor risk overlay

start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Schema
datanumber[]

Transformed factor data points

indexstring[]

Date indices for the data points

Example
{
  "data": [
    0.05,
    0.12,
    0.08,
    0.15,
    0.1,
    0.18,
    0.14
  ],
  "index": [
    "2023-01-01",
    "2023-01-02",
    "2023-01-03",
    "2023-01-04",
    "2023-01-05",
    "2023-01-06",
    "2025-10-07"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/risk-overlay?portfolio=<portfolio>&overlay=<overlay>&start_date=<start_date>&end_date=<end_date>"
GET/portfolio/risk-overlay-live

Portfolio / Risk Overlay Live

Retrieves the latest risk overlay data point for a specific portfolio and overlay. Risk overlays are portfolio-specific factor risk overlays. Updated hourly with fresh data available 5 minutes past the hour.

Query Parameters

portfolioreqstring
string

Portfolio Template Identifier (eg. momentum, spectra)

overlayreqstring
string

Risk overlay identifier - a portfolio-specific factor risk overlay

Successful response

Schema
datanumber | null

Latest risk overlay data point

indexstring

Date of the latest risk overlay data

createdAtstring<date-time>

ISO 8601 timestamp of when the data was created

Example
{
  "data": 0.15,
  "index": "2025-10-07"
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/portfolio/risk-overlay-live?portfolio=<portfolio>&overlay=<overlay>"
GET/risk-regime

Risk Regime Historical

Retrieves risk regime time series data. Risk regimes are factor risk overlays applicable to all portfolios, including custom ones. Returns end-of-day (EOD) values.

Query Parameters

overlayreqstring
string

Risk overlay identifier - a portfolio-specific factor risk overlay

start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Schema
datanumber[]

Transformed factor data points

indexstring[]

Date indices for the data points

Example
{
  "data": [
    0.05,
    0.12,
    0.08,
    0.15,
    0.1,
    0.18,
    0.14
  ],
  "index": [
    "2023-01-01",
    "2023-01-02",
    "2023-01-03",
    "2023-01-04",
    "2023-01-05",
    "2023-01-06",
    "2025-10-07"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/risk-regime?overlay=<overlay>&start_date=<start_date>&end_date=<end_date>"
GET/risk-regime-live

Risk Regime Live

Retrieves the latest risk regime data point. Risk regimes are factor risk overlays applicable to all portfolios, including custom ones. Updated hourly with fresh data available 5 minutes past the hour.

Query Parameters

overlayreqstring
string

Risk overlay identifier - a portfolio-specific factor risk overlay

Successful response

Schema
datanumber | null

Latest risk overlay data point

indexstring

Date of the latest risk overlay data

createdAtstring<date-time>

ISO 8601 timestamp of when the data was created

Example
{
  "data": 0.15,
  "index": "2025-10-07"
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/risk-regime-live?overlay=<overlay>"
GET/price

Price / Closing

Retrieve closing price data for one or more cryptocurrency tickers. Supports single ticker requests (returns legacy format for backward compatibility) or comma-separated multiple ticker requests (returns dataframe format similar to historical-weights endpoint). Single ticker (legacy): Null values are filtered out along with their corresponding dates. Multiple tickers (dataframe): Null values are preserved in the matrix, ensuring consistent date ranges across all tickers.

Query Parameters

tickerreqstring
string

Ticker symbol(s). Can be a single ticker (e.g., BTC) or comma-separated list (e.g., BTC,ETH,SOL). Whitespace around commas is automatically trimmed.

start_datestring<date>
string<date>

Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)

end_datestring<date>
string<date>

Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)

Successful response

Schema
any
Example

Single ticker response (legacy format)

{
  "data": [
    45000.25,
    46700.5,
    47200.75,
    46800.25,
    48200,
    49100.5,
    48700.25
  ],
  "index": [
    "2023-01-01",
    "2023-01-02",
    "2023-01-03",
    "2023-01-04",
    "2023-01-05",
    "2023-01-06",
    "2025-10-07"
  ]
}
curl
curl -H "X-API-KEY: YOUR_KEY" \
  "/api/v1/price?ticker=<ticker>&start_date=<start_date>&end_date=<end_date>"
Unravel
Status Page

Cutting-edge, Institutional-grade Factor Portfolios for Crypto.

© Copyright 2026 Unravel. All Rights Reserved.

Catalog
  • Multi-Factor Portfolios
  • Cross-Sectional Factors
  • Factor Risk Overlays
Product
  • Resources
  • Pricing
  • API Docs
  • Changelog
Channels
  • Blog: Research Insights
  • Telegram: Announcements
  • Twitter/X
  • LinkedIn
Company
  • Team
  • Contact
  • Book a call
Legal
  • Terms of Service
  • Privacy Policy
  • LLM? Read this.

NOT INVESTMENT ADVICE

The Content is for informational purposes only, you should not construe any such information or other material as legal tax, investment, financial, or other advice. Nothing contained on our presentation constitutes a solicitation, recommendation, endorsement, or offer by Unravel or any third party service provider to buy or sell any securities or other financial instruments in this or in in any other jurisdiction in which such solicitation or offer would be unlawful under the securities laws of such jurisdiction.

All Content on this presentation is information of a general nature and does not address the circumstances of any particular individual or entity. Nothing in the presentation constitutes professional and/or financial advice, nor does any information on the Presentation constitute a comprehensive or complete statement of the matters discussed or the law relating thereto.

Unravel is not a fiduciary by virtue of any person's use of or access to the Presentation or Content. You alone assume the sole responsibility of evaluating the merits and risks associated with the use of any information or other Content on the Presentation before making any decisions based on such information or other Content. In exchange for using the Presentation, you agree not to hold Unravel, its affiliates or any third party service provider liable for any possible claim for damages arising from any decision you make based on information or other Content made available to you through the Presentation.

INVESTMENT RISKS

There are risks associated with investing in securities. Investing in stocks, bonds, exchange traded funds, mutual funds, and money market funds involve risk of loss. Loss of principal is possible. Some high risk investments may use leverage, which will accentuate gains & losses. Foreign investing involves special risks, including a greater volatility and political, economic and currency risks and differences in accounting methods. A security's or a firm's past investment performance is not a guarantee or predictor of future investment performance.