Skip to content

Commit 21de139

Browse files
committed
docs(ftso): add Feed Stability & Risks page
1 parent ae1100a commit 21de139

File tree

2 files changed

+106
-0
lines changed

2 files changed

+106
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
slug: feed-stability-and-risks
3+
title: Feed Stability & Risks
4+
description: Understand how block-latency feed stability and accuracy metrics are calculated and monitored.
5+
keywords:
6+
[
7+
ftso,
8+
oracle,
9+
flare-time-series-oracle,
10+
flare-network,
11+
analytics,
12+
feed-stability,
13+
accuracy,
14+
fast-updates,
15+
]
16+
sidebar_position: 3
17+
---
18+
19+
import FeedStability from "@site/src/features/DataTables/FeedStability";
20+
import Tippy from "@tippyjs/react";
21+
22+
:::tip Last Updated
23+
Stability and risk data is updated every ~2 weeks. The metrics below reflect the most recent reporting window.
24+
:::
25+
26+
FTSOv2 block-latency feeds are continuously monitored for accuracy and stability.
27+
This page defines how the feed stability metrics are calculated and provides the latest analytics data for all block-latency feeds.
28+
29+
## Feed Stability Metrics
30+
31+
**Feed stability** is the percentage of observations where a block-latency feed stays within a specified deviation band of a reference price.
32+
This metric helps users understand the reliability and accuracy of each feed over time.
33+
34+
### Metric definition
35+
36+
Stability is calculated by comparing on-chain data against external reference sources (such as aggregated CEX prices) at specific observation times (`t`).
37+
38+
- **Onchain Price (`P_onchain`)**: The price delivered by FTSOv2 Fast Updates.
39+
- **Reference Price (`P_ref`)**: The benchmark price from external sources.
40+
- **Deviation**: Calculated as the absolute percentage difference `deviation(t) = abs(P_onchain(t) - P_ref(t)) / P_ref(t)`
41+
42+
Stability is tracked against a **0.2% deviation band**, which is the primary metric displayed in the analytics table below.
43+
44+
### Calculation methodology
45+
46+
For a specific feed and deviation band `B`:
47+
48+
1. Collect time-aligned observations of `(P_onchain(t), P_ref(t))` over the reporting window.
49+
2. Mark each observation as “in band” if `deviation(t) <= B`.
50+
3. Compute stability as: `stability(B) = (in_band_observations / total_observations) * 100`
51+
52+
:::info
53+
54+
Stability measures _frequency_ (how often the price is accurate).
55+
It does not measure the _magnitude_ of the error when the price is inaccurate.
56+
57+
:::
58+
59+
### Interpreting stability scores
60+
61+
| Stability Range | Status | Description |
62+
| --------------- | ------------ | ------------------------------------------------------------------------ |
63+
| ≥99% | 🟢 Excellent | Feed maintains exceptional accuracy relative to reference. |
64+
| 97-99% | 🟢 Good | Feed demonstrates strong accuracy with minimal deviation. |
65+
| 94-97% | 🟡 Moderate | Feed shows acceptable accuracy but may experience occasional deviations. |
66+
| 80-94% | 🔴 Low | Feed experiences notable deviations; consider additional validation. |
67+
| &lt;80% | ⚫ Very Low | Feed shows significant instability; exercise caution when using. |
68+
69+
## Risk Classification
70+
71+
Feeds are categorized into risk levels based on their underlying market integrity.
72+
73+
**Assignment Logic**: This is a waterfall classification system. To qualify for a lower risk tier (e.g., Low Risk), a feed must meet **all** criteria in that column. If it fails even one criterion, it falls to the next risk level.
74+
75+
| **Aspect** | 🟢 **Low Risk** | 🟡 **Medium Risk** | 🔴 **High Risk** |
76+
| --------------------------- | ----------------------------------------- | ------------------------------------------- | ------------------------------------------------------ |
77+
| **Intrinsic Volatility** | Low, stable price trends | Moderate price fluctuations | High, frequent price swings |
78+
| **Liquidity Variation** | Abundant and consistent | Sufficient but variable | Limited and inconsistent |
79+
| **Liquidity Concentration** | Broad and well-distributed across venues | Somewhat concentrated | Highly concentrated in a few sources |
80+
| **Asset Spread Risk** | Tight spreads, minimal bid-ask gaps | Moderate spreads, acceptable bid-ask gaps | Wide spreads, significant bid-ask gaps |
81+
| **Cross Rate Risk** | Low correlation, direct pricing available | Moderate correlation, indirect pricing used | High correlation, dependent on multiple intermediaries |
82+
83+
**Other risk categories:**
84+
85+
-**New Feed**
86+
New tokens lack historical data for proper risk assessment and stable price discovery.
87+
Users must recognize these assets carry higher volatility risks and verify feed reliability independently.
88+
After a monitoring period, feeds will be assigned risk levels or potentially discontinued.
89+
90+
Each feed undergoes a rigorous assessment process prior to deployment. The evaluation criteria may vary depending on the specific type of feed being implemented and can evolve over time as our understanding of market integrity risks improves.
91+
92+
:::note
93+
94+
Risk assessments are conducted prior to deployment and may be updated as market conditions or liquidity profiles change.
95+
96+
:::
97+
98+
## Current Feed Stability
99+
100+
The table below displays latest stability metrics for all FTSOv2 block-latency feeds.
101+
102+
- **Stability**: Percentage of observations within **0.2%** of the reference price.
103+
- **Status**: Based on the stability interpretation table above.
104+
105+
<FeedStability />

sidebars.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ const sidebars: SidebarsConfig = {
100100
items: [
101101
"ftso/getting-started",
102102
"ftso/feeds",
103+
"ftso/feed-stability-and-risks",
103104
{
104105
type: "category",
105106
label: "FTSOv2 Guides",

0 commit comments

Comments
 (0)