Metrics framework methodology · version TV-1.0
How the figures here are computed
Every formula, threshold and rule of this framework — generated from the same code that applies it, so this page cannot drift from the implementation.
Scope
This framework describes how retrieved data becomes metrics, what evidence supports them, and where they stop. It is applied to the individual markets this application already carries; it retrieves no additional sources for that.
It contains no buy, sell or hold recommendation and is not investment advice. A model value is an estimate under stated assumptions, an exposure index is an observation rather than a probability of loss, and confidence refers to data and model, not to a price development.
The data flags and flag points in the market lists follow the data flag methodology (currently version 2.7); this framework's exposure indices are built from the same flags. The evidence per dimension on the market pages (since 28.09.2026) is separate from this: it awards no points and feeds into no index.
Classification and method selection
The valuation method follows from the asset type. The mapping is given in full below and is made in exactly one place. An undetermined type gets no method — not the one that usually fits.
| Type | Permitted methods |
|---|
| TOKENIZED_BOND | BOND_PV |
|---|
| TOKENIZED_EQUITY | DCF, DIVIDEND_DISCOUNT, MULTIPLES |
|---|
| TOKENIZED_FUND | NAV |
|---|
| TOKENIZED_REAL_ESTATE | INCOME_APPROACH, NAV |
|---|
| TOKENIZED_COMMODITY | COMMODITY_REFERENCE |
|---|
| STABLECOIN | RESERVE_ANALYSIS |
|---|
| DEFI_TOKEN | DCF, MULTIPLES |
|---|
| GOVERNANCE_TOKEN | NONE |
|---|
| UTILITY_TOKEN | NONE |
|---|
| SYNTHETIC_ASSET | NONE |
|---|
| OTHER | NONE |
|---|
| UNKNOWN | NONE |
|---|
Source hierarchy
Every metric names where its value comes from. The tier follows from the kind of source and is not maintained per record, so no record can claim a tier its source does not support.
- The issuer itself, a prospectus, a reserve report, the contract.
- Chain, indexer, protocol interface, trading venue — places that hold the value themselves.
- Data providers, aggregators, press.
- Computed here from other values.
- Origin not determinable — then the figure is no basis for a valuation.
When there is no figure
A missing metric is its own named state, never a zero. The difference between “the source does not carry this field”, “the series is too short” and “this model does not apply here” is the actual information.
- DATA_NOT_AVAILABLE
- Field not available
- NOT_AVAILABLE
- Not supplied
- DATA_STALE
- Value stale
- SOURCE_UNAVAILABLE
- Source unreachable
- INSUFFICIENT_HISTORY
- History too short
- INSUFFICIENT_DATA
- Inputs incomplete
- MODEL_NOT_APPLICABLE
- Model not applicable
- NOT_APPLICABLE
- Not defined for this asset
- INSUFFICIENT_EVIDENCE
- No evidence
- CALCULATION_FAILED
- Calculation undefined
- UNKNOWN
- Not checked
- ORDERBOOK_DATA_UNAVAILABLE
- No order book
- VALUATION_NOT_SUPPORTED_BY_AVAILABLE_EVIDENCE
- Valuation not supported by the available evidence
- SCENARIO_PROBABILITIES_NOT_CALIBRATED
- Scenario probabilities not calibrated
Formulas
Every metric with its definition, formula, inputs, reading, limit, method origin and status. No reading says whether a value is good or bad.
Premium / Discount premiumDiscount
The token price's relative distance from the reference value of the underlying asset.
(tokenPrice - referenceValue) / referenceValue
- Inputs
- tokenPrice, referenceValue
- Reading
- Positive means the token trades above the reference value, negative below. The figure says nothing about why.
- Limit
- Only as sound as the reference value itself: a once-a-day NAV and a live price do not refer to the same moment.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Tracking Error trackingError
The variability of the difference between token return and reference return over synchronized observations.
stdDev(tokenReturn_t - referenceReturn_t), sample standard deviation
- Inputs
- tokenReturns, referenceReturns
- Reading
- Lower values mean the deviation was more stable over the window. Not that it was smaller.
- Limit
- Requires enough time-aligned observation pairs. Mismatched timestamps produce a number that only looks like one.
- Origin
- Standard portfolio-theory definition (standard deviation of the return difference).
- Status
- EXPERIMENTAL · TV-1.0
Beta beta
The sensitivity of the token's return to the reference asset's return.
cov(tokenReturns, referenceReturns) / var(referenceReturns)
- Inputs
- tokenReturns, referenceReturns
- Reading
- 1 means equal amplitude over the measured window. It describes the past; it is not an extrapolation.
- Limit
- If the reference's variance vanishes (a constant reference value), beta is undefined — no value is shown then.
- Origin
- Standard definition (covariance over variance).
- Status
- EXPERIMENTAL · TV-1.0
Correlation correlation
The Pearson correlation coefficient of two return series.
cov(a, b) / (stdDev(a) * stdDev(b))
- Inputs
- tokenReturns, referenceReturns
- Reading
- Between -1 and 1. Co-movement is not causation.
- Limit
- Sensitive to outliers and to the choice of window.
- Origin
- Pearson.
- Status
- EXPERIMENTAL · TV-1.0
Future supply futureSupply
Total supply carried forward from known emission, minting and burn figures.
currentSupply + emissions + minting - burns
- Inputs
- currentSupply, emissions, minting, burns
- Reading
- A carry-forward of exactly the inputs given — not a forecast.
- Limit
- If any of the four is unknown there is no result. A missing burn figure is not 0.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Dilution, 12 months dilution12m
Expected additional circulating supply over the next twelve months, relative to today's circulating supply.
expectedNewCirculatingSupply12m / currentCirculatingSupply
- Inputs
- expectedNewCirculatingSupply12m, currentCirculatingSupply
- Reading
- 0.2 means circulating supply grows by a fifth if the assumption holds.
- Limit
- Carries whatever assumption produced `expectedNewCirculatingSupply12m`; without it this is a guess, not a figure.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Unlock pressure, 12 months unlockPressure12m
Contractually unlocking tokens over the next twelve months, relative to circulating supply.
tokensUnlockedNext12Months / currentCirculatingSupply
- Inputs
- tokensUnlockedNext12Months, currentCirculatingSupply
- Reading
- States how much supply *can* become available — not that it will be sold.
- Limit
- An unlock schedule is an issuer commitment; with no published schedule this figure does not exist.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Top-N concentration topNConcentration
The share of circulating supply held by the N largest addresses.
sum(balances of the N largest holders) / circulatingSupply
- Inputs
- sortedBalances, circulatingSupply, n
- Reading
- A statement about addresses. An address is not an owner.
- Limit
- Exchange and custody addresses hold other people's assets: one address, many owners. Raw address concentration is therefore kept separate from estimated economic concentration and never converted into it.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Spread spread
The relative distance between best bid and ask, over the midpoint.
(ask - bid) / ((ask + bid) / 2)
- Inputs
- bid, ask
- Reading
- A snapshot at one venue.
- Limit
- Not computable without an order book, and not approximated here. An AMM has no bid/ask in this formula's sense.
- Origin
- Market microstructure, standard relative quoted spread.
- Status
- EXPERIMENTAL · TV-1.0
Price impact priceImpact
The distance of the achieved execution price from the pre-trade midpoint.
(executionPrice - midPrice) / midPrice
- Inputs
- executionPrice, midPrice
- Reading
- Applies to the order size it was measured at, and only that size.
- Limit
- At an AMM it follows the pool's curve, not an order book; without reserves and curve shape it cannot be determined.
- Origin
- Market microstructure.
- Status
- EXPERIMENTAL · TV-1.0
Realized volatility realizedVolatility
The annualized standard deviation of log period returns of the observed series.
stdDev(logReturns) * sqrt(periodsPerYear)
- Inputs
- series, periodsPerYear
- Reading
- Describes the measured series' variation over the measured window.
- Limit
- Annualizing assumes equal-length periods and independent returns. Over an APY or TVL series this is not price volatility — the result states which series it is.
- Origin
- Standard definition; square-root-of-time annualization.
- Status
- EXPERIMENTAL · TV-1.0
Amihud illiquidity amihudIlliquidity
Average absolute return per unit of trading volume.
mean(|return_t| / volume_t)
- Inputs
- returns, volumes
- Reading
- Higher values mean less volume moved the price more, over the measured window.
- Limit
- Requires per-period volume in one unit. Zero-volume periods are skipped, not counted as 0.
- Origin
- Amihud (2002), Illiquidity and stock returns.
- Status
- EXPERIMENTAL · TV-1.0
Volume to liquidity volumeToLiquidity
One period's trading volume relative to the available liquidity of the same reference base.
volume / liquidity
- Inputs
- volume, liquidity
- Reading
- A turnover measure. It says nothing about the price at which turnover happened.
- Limit
- TVL is not liquidity: locked capital is not tradable capital. Which base was used is recorded with the result.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Simple moving average (SMA) sma
The arithmetic mean of the last `period` observations.
mean(series[t-period+1 .. t])
- Inputs
- series, period
- Reading
- Smooths the series; it lags it by roughly half the window.
- Limit
- Needs `period` observations. With fewer there is no value, not a shorter average.
- Origin
- Standard definition.
- Status
- EXPERIMENTAL · TV-1.0
Exponential moving average (EMA) ema
A weighted average with geometrically decaying weights, seeded with the SMA of the first full window.
alpha = 2 / (period + 1); ema_t = alpha * x_t + (1 - alpha) * ema_{t-1}; seed = SMA of the first `period` values
- Inputs
- series, period
- Reading
- Reacts faster than the SMA of the same length.
- Limit
- The seed affects the early values, so the seeding rule is part of the formula rather than left to the caller.
- Origin
- Standard definition with an SMA seed.
- Status
- EXPERIMENTAL · TV-1.0
Relative strength index (RSI) rsi
The ratio of upward to downward movement, smoothed over `period` and mapped to 0–100.
Wilder smoothing of gains/losses over `period`; RSI = 100 - 100 / (1 + avgGain / avgLoss)
- Inputs
- series, period
- Reading
- Describes how one-sided the movements in the window were.
- Limit
- No threshold is stored here as a signal: "70/30" is convention, not a property of the measure. With no downward move in the window the value is 100 and says only that.
- Origin
- Wilder (1978), New Concepts in Technical Trading Systems.
- Status
- EXPERIMENTAL · TV-1.0
MACD macd
The distance between two EMAs of different length, its own EMA, and the difference of the two.
macd = EMA(fast) - EMA(slow); signal = EMA(macd, signalPeriod); histogram = macd - signal
- Inputs
- series, fastPeriod, slowPeriod, signalPeriod
- Reading
- Describes whether the shorter average sits above or below the longer one, and whether that is changing.
- Limit
- In the series' own units, so not comparable across assets. A sign change here is a sign change, not a signal.
- Origin
- Appel; the standard parameters 12/26/9 serve only as a default, not as a recommendation.
- Status
- EXPERIMENTAL · TV-1.0
Rate of change (ROC) roc
Relative change over `period` periods.
(x_t - x_{t-period}) / x_{t-period}
- Inputs
- series, period
- Reading
- A difference between two points in time; what happened between them is not in it.
- Limit
- Undefined when the base value is 0.
- Origin
- Standard definition.
- Status
- EXPERIMENTAL · TV-1.0
Average True Range (ATR) atr
The average true range per period, smoothed over `period`.
TR_t = max(high-low, |high-prevClose|, |low-prevClose|); ATR = Wilder average of TR over `period`
- Inputs
- bars, period
- Reading
- In the series' own units. A width of movement, not a direction.
- Limit
- Requires a high, low and close per period. Over a close-only series ATR is not computable, and no close-to-close substitute is produced here.
- Origin
- Wilder (1978).
- Status
- EXPERIMENTAL · TV-1.0
Bollinger Bands bollingerBands
A moving average with a band at a distance of k standard deviations of the same window.
middle = SMA(period); upper = middle + k * stdDev(window); lower = middle - k * stdDev(window)
- Inputs
- series, period, k
- Reading
- The band width describes the dispersion within the window.
- Limit
- k = 2 covers about 95% under normally distributed returns — returns rarely are.
- Origin
- Bollinger.
- Status
- EXPERIMENTAL · TV-1.0
ADX adx
A measure of how directional movement is, independent of its direction.
+DM/-DM over `period` (Wilder), DX = 100 * |(+DI) - (-DI)| / ((+DI) + (-DI)), ADX = Wilder average of DX
- Inputs
- bars, period
- Reading
- Higher means movement was more directional. It does not say in which direction.
- Limit
- Requires a high, low and close per period, and at least 2 × `period` periods. The threshold 25 is convention, not a rule here.
- Origin
- Wilder (1978).
- Status
- EXPERIMENTAL · TV-1.0
Market structure marketStructure
The sequence of the most recent turning points: higher high, higher low, lower high, lower low.
swing highs/lows via a `lookback`-bar fractal; compare the last two of each
- Inputs
- series, lookback
- Reading
- A description of the turning points already behind us.
- Limit
- A turning point is only confirmed `lookback` periods later, so the most recent move is necessarily absent. This is not a forecast.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Market regime marketRegime
A descriptive placement of the series into one of nine states, by a fully documented rule table.
rule table over ADX / realized volatility vs its own median / breakout of the `lookback` extreme — the rules are listed below under “Market regime”
- Inputs
- technical, liquidity
- Reading
- A state is a description. None of the nine is good or bad.
- Limit
- The rules are convention, not empirically calibrated; where inputs fall short the state is INSUFFICIENT_DATA rather than the most plausible guess.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Bond present value bondPresentValue
The present value of coupon payments and redemption, discounted at the yield.
PV = sum_t CF_t / (1 + y)^t + FV / (1 + y)^n
- Inputs
- cashflows, faceValue, yield, periods
- Reading
- The value implied by exactly these payments and exactly this discount rate.
- Limit
- Assumes the payments occur as agreed. Default, call rights and taxes are not in it.
- Origin
- Standard present-value formula.
- Status
- EXPERIMENTAL · TV-1.0
Macaulay duration macaulayDuration
The present-value-weighted average time to the payments.
sum_t (t * PV(CF_t)) / PV
- Inputs
- cashflows, faceValue, yield, periods
- Reading
- In periods of the same unit as the payment series.
- Limit
- Holds for a flat curve and small rate changes.
- Origin
- Macaulay.
- Status
- EXPERIMENTAL · TV-1.0
Modified duration modifiedDuration
The approximate relative change in present value per one percentage point change in yield.
macaulayDuration / (1 + yieldPerPeriod)
- Inputs
- macaulayDuration, yieldPerPeriod
- Reading
- A first derivative — for small changes.
- Limit
- For large yield moves convexity is missing and the figure understates the change.
- Origin
- Standard definition.
- Status
- EXPERIMENTAL · TV-1.0
Net asset value (NAV) nav
Assets less liabilities, and the same value per outstanding token.
NAV = assets - liabilities; NAVPerToken = NAV / tokensOutstanding
- Inputs
- assets, liabilities, tokensOutstanding
- Reading
- A valuation-date figure. It holds as of the fund's valuation moment, not continuously.
- Limit
- Only as sound as the valuation of the assets. Illiquid assets are marked, not traded.
- Origin
- Standard fund-accounting definition.
- Status
- EXPERIMENTAL · TV-1.0
Income approach value capRateValue
A property's value from its net operating income and a capitalization rate.
propertyValue = NOI / capitalizationRate
- Inputs
- noi, capRate
- Reading
- The value implied by exactly this NOI and exactly this rate.
- Limit
- Highly sensitive to the capitalization rate, which comes from comparable transactions rather than the property itself.
- Origin
- Real-estate income approach.
- Status
- EXPERIMENTAL · TV-1.0
Net operating income (NOI) noi
Rental income less operating expenses, before financing and taxes.
rentalIncome - operatingExpenses
- Inputs
- rentalIncome, operatingExpenses
- Reading
- The property's own result, independent of how it is financed.
- Limit
- Contains no capital expenditure and no vacancy allowance unless those sit in operating expenses.
- Origin
- Standard definition.
- Status
- EXPERIMENTAL · TV-1.0
Discounted cash flow (DCF) dcf
The present value of expected cash flows plus a Gordon-growth terminal value.
PV = sum_t CF_t / (1 + r)^t + terminalValue / (1 + r)^n, terminalValue = CF_n * (1 + g) / (r - g)
- Inputs
- cashflows, discountRate, terminalGrowth
- Reading
- The value that follows from exactly these cash flows and exactly this discount rate.
- Limit
- The terminal value usually dominates. It is only defined while the discount rate exceeds the growth rate — otherwise there is no value here, not a large one.
- Origin
- Standard DCF with a Gordon terminal value.
- Status
- EXPERIMENTAL · TV-1.0
Dividend discount dividendDiscount
The present value of a distribution growing at a constant rate.
value = dividendPerShare * (1 + g) / (r - g)
- Inputs
- dividendPerShare, growthRate, discountRate
- Reading
- Holds for a permanently paid, constantly growing distribution.
- Limit
- Not applicable without a distribution; undefined for r ≤ g.
- Origin
- Gordon growth model.
- Status
- EXPERIMENTAL · TV-1.0
Multiple multiple
The ratio of a price or enterprise value to a reference figure.
multiple = value / metric (P/E, P/B, EV/EBITDA, EV/Revenue)
- Inputs
- value, metric
- Reading
- Only readable against comparables computed on the same reference figure.
- Limit
- Meaningless with a negative or zero reference figure — no value is produced then.
- Origin
- Standard definition.
- Status
- EXPERIMENTAL · TV-1.0
Reserve ratio reserveRatio
Reported reserve value relative to outstanding liabilities.
reserveValue / liabilitiesOutstanding
- Inputs
- reserveValue, liabilitiesOutstanding
- Reading
- 1.0 means reported reserves equal outstanding claims.
- Limit
- A statement about a report, not about the reserve. Composition, maturity structure and redemption capacity sit beside it and are not folded into this number.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Liquid reserve ratio liquidReserveRatio
The readily realizable share of reserves relative to outstanding liabilities.
liquidReserveValue / liabilitiesOutstanding
- Inputs
- liquidReserveValue, liabilitiesOutstanding
- Reading
- States which share of claims could be met from liquid holdings.
- Limit
- What counts as liquid is the reporter's judgment; without a breakdown the figure is not checkable.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Maturity mismatch maturityMismatch
The distance between the reserves' weighted average maturity and the promised redemption period.
weightedAverageReserveMaturityDays - redemptionSettlementDays
- Inputs
- weightedAverageReserveMaturityDays, redemptionSettlementDays
- Reading
- Positive means reserves run longer than the period in which claims are to be met.
- Limit
- Says nothing about whether reserves could be sold before maturity.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Economic capture ratio economicCaptureRatio
The share of the protocol's economic value that reaches tokenholders.
tokenholderEconomicValue / protocolEconomicValue
- Inputs
- tokenholderEconomicValue, protocolEconomicValue
- Reading
- 0 means the documented mechanisms pass nothing to tokenholders.
- Limit
- Requires a documented mechanism — distribution, buyback, burn, staking revenue. Holding a governance token establishes no economic claim, and this framework derives none from it.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Exposure index exposureIndex
The observed flag points per dimension, normalized to 0–100.
100 * observedPoints / maxPoints, per dimension — the flags are listed below under “Exposure per dimension”
- Inputs
- riskDimensions
- Reading
- A statement of how many of the flags checkable for this dimension were triggered. 100 means all of them were.
- Limit
- Not a probability of loss, not a class, not a traffic light. Dimensions with no signal here stay NOT_ASSESSED rather than becoming 0 — 0 would mean "checked, nothing found".
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Oracle dependency level oracleDependencyLevel
How strongly a function depends on a price source, from source count, fallback and criticality.
documented rule table over sourceCount, fallback presence and criticality — the table is listed below under “Dependency on the price source”
- Inputs
- oracleProfile
- Reading
- A dependency measure. It does not say a loss will occur.
- Limit
- Requires a documented oracle configuration; without one there is no value.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Data quality dataQualityScore
The mean of the available quality components, each on 0–100.
mean of the available components (freshness, completeness, consistency, sourceAuthority, crossSourceAgreement, historicalCoverage), each 0–100
- Inputs
- components
- Reading
- A statement about the data, not about the asset.
- Limit
- Not a probability. Missing components are skipped rather than averaged in as 0 — which were missing is recorded with the result.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Model confidence modelConfidence
How well the data and the model's validation support a statement, on 0–100.
mean of the available inputs (dataCompleteness, sourceQuality, freshness, crossValidation, historicalCoverage, modelValidation), each 0–100
- Inputs
- inputs
- Reading
- Confidence in data and model, independent of what the model computes. A high value alongside a low valuation is not a contradiction.
- Limit
- Not a probability of a price move and not an expected return. `modelValidation` stays 0 until a backtest run exists — that depresses the value, which is the point.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Divergence divergence
The distance between standardized on-chain growth and standardized price growth.
zOnchain - zPrice, where z = (x - mean(history)) / stdDev(history)
- Inputs
- onchainGrowth, priceGrowth, history
- Reading
- An observation: the two series moved away from their own means by different amounts over the measured window.
- Limit
- Not a buy, sell or trend signal. Both z-values refer to each series' own history, not to a market.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Model value range fairValueRange
Three outputs of the same model under three explicitly stated input sets.
bear / base / bull, each the output of the same model under its own explicit scenario inputs
- Inputs
- scenarios
- Reading
- A model estimate, never an objectively established value. The range shows the span of the *inputs*, not the span of possible prices.
- Limit
- Without calibrated probabilities no scenario is likelier than another, and the middle is not an expected value.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Valuation bridge valuationBridge
The path from the underlying's value to the indicative model value, step by step.
indicativeValue = underlyingValue + sum(adjustments), each adjustment signed and sourced
- Inputs
- underlyingValue, adjustments
- Reading
- Each step names value, unit, source, formula, rationale and method version.
- Limit
- The steps are applied additively; where an adjustment is multiplicative by nature that is noted on the adjustment.
- Origin
- In-house definition, formed from this application's inputs.
- Status
- EXPERIMENTAL · TV-1.0
Brier score brierScore
Mean squared distance between a probability forecast and the realized outcome.
mean((forecast_i - outcome_i)^2), outcome in {0,1}
- Inputs
- forecasts, outcomes
- Reading
- Lower means forecasts sat closer to outcomes. 0.25 is what a constant 50% forecast scores.
- Limit
- Requires genuine probabilities and binary outcomes. An exposure index is not a probability and must not be fed in here.
- Origin
- Brier (1950).
- Status
- EXPERIMENTAL · TV-1.0
Prediction interval coverage intervalCoverage
The share of observations that fell inside the predicted interval.
count(lower_i <= actual_i <= upper_i) / n
- Inputs
- intervals, actuals
- Reading
- An 80% interval should contain about 80% of observations; less means too narrow, more means too wide.
- Limit
- At small n the figure itself is highly variable.
- Origin
- Standard forecast-evaluation definition.
- Status
- EXPERIMENTAL · TV-1.0
Exposure per dimension
Twelve separate dimensions, each an index from 0 to 100: how many of the flags checkable in it were triggered. The flags come from the same evaluation the market explorer uses — there is no second path from a market row to a risk figure.
Not a probability of loss, not a grade, no traffic light and no total. A dimension without a signal stays unchecked rather than becoming zero: zero would mean “checked, nothing found”.
| Dimension | Origin of the signal | What the index does not cover |
|---|
| Technology | protocol | Derived from a protocol allowlist (operating history as a proxy), not from an examination of the technology. |
|---|
| Smart contract | no signal | No audit field in the index. Audit references as reported by DeFiLlama have been shown on the market page under “Evidence per dimension” since 28.09.2026; they do not feed into the index. An allowlist is not a code audit. |
|---|
| Oracle | no signal | The oracle provider as reported by DeFiLlama is shown on the market page as evidence where available; update frequency, fallback and change rights are not available. The evidence does not feed into the index. |
|---|
| Liquidity | liquidity | Derived from total-value-locked thresholds. Locked capital is not tradable liquidity; order-book depth is unavailable. |
|---|
| Counterparty | no signal | For tokenized RWA with an assigned identifier, register data (GLEIF, SEC EDGAR) and editorially recorded issuer details are shown on the market page as evidence; they do not feed into the index. Custody and contract data are not available. |
|---|
| Tokenomics | market | Only the incentive share of the yield. Supply, unlocks and allocations are unavailable. |
|---|
| Governance | no signal | The governance platform as reported by DeFiLlama is shown on the market page as evidence where available; voting-power distribution, quorum and timelock are not available. The evidence does not feed into the index. |
|---|
| Dependencies | no signal | Dependencies are not inferred from market data. |
|---|
| Market structure | market | Derived from the stablecoin flag, the position's exposure profile and the incentive share — no order-book or spread data. |
|---|
| Legal structure | no signal | This application makes no legal classification. |
|---|
| Operations | no signal | Event markers as reported by DeFiLlama (such as reported incidents) are shown on the market page as evidence; SKN3X.COM does not verify them, and they do not feed into the index. No other operational data is available. |
|---|
| Data | dataQuality | Derived from the outlier flag and the row's field completeness. |
|---|
How these indices relate to the dimensions of the market pages and the analysis framework →
Market regime
A descriptive placement of the time series into one of nine states. The rules are checked in this order because the conditions overlap; without a fixed order the result would depend on who checks them. No state is good or bad.
- If there was barely any trading in the period (volume to liquidity below 0.01), that describes the state best — this rule comes before all others.
- A confirmed departure from the look-back window's range, upward or downward.
- Directional movement once the directionality measure reaches 25, where the direction comes from the structure of turning points rather than from the directionless measure itself.
- Variation above 1.5 times or below 0.5 times the comparison set's median.
- Otherwise a range — but only if both the directionality measure and the variation were available, so “range” does not become another word for “nothing measured”.
- Otherwise: the inputs are insufficient for any rule. That state is not replaced by the most plausible one.
The thresholds are conventions, not empirically calibrated.
Findings on contract properties
Every finding follows a documented rule, and the severity follows a single consideration: how far does the capability reach, and is it bound to a delay or a multi-signature requirement? A capability is assessed, not an intention.
| Rule | Severity | Triggered when |
|---|
| CR-01-mint-authority | CRITICAL | an address can mint new tokens |
|---|
| CR-02-blacklist | CRITICAL | the contract can block transfers for specific addresses |
|---|
| CR-03-freeze | HIGH | the contract can freeze balances |
|---|
| CR-04-upgradeable | HIGH | the implementation can be replaced |
|---|
| CR-05-burn-authority | HIGH | an address can burn tokens it does not hold |
|---|
| CR-06-pause | MEDIUM | the contract can halt transfers |
|---|
| CR-07-proxy | INFO | the token is served through a proxy |
|---|
A property that could not be determined produces neither a finding nor a clean bill of health: it is reported as unchecked. A bound capability is placed one step lower but never becomes a mere observation — a bound capability is still a capability.
Dependency on the price source
The contributions add up to a dependency level of at most 100. If one of the three load-bearing inputs is missing — source count, fallback, what the price decides — no level arises: a figure from half the inputs gets read as checked later on.
- singleSource: +50
- fewSources: +25
- manySources: +10
- noFallback: +25
- criticalityLiquidation: +25
- criticalitySettlement: +15
- criticalityDisplayOnly: +0
Model confidence
The mean of the determinable inputs: field completeness, source tier, freshness, agreement between independent sources, length of history, and out-of-sample validation of the model. Inputs that cannot be determined do not enter as zero; they are reported as not determinable.
Independent of the model value and the exposure index: neither is an input to this calculation. High confidence alongside a low model value is therefore not a contradiction.
As long as no out-of-sample run is recorded for a model, that input is not determinable and depresses confidence. This is intended: no model in this framework counts as validated today.
Scenarios and simulation
Three scenarios, each with explicitly stated inputs. Probabilities are not invented: without empirical calibration none is shown, and no expected value can be formed. Three identical input sets produce no range, just the same result three times.
A simulation runs only with input distributions whose origin is documented, and it is reproducible: seed, number of runs, distributions and assumed relationships are reported with the result. If more than a tenth of the runs produce no result, no distribution arises — the surviving runs are not the model's distribution.
Validating the models
The validation infrastructure exists: growing and rolling time windows, a training set cut at the decision time, and a check that finds any point which crossed the boundary anyway. A run counts as evidence only if it contains no violations, has at least one evaluation window, carries enough prediction/outcome pairs, and was produced under the current method version.
Point forecasts are assessed by mean absolute error, root mean squared error, median absolute error and interval coverage; probability forecasts by precision, recall, area under the precision-recall curve, Brier score and calibration. The two families stay separate, and an index is not a probability. Every model is compared against the naive carry-forward.
How long a value holds
One window per kind of data, after which a retrieved value is reported as stale. Event-driven means: the value does not age with time but with a change — marking a contract architecture stale after two hours would spend attention where nothing changed.
- MARKET_PRICE
- 5 minutes
- MARKET_STRUCTURE
- 1 hour
- ONCHAIN
- 6 hours
- TOKENOMICS
- 168 hours
- FUNDAMENTAL
- 720 hours
- LEGAL
- event-driven
- CONTRACT_ARCHITECTURE
- event-driven
What this framework cannot do today
- No price series per token. What is available is a yield and capital series per market; every technical metric refers to that and not to a price.
- No order book. Spread, depth, price impact and slippage are therefore not reported and not approximated.
- No holder distribution. Concentration measures and the attribution of pooled addresses stay undetermined.
- No supply register: total supply, emissions, burns and unlock schedules are missing.
- No contract data. Every property this framework checks counts as unchecked, and no security finding follows from that.
- No net asset values, bond terms, reserve reports or protocol revenue. This is why no model value arises for any asset in this application today.
- No model in this framework has been validated out of sample. The infrastructure exists, the runs do not.
- No legal classification. None is inferred and none is claimed.
Versions and changes
Every change to a model, formula, weight, threshold, data source or classification is recorded with its date, the person responsible, the old and new value, the reason and the version.
2026-09-25 · MODEL · TV-1.0
token-valuation-framework
no valuation framework → TV-1.0
Introduction of the token valuation framework: calculation engine, evidence binding per metric and a vocabulary of failure reasons. No asset is valued, because the input data for that is not available.
Responsible: Tobias Licht
2026-09-30 · DATA_SOURCE · TV-1.0
dimension-limits-evidence
Limits per dimension without the evidence layer → Limits per dimension name the evidence on the market pages
Since 28.09.2026 the market pages show evidence from public sources (DeFiLlama, GLEIF, SEC EDGAR) for smart contracts, oracles, governance, counterparties and operations. The description of the limits still said such data was unavailable. The indices and their calculation are unchanged; evidence feeds into no index.
Responsible: Tobias Licht
The register begins on the day it was introduced. Before that, nothing stands here on purpose: a retrospectively assembled list would be a claim about a past nobody checked.
To the analysis framework →To the data-flag methodology →To the market explorer →