Every rule below exists because something broke, was measured, and was fixed. They are not aspirations — each one is enforced in code and pinned by a test that fails if the fix is undone. This page publishes them because the way a number is refused matters as much as the number.
The shortest version: we would rather show you an absence with a reason than a plausible figure we cannot stand behind.
An unpriced token, an unmeasured coin, a rate with no denominator and a period the source did not cover are all published as absent, never as 0. A zero and a missing value look identical on a chart and mean opposite things.
A sweep that did not see everything never deletes what it did not see. Incomplete sweeps are stored marked incomplete; pruning happens only on complete ones, and history snapshots record completeness so charts can exclude partial sweeps instead of drawing them as enormous outflows.
Every bucket on every time series carries whether it is complete, how many days it covers and how many the period holds. Streaks skip incomplete periods both ways, and a running period is drawn hatched with the reason beside it.
Claims of the form 'the first since 2023' are produced by walking the whole record and naming the precedent run that was found. A hard-coded year is a fact that silently expires.
Every feature here works without a commercial data key. Where paid services exist they are optional accelerators. Failover is a sequence, never an if-else chain: a present-but-invalid key must fall through to the next source.
Valuations taken from a decentralised pool are capped at twice the liquidity that priced them, and an implausibly large non-native position is treated as a pricing artifact until proven otherwise.
Contract-level price sources will happily price a contract nobody trades. A price survives only while some market can be shown for that exact contract. The depth rule that is right for pool quotes is deliberately NOT applied here, because a major stablecoin's market is an exchange order book, not a pool — applying it rejected two thirds of the platform.
Where a measured series and a modelled one answer the same question, they are drawn separately, coloured separately, and never bridged across a gap. A modelled series is re-anchored to a real measurement and publishes its uncertainty as a band.
Where a definition had to be chosen — which provider bands make up a 'whale', which exchange clusters were subtracted, which coins a narrative contains — the choice is named on the surface that shows it, with the count it was made over. A hidden judgement cannot be argued with.
Address labels carry their source, method and confidence, and an unknown address stays unknown. A transfer with no named owner on one side yields no label for that side, however large it is. No label is ever guessed from behaviour alone.
A failed fetch returns a sentinel the cache refuses to store, not an empty result. A failed taxonomy fetch that returned an empty list once cached a dark taxonomy for hours while the provider was answering normally in two seconds.
Shared computations read one cached universe rather than each fetching and wrapping their own. Two engines computing the same sector from two TTLs printed different numbers for the same sector at the same instant; after consolidation the two tabs matched to the cent.
When a dimension cannot be computed — no source configured, too few members, a failed cross-check — the surface says so with the reason. It never quietly disappears, and it never renders a plausible zero. A silently missing dimension reads as a fact about the world rather than a fact about our coverage.
Where an independent provider can disagree, it is asked. If it disagrees beyond tolerance, the value is withheld and the disagreement is named — there is no way from inside to tell which of two disagreeing sources is wrong, and publishing the wrong one under a familiar name is the exact failure the check exists to prevent.
A 256-bit token amount has up to 78 digits and a 64-bit float silently eats them, so amounts are carried as exact integers and floats are display-grade only. Commercial balances are integer micros and are always the sum of an append-only ledger, never a stored column.
When a hard-won fix lands it gains a row in a guard-of-guards file that asserts its test still exists and its mechanism is still wired. Deleting a failing guard is a decision, not a cleanup.
Each metric page states which of these rules bite on that series, and what it cost when one of them did not.
None of this is investment advice. Every score, band, label and verdict on this platform is an automated heuristic over public data, and each can be wrong in both directions.
If a number here looks wrong, the fastest route to an answer is usually the caveat published beside it — most of them exist because the number was wrong once.