Get latest volatility
The latest computation for a Belief Volatility series, with the series definition alongside it.
tick.headlinePts is the headline value in probability points, at tick.headlineTenorDays. Never quote it without the tenor: a 30-day and a 1-day reading are different measurements, and both are in tick.tenors.
A status of flagged still publishes. The flag is the disclosure, and tick.gateFlags states in plain language what flagged. suspended means the value did not clear its gates and was withheld.
This endpoint returns the same envelope as the public volatility surface, so a value quoted from the API, the website, or the MCP server always matches.
curl -s "https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest" \
-H "Authorization: Bearer $BELIEF_API_KEY"import os
import requests
resp = requests.get(
"https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest",
headers={"Authorization": f"Bearer {os.environ['BELIEF_API_KEY']}"},
timeout=10,
)
resp.raise_for_status()
payload = resp.json()
print(payload["data"])const res = await fetch("https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest", {
headers: { Authorization: `Bearer ${process.env.BELIEF_API_KEY}` },
});
if (!res.ok) throw new Error(`Belief Systems API ${res.status}`);
const { data, meta } = await res.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"publicationState": "published",
"published": null,
"series": {
"category": "elections",
"definitionLine": "Belief Volatility is a standardized estimate of how much prediction-market probabilities are expected to move over a stated horizon.",
"description": "How much the 2026 U.S. midterms balance-of-power distribution is expected to move.",
"gates": {
"arbMinDepthUsd": 500,
"arbToleranceMin": 0.01,
"arbToleranceTicks": 1,
"depthFloorUsd": 500,
"devigTolerance": 0.000001,
"identityTolerance": 0.000001,
"impactBudgetPts": 1,
"overroundFlagHi": 1.04,
"overroundFlagLo": 0.995,
"pythagoreanTolerancePts2": 0.01,
"retireAfterDegradedTicks": 12,
"snapshotMaxAgeSeconds": 900,
"snapshotMaxSkewSeconds": 300,
"spreadToMidMax": 0.5,
"suspendFailingBudgetShare": 0.1
},
"headlineTenorDays": 30,
"inceptionAt": "2026-08-06T00:01:51.828235Z",
"listed": true,
"methodologyUrl": "https://docs.beliefsystems.xyz/volatility/methodology",
"name": "Midterms Uncertainty Index",
"productFamily": "belief_volatility",
"relatedIndexTickers": [
"MIDR26",
"MIDD26"
],
"settlementDate": "2027-01-05",
"slug": "midvol",
"targetType": "partition_composite",
"tenorsDays": [
1,
7,
30
],
"ticker": "MIDVOL",
"units": "probability points"
},
"tick": {
"attrDeltaHeadlinePts": -0.000022,
"attribution": {
"deltaPts": -0.000022,
"deltaPts2": -0.001553,
"gapSeconds": 300,
"legs": [
{
"delta": 0.003465,
"deltaClock": 0.004082,
"deltaPrice": -0.000617,
"gridOrder": 1,
"label": "Senate D · House D",
"legKey": "sen_d_house_d"
},
{
"delta": -0.00126,
"deltaClock": 0.003776,
"deltaPrice": -0.005036,
"gridOrder": 3,
"label": "Senate R · House D",
"legKey": "sen_r_house_d"
}
],
"prevComputedAt": "2026-08-31T13:54:35.559124",
"reason": null,
"status": "ok",
"tenorDays": 30,
"units": "points^2",
"unitsPts": "points"
},
"bandHiPts": 35.636,
"bandLoPts": 35.4505,
"budgetW": 0.59357088,
"clockVersion": "clock-v1.0",
"components": [
{
"books_used": "yes+no",
"condition_id": "0x16c63b7cc37f012b9f59ee164ec03877914c701d06d48291ae8d6fc08a088b0d",
"days_to_settlement": 126.42,
"fbv_r_pts": 49.9859,
"gate_flags": [],
"grid_order": 1,
"label": "Senate D · House D",
"leg_key": "sen_d_house_d",
"observed_at": "2026-08-31T13:54:35.542857",
"p": 0.511888,
"passes_depth": true,
"tenor_pts": {
"1": 4.3806,
"7": 11.0975,
"30": 23.0309
},
"w": 0.249858678296
},
{
"books_used": "yes+no",
"condition_id": "0x998bc71817b2d76921d1999ce0f3431cfd5945583667a371280ca2b430b0c06e",
"days_to_settlement": 126.42,
"fbv_r_pts": 48.0743,
"gate_flags": [],
"grid_order": 3,
"label": "Senate R · House D",
"leg_key": "sen_r_house_d",
"observed_at": "2026-08-31T13:54:35.542857",
"p": 0.362572,
"passes_depth": true,
"tenor_pts": {
"1": 4.2131,
"7": 10.6731,
"30": 22.1501
},
"w": 0.231113438304
}
],
"computedAt": "2026-08-31T13:59:35.599223",
"counterfactual": {
"anchorAt": "2026-08-05T16:55:43.501403",
"anchorFingerprint": "8fbefcee88e9d652648cfd9f28e1feb3ffb8068aa32a4e71304d0a43c282ecb5",
"clockVersion": "clock-v1.0",
"headlinePts": 35.9193,
"rPts": 77.9586,
"tenors": {
"1": {
"pts": 6.8321,
"share": 0.00768
},
"7": {
"pts": 17.3078,
"share": 0.04929
},
"30": {
"pts": 35.9193,
"share": 0.212289
}
}
},
"definitionLine": "Belief Volatility is a standardized estimate of how much prediction-market probabilities are expected to move over a stated horizon.",
"devigVersion": "devig-proportional-v1",
"effectiveN": 2.4605,
"fbvRLabel": "remaining uncertainty (to resolution)",
"fbvRPts": 77.0436,
"gateFlags": [
{
"gate": "underround_flag",
"legKey": null,
"publicDetail": "the pre-de-vig price sum was below the overround tolerance"
}
],
"headlinePts": 35.4977,
"headlineTenorDays": 30,
"labels": {
"clockHomogeneityDisclosure": "This value assumes Senate D · House D, Senate D · House R, Senate R · House D, Senate R · House R, Other release variance on a common election-night schedule. A Senate runoff, recount, or certification dispute would concentrate mass in a later window not modelled here; per-leg clocks are not yet separately estimated.",
"composition": {
"leg_keys": [
"other",
"sen_d_house_d",
"sen_d_house_r",
"sen_r_house_d",
"sen_r_house_r"
],
"n": 5,
"version": "1"
},
"devigVersion": "devig-proportional-v1",
"tier": {
"1": "historical-clock",
"7": "historical-clock",
"30": "historical-clock",
"R": "budget-implied"
}
},
"methodologyVersion": "fbv-v1.2",
"publicationState": "published",
"revision": 0,
"seriesId": "MIDVOL",
"status": "flagged",
"sumRaw": 0.98880748,
"targetType": "partition_composite",
"tenors": {
"1": {
"pts": 6.7519,
"share": 0.00768,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
},
"7": {
"pts": 17.1047,
"share": 0.04929,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
},
"30": {
"pts": 35.4977,
"share": 0.212289,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
}
},
"units": "probability points",
"wTilde": 0.7419636
}
},
"meta": {
"attribution": "Source: Belief Systems (beliefsystems.xyz)",
"generatedAt": "2026-08-31T14:01:38.256801Z",
"license": "https://beliefsystems.xyz/license",
"termsUrl": "https://beliefsystems.xyz/terms"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-api-key",
"message": "This endpoint requires a Data API key. Create one free at https://beliefsystems.xyz/data ; programmatic or commercial licensing is at https://beliefsystems.xyz/license.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "not_found",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#not-found",
"message": "No Belief index 'NOPE'. GET /v1/indices lists the published catalog.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "rate_limited",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#rate-limited",
"message": "Rate limit exceeded: 60 requests per minute per key.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}Authorizations
Your Data API key as a Bearer token: Authorization: Bearer belief_live_.... This is the canonical form. Keys belong on a server, never in a browser.
Path Parameters
Ticker, case-insensitive. GET /v1/indices and GET /v1/volatility are the catalogs.
curl -s "https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest" \
-H "Authorization: Bearer $BELIEF_API_KEY"import os
import requests
resp = requests.get(
"https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest",
headers={"Authorization": f"Bearer {os.environ['BELIEF_API_KEY']}"},
timeout=10,
)
resp.raise_for_status()
payload = resp.json()
print(payload["data"])const res = await fetch("https://api.beliefsystems.xyz/v1/volatility/MIDVOL/latest", {
headers: { Authorization: `Bearer ${process.env.BELIEF_API_KEY}` },
});
if (!res.ok) throw new Error(`Belief Systems API ${res.status}`);
const { data, meta } = await res.json();
console.log(data);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beliefsystems.xyz/v1/volatility/{ticker}/latest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"publicationState": "published",
"published": null,
"series": {
"category": "elections",
"definitionLine": "Belief Volatility is a standardized estimate of how much prediction-market probabilities are expected to move over a stated horizon.",
"description": "How much the 2026 U.S. midterms balance-of-power distribution is expected to move.",
"gates": {
"arbMinDepthUsd": 500,
"arbToleranceMin": 0.01,
"arbToleranceTicks": 1,
"depthFloorUsd": 500,
"devigTolerance": 0.000001,
"identityTolerance": 0.000001,
"impactBudgetPts": 1,
"overroundFlagHi": 1.04,
"overroundFlagLo": 0.995,
"pythagoreanTolerancePts2": 0.01,
"retireAfterDegradedTicks": 12,
"snapshotMaxAgeSeconds": 900,
"snapshotMaxSkewSeconds": 300,
"spreadToMidMax": 0.5,
"suspendFailingBudgetShare": 0.1
},
"headlineTenorDays": 30,
"inceptionAt": "2026-08-06T00:01:51.828235Z",
"listed": true,
"methodologyUrl": "https://docs.beliefsystems.xyz/volatility/methodology",
"name": "Midterms Uncertainty Index",
"productFamily": "belief_volatility",
"relatedIndexTickers": [
"MIDR26",
"MIDD26"
],
"settlementDate": "2027-01-05",
"slug": "midvol",
"targetType": "partition_composite",
"tenorsDays": [
1,
7,
30
],
"ticker": "MIDVOL",
"units": "probability points"
},
"tick": {
"attrDeltaHeadlinePts": -0.000022,
"attribution": {
"deltaPts": -0.000022,
"deltaPts2": -0.001553,
"gapSeconds": 300,
"legs": [
{
"delta": 0.003465,
"deltaClock": 0.004082,
"deltaPrice": -0.000617,
"gridOrder": 1,
"label": "Senate D · House D",
"legKey": "sen_d_house_d"
},
{
"delta": -0.00126,
"deltaClock": 0.003776,
"deltaPrice": -0.005036,
"gridOrder": 3,
"label": "Senate R · House D",
"legKey": "sen_r_house_d"
}
],
"prevComputedAt": "2026-08-31T13:54:35.559124",
"reason": null,
"status": "ok",
"tenorDays": 30,
"units": "points^2",
"unitsPts": "points"
},
"bandHiPts": 35.636,
"bandLoPts": 35.4505,
"budgetW": 0.59357088,
"clockVersion": "clock-v1.0",
"components": [
{
"books_used": "yes+no",
"condition_id": "0x16c63b7cc37f012b9f59ee164ec03877914c701d06d48291ae8d6fc08a088b0d",
"days_to_settlement": 126.42,
"fbv_r_pts": 49.9859,
"gate_flags": [],
"grid_order": 1,
"label": "Senate D · House D",
"leg_key": "sen_d_house_d",
"observed_at": "2026-08-31T13:54:35.542857",
"p": 0.511888,
"passes_depth": true,
"tenor_pts": {
"1": 4.3806,
"7": 11.0975,
"30": 23.0309
},
"w": 0.249858678296
},
{
"books_used": "yes+no",
"condition_id": "0x998bc71817b2d76921d1999ce0f3431cfd5945583667a371280ca2b430b0c06e",
"days_to_settlement": 126.42,
"fbv_r_pts": 48.0743,
"gate_flags": [],
"grid_order": 3,
"label": "Senate R · House D",
"leg_key": "sen_r_house_d",
"observed_at": "2026-08-31T13:54:35.542857",
"p": 0.362572,
"passes_depth": true,
"tenor_pts": {
"1": 4.2131,
"7": 10.6731,
"30": 22.1501
},
"w": 0.231113438304
}
],
"computedAt": "2026-08-31T13:59:35.599223",
"counterfactual": {
"anchorAt": "2026-08-05T16:55:43.501403",
"anchorFingerprint": "8fbefcee88e9d652648cfd9f28e1feb3ffb8068aa32a4e71304d0a43c282ecb5",
"clockVersion": "clock-v1.0",
"headlinePts": 35.9193,
"rPts": 77.9586,
"tenors": {
"1": {
"pts": 6.8321,
"share": 0.00768
},
"7": {
"pts": 17.3078,
"share": 0.04929
},
"30": {
"pts": 35.9193,
"share": 0.212289
}
}
},
"definitionLine": "Belief Volatility is a standardized estimate of how much prediction-market probabilities are expected to move over a stated horizon.",
"devigVersion": "devig-proportional-v1",
"effectiveN": 2.4605,
"fbvRLabel": "remaining uncertainty (to resolution)",
"fbvRPts": 77.0436,
"gateFlags": [
{
"gate": "underround_flag",
"legKey": null,
"publicDetail": "the pre-de-vig price sum was below the overround tolerance"
}
],
"headlinePts": 35.4977,
"headlineTenorDays": 30,
"labels": {
"clockHomogeneityDisclosure": "This value assumes Senate D · House D, Senate D · House R, Senate R · House D, Senate R · House R, Other release variance on a common election-night schedule. A Senate runoff, recount, or certification dispute would concentrate mass in a later window not modelled here; per-leg clocks are not yet separately estimated.",
"composition": {
"leg_keys": [
"other",
"sen_d_house_d",
"sen_d_house_r",
"sen_r_house_d",
"sen_r_house_r"
],
"n": 5,
"version": "1"
},
"devigVersion": "devig-proportional-v1",
"tier": {
"1": "historical-clock",
"7": "historical-clock",
"30": "historical-clock",
"R": "budget-implied"
}
},
"methodologyVersion": "fbv-v1.2",
"publicationState": "published",
"revision": 0,
"seriesId": "MIDVOL",
"status": "flagged",
"sumRaw": 0.98880748,
"targetType": "partition_composite",
"tenors": {
"1": {
"pts": 6.7519,
"share": 0.00768,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
},
"7": {
"pts": 17.1047,
"share": 0.04929,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
},
"30": {
"pts": 35.4977,
"share": 0.212289,
"share_ci": null,
"share_meta": {
"ci_unavailable": true,
"mixture": true
}
}
},
"units": "probability points",
"wTilde": 0.7419636
}
},
"meta": {
"attribution": "Source: Belief Systems (beliefsystems.xyz)",
"generatedAt": "2026-08-31T14:01:38.256801Z",
"license": "https://beliefsystems.xyz/license",
"termsUrl": "https://beliefsystems.xyz/terms"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#invalid-api-key",
"message": "This endpoint requires a Data API key. Create one free at https://beliefsystems.xyz/data ; programmatic or commercial licensing is at https://beliefsystems.xyz/license.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "not_found",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#not-found",
"message": "No Belief index 'NOPE'. GET /v1/indices lists the published catalog.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "rate_limited",
"docsUrl": "https://docs.beliefsystems.xyz/api-reference/limits#rate-limited",
"message": "Rate limit exceeded: 60 requests per minute per key.",
"requestId": "9f2c1ad4e6b74c0f8a3d5e1b7c904a26"
}
}{
"error": {
"code": "invalid_api_key",
"docsUrl": "<string>",
"message": "<string>",
"requestId": "<string>"
}
}