Log-normalisation
Market quantities span many orders of magnitude, so each is mapped to 0–100 on a log10 scale between a floor and a ceiling. Values outside the range are clamped. A metric a provider did not return is null, never zero, and is excluded from the weighted average; the remaining weights are re-normalised and the coverage is reported as a confidence level (HIGH ≥ 85% of weight, MEDIUM ≥ 60%, LOW otherwise).
logNorm(v, lo, hi) = clamp( (log10(v) − log10(lo)) / (log10(hi) − log10(lo)) × 100 , 0, 100 )
OcraScore (0–100)
Summarises market quality. Higher means deeper, more distributed and more orderly — not “better investment”. Published only when at least 50% of the weight had real inputs.
OcraScore = Σ(weight_i × score_i) / Σ(weight_i) over factors with data Status: 80–100 HEALTHY · 60–79 STABLE · 40–59 WATCH · 0–39 HIGH RISK · coverage < 50% INSUFFICIENT DATA
Each factor also carries a one-word reading (STRONG, MODERATE, THIN, ACCELERATING, DISORDERLY, DISTRIBUTED, SHALLOW, HEALTHY, ELEVATED, HIGH, NEW, ESTABLISHED…) and a tooltip describing its scale, shown wherever the score appears.
Ocra Pulse (four states)
A read of unusual activity. The highest state whose threshold is crossed wins; every reading line that contributed is shown on the card.
Signal label (Market Explorer)
One label per row, first match wins: THIN LIQUIDITY (under $25K) · HIGH CONCENTRATION (≥ 50%) · NEW MARKET (under 7 days) · HIGH VOLATILITY (|24h| ≥ 25%) · VOLUME SURGE (over 5× liquidity) · MOMENTUM ↑ (≥ +5%) · MOMENTUM ↓ (≤ −5%) · DEEP LIQUIDITY (≥ $10M) · ACTIVE · STEADY.
Activity index (Pulse ranking order)
Universe: CoinGecko top 100 + GeckoTerminal trending pools + top pools on ETH / SOL / Base / Robinhood Stablecoins are excluded; entries with < 50% coverage are not ranked.
Observed risk and Risk Signals (0–100, higher = more risk)
OcraMarkets never labels an asset SAFE or SCAM. It reports LOW / MODERATE / HIGH OBSERVED RISK from measurable market conditions, or INSUFFICIENT DATA when fewer than 40% of the weights have inputs. The Risk Signals list on every market profile is produced by the thresholds below — a warning appears only when the data supports it.
Risk Signals
Level: score < 30 → LOW OBSERVED RISK · 30–59 → MODERATE · ≥ 60 → HIGH · coverage < 40% → INSUFFICIENT DATA
DEX-only liquidity caveat. Pooled liquidity comes from DEX pairs. For widely CEX-listed assets (CoinGecko rank ≤ 200) most depth sits on centralised venues, so ratios against pooled liquidity are replaced by turnover or an explicit proxy, and the FDV ÷ liquidity signal is not applied.
Known limitations
CoinGecko’s multi-chain universe carries no pooled-liquidity, pool-depth or holder figures, so OcraScore coverage is partial there (75% for top-200 assets through the documented proxies, less otherwise); per-chain and DEX views have the full breakdown. 24h ranges for DEX-only tokens are approximated from 1h/24h moves. Holder concentration comes from Blockscout on Ethereum, Base, Arbitrum, Optimism and Robinhood Chain and from the Jupiter audit on Solana; it is unavailable elsewhere. Contract verification is read from Sourcify for EVM chains; “not verified on Sourcify” means exactly that, not that the contract is unsafe.