METHODOLOGY · VERSION M1
How BASIS measures risk
Definitions, sources and limitations of the public indicators. The computations are descriptive: they constitute neither a recommendation nor an invitation to buy or hold an asset.
Sources & frequencies
| Metric | Provider | Endpoint | Frequency | Since |
|---|---|---|---|---|
| Funding BTC/ETH | Binance | /fapi/v1/premiumIndex | 15 min | M1 |
| Funding BTC/ETH | Bybit | /v5/market/tickers?category=linear | 15 min | M1 |
| Funding BTC/ETH | OKX | /api/v5/public/funding-rate | 15 min | M1 |
| Funding BTC/ETH | Hyperliquid | POST /info | 15 min | M1 |
| Supply USDe / USDtb | DefiLlama | /stablecoins?includePrices=false | 60 min | M1 |
| TVL Aave / Pendle | DefiLlama | yields.llama.fi/pools | 60 min | M1 |
| ENA market | CoinGecko | /api/v3/coins/ethena | 60 min | M1 |
| Peg USDe | CoinGecko | /api/v3/simple/price?ids=ethena-usde | 60 min | M2 |
| sUSDe APY / TVL | DefiLlama | yields.llama.fi/pools (ethena-usde) | 60 min | M2 |
“M1” means since this first collection went live; no earlier historical date is claimed. Editorial reserve data, when shown, carries its own as_of date.
Funding · normalization, composite and regime
Each raw rate is annualized from its native interval:
APR (%) = rate_raw × (24 / interval_h) × 365 × 100Bybit and OKX are treated as 8h, Hyperliquid as 1h. Binance is also assumed to be 8h in M1, but that interval is not yet verified in the payload: see limitations.
composite = 50% × mean(BTC, available venues) + 50% × mean(ETH, available venues)The composite is a simple mean, with no open-interest weighting. If a single asset is available, its mean becomes the explicit fallback; the interface flags missing sources separately.
| EXPANSION | ≥ +8 % |
| CARRY | +2 % to +8 % |
| NEUTRAL | -2 % to +2 % |
| COMPRESSION | < -2 % |
STRESS overrides the regime if peg deviation exceeds 50 bps or if reserve coverage drops below 20 bps. Since M2, the classification uses the composite’s 7-day rolling mean (history persisted in the database); while history is too short, it explicitly falls back to the instantaneous composite (flagged as such). The peg and reserve coverage feeding the override come from the latest protocol snapshot.
Backing · peg and reserve
peg_deviation_bps = |USDe_price − 1| × 10⁴Bands: OK below 10 bps; WATCH from 10 to 50 bps inclusive; ALERT above 50 bps.
reserve_coverage_bps = reserve_fund_usd / supply_USDe_usd × 10⁴Reserve: nominal state above 30 bps, WATCH between 20 and 30 bps, ALERT below 20 bps. These thresholds surface a shrinking cushion early; they will be recalibrated after 90 days of history.
staked_ratio = TVL_sUSDe_usd / supply_USDe_usdLeverage · DeFi concentration
concentration = (Aave sUSDe + Aave USDe + Pendle sUSDe) / supply_USDe × 100WATCH at 25 % and ALERT at 40 %. These markers flag a growing share of supply exposed to shared leverage or exit mechanisms; they do not predict a liquidation.
ENA · dilution
dilution_30d = next 30 days of unlocks / circulatingmcap_fdv = market_cap / fully_diluted_valuationdays_to_next_cliff = next_unlock_date − current_dateThese ratios describe the schedule and supply; they are not a price expectation.
Known limitations
- The regime’s 7-day window builds up as history accumulates: at startup it reflects fewer than 7 days and the interface flags the fallback to the instantaneous composite.
- Reserve coverage depends on a manually entered value (on-chain source not yet verified); it remains unavailable until it is sourced.
- The Binance interval is assumed to be 8h and is not verified in the payload.
- Coverage limited to four venues; an outage reduces the available sample.
- No open-interest weighting; composite deliberately simplified.
- CoinGecko data may lag the markets.
- The ratios aggregate protocols and model neither exit liquidity, nor correlations, nor cascading liquidations.
Missing-data policy
Value received and fresh enough. UTC timestamp shown.
Older than 2× its cadence: 30 min funding, 120 min protocol.
Failure or unusable response; source named, value not substituted.
Never a silent interpolation, never an invented value. Partial means use only the venues present, and the visible coverage lets you judge their scope.
Methodology changelog
Memory: database persistence, history and sparklines. Regime now classified on the composite’s 7-day rolling mean (explicit fallback to the instantaneous value if history is short). Added peg (CoinGecko) and sUSDe APY/TVL (DefiLlama) sources. Raw retention 90 days, then daily rollups.
Initial publication: sources, formulas, thresholds, missing-data policy and limitations of the instantaneous regime.