Skip to main content

Indicators

The /v1/indicators endpoint exposes a unified time-series API for the off-chain market analytics that power the Boros UI's chart panel. Every indicator is identified by a short letter code and bucketed at one of four timeframes.

For the request/response schemas, see the interactive Open API docs.

Letter Codes

CodeNameSourceNotes
uUnderlying APRRealtime funding rate from the upstream exchangeIndexed by the market's funding-rate symbol; resolution = the market's payment period (typically 1h, 8h). Forward-filled.
fpFuture PremiumAnnualized premium of the upstream perp future relative to its indexSynced every 30 seconds; forward-filled to the chosen timeframe.
fgiFear & Greed IndexOff-chain crypto sentiment indexSynced every 5 minutes; forward-filled to the chosen timeframe.
apAsset PriceUSD price of the market's base asset (BTC, ETH, etc.)Sourced from the historical asset-price store.
udma:<periods>UFR Moving AveragesX-day moving averages of the underlying funding rate (u)<periods> is a ;-separated list of integer day windows, e.g. udma:7;30 returns 7-day and 30-day MAs. The whole udma:... entry counts as one indicator for CU billing regardless of how many windows are packed in.

Indicators are returned aligned to a regular grid at the requested timeFrame. Where the underlying source ticks slower than the grid (e.g. funding rate at 1h, grid at 5m), values are forward-filled from the most recent observation.

Timeframes

5m  · 1h · 1d · 1w

The grid is in UTC. startTimestamp and endTimestamp are rounded down to the nearest grid bucket.

Response Cap

A single call to GET /v1/indicators returns at most 500 datapoints per indicator. The [startTimestamp, endTimestamp] window is clipped to that many buckets at the chosen timeFrame. For larger windows or bulk export, use GET /v1/indicators/export, which streams a CSV file (cap 10,000 rows per file, always includes OHLCV plus any indicators in select).

CSV Export

GET /v1/indicators/export?marketId=24&timeFrame=5m&select=u,fp,fgi,ap,udma:3;7;30
  • Always returns a CSV stream with o, h, l, c, v columns (5-minute, 1h, 1d or 1w OHLCV) plus one column per requested indicator.
  • Rate-limited to 3 requests per minute per IP.
  • Costs 20 CU regardless of the indicators selected.

Cost Model

EndpointCU
GET /v1/indicators1 CU per indicator in select. A udma:7;30 entry counts as one indicator.
GET /v1/indicators/export20 CU (flat).

See Computing Units for how CU is reported on every response.

Examples

# Single indicator on the 1h grid
GET /v1/indicators?marketId=1&timeFrame=1h&select=u

# Multiple indicators including two MA windows (counts as 4 CU: u, fp, ap, udma)
GET /v1/indicators?marketId=1&timeFrame=5m&select=u,fp,ap,udma:7;30

# CSV export for the last 30 days at 1h resolution
GET /v1/indicators/export?marketId=24&timeFrame=1h&startTimestamp=1761782400&select=u,fgi,udma:7

Tips

  • For long histories, prefer the CSV export — it has a generous 10,000-point cap per file and a single 20 CU cost.
  • u resolution depends on the market's payment period. If the market funds every 8 hours, u will only have a fresh datapoint every 8 hours regardless of timeFrame.
  • udma requires the market to have a fundingRateSymbol configured. Markets without an upstream funding-rate symbol return empty UDMA series.
  • All numeric indicators are decimal fractions (e.g. 0.05 = 5% APR), consistent with the rest of the API.