---
title: "BTC Volatility History (x402, $0.05)"
method: GET
path: "/api/v1/agent/volatility/history"
tags: ["Agent (x402)"]
---

# BTC Volatility History (x402, $0.05)

`GET /api/v1/agent/volatility/history`

## Request

- Base URL: `https://tradingstrategies.work`
- URL: `https://tradingstrategies.work/api/v1/agent/volatility/history`
- Auth: none declared

Full Bitcoin volatility time series (BTCUSDT 1d): realized volatility 30d + 90d (√365-annualized, calendar days) and ATR% (EMA-14). Each carries TWO percentile ranks and they answer different questions: the expanding rank (rvRank / atrPctAnnRank) runs from the start of history and is look-ahead-free, but BTC volatility has fallen structurally, so filtering on a low expanding rank mostly detects that decline rather than a regime; the rolling rank (rvRankRolling / atrPctAnnRankRolling, trailing 2 years) is the one for cross-epoch comparisons. History reaches back to 2011 via a stitched pre-Binance close series — ATR is null before meta.coverage.intraday_from because no daily high/low exists that far back, and it is left null rather than derived from closes (a synthetic ATR would understate the most volatile years of BTC history). meta.coverage reports series_start, intraday_from, rv_rows, atr_rows and sources. Compute-on-read from candles — descriptive, no signal. Same data as GET /api/v1/charts/volatility/history (paid call returns full history, no tier clamp).

**Pricing:** $0.05 USDC pay-per-call (x402). No account / no API key.
Full compute-on-read time series (no persistence), recomputed from candles on read.

## Response `200`

Settled payment + data payload.

- object

## Other responses

- `400`: Invalid input — fehlt Pflichtfeld oder Wert außerhalb des erlaubten Bereichs.
- `401`: Unauthenticated — kein gültiger Bearer-Token im Authorization-Header.
- `402`: Payment required. Body + `payment-required` header contain payment-instructions (network, payTo, amount, asset).
- `403`: Tier-Insufficient — Endpoint braucht höheren API-Tier. Response enthält upgrade_url.
- `404`: Not-Found — Resource existiert nicht oder gehört nicht dem aktuellen User.
- `429`: Rate-Limit überschritten — Tier-Quota (hourly/daily) oder Per-Endpoint-Quota erreicht. Retry-After-Header gesetzt.
- `500`: Internal Error.
- `503`: Upstream-Failure — Datenquelle nicht erreichbar (Binance, EODHD, etc.).

---

[API](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api.md) · [All operations](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tradingstrategies/apis/backtesting-arena-public-api/revisions/f82e8d6eecd7?raw)
