Methodology
Everything Basis publishes is reproducible from this page, the open scoring code, and the cited sources. If a score can't be recomputed, that's a bug — report it.
Claim lifecycle
§1 · Principles
- We label claims, not people. Status describes evidence, never intent.
- Unverified does not mean false. It means public evidence does not yet support the claim.
- Raw figures are always reported alongside adjusted figures.
- Where sources conflict, we preserve the conflict instead of picking a side.
- Heuristics are published in full so every score is contestable.
- No token, no custody, no positions in covered assets. Paid work is disclosed.
§2 · Claim status taxonomy
- Verified
- Confirmed onchain, in a canonical primary document, or by two or more independent reputable sources.
- Partially verified
- Self-reported but plausible, single-source, or verified with a material caveat. Not independently confirmed.
- Unverified
- No independent footprint found. Unverified does not mean false; it means the public evidence does not yet support the claim.
- Disputed
- Primary evidence actively conflicts with the claim, including conflicts with the claimant's own primary sources.
- Stale
- Previously supported, but the underlying evidence is dated while the claim is presented as current.
Separately, every claim carries a confidence level (high / medium / low) describing how robust our evidence process was — a claim can be “unverified / high confidence” (we searched thoroughly and found nothing) or “verified / medium confidence” (one strong source we could not triangulate). Source types are ranked: onchain > primary document > independent secondary > self-reported.
§3 · Claim Reliability Index (CRI)
The CRI answers one question: when this project makes a public, checkable claim, how well does that claim hold up? It is not a product quality score and not an investment signal.
status weights: verified 1.00 · partially_verified 0.55 · stale 0.35 · unverified 0.15 · disputed 0.00
confidence weights: high 1.00 · medium 0.85 · low 0.70
base = 100 × Σ(statusW × confW) / n
penalty = min(6 × disputedCount, 18)
CRI = clamp(base − penalty, 0, 100) · grade: A ≥80, B ≥65, C ≥50, D ≥35, E <35
- Only claims the project itself made are scored. Findings surfaced by Basis or third parties (incidents, context) never affect a score.
- Disputed claims carry an extra penalty because a claim contradicted by primary evidence damages reliability more than an unverifiable one.
- Projects with fewer than 3 scored claims are flagged provisional.
§4 · Sybil adjustment
Counter-style metrics (agents, repos, transactions, payers) are treated as sybil-sensitive by default whenever creation is free. For onchain populations we compute four published component scores and a weighted composite:
- Young-wallet share (25%): fraction of wallets under 30 days old at first interaction.
- Funding concentration (30%): normalized HHI over the funding sources of payer wallets — 1.0 means every payer was funded by the same wallet.
- Retention collapse (30%): 1 − (week-4 retention of week-1 actives). Calibrated against the October 2025 x402 farming wave, where retention collapsed from 87% to ~5%.
- Timing regularity (15%): 1 − normalized Shannon entropy over hour-of-day buckets; bot bursts concentrate, organic usage spreads.
Composite ≥ 0.6 flags a population. Sybil-adjusted figures are estimates with stated assumptions and are always shown next to raw figures, never instead of them. The implementation is open source in the @basis/methodology package with its test fixtures.
§5 · Onchain anchoring
Each report version is anchored in the BasisReportRegistry contract on Base: SHA-256 of the canonical report content and SHA-256 of the canonical dataset (sorted-key JSON, LF line endings, UTF-8). The registry is append-only; corrections publish a new version and may revoke (never delete) an old one, with the reason onchain. To verify: download the published files, re-hash, compare against the registry.
§6 · Correction process
- Email corrections@basis.watch with the claim ID, the disputed label, and supporting evidence.
- We acknowledge within 2 business days.
- Evidence is evaluated under the same source-ranking rules as everything else. Self-reported evidence can raise a claim to partially verified; independent or onchain evidence can raise it to verified.
- Substantiated corrections update the claim database, increment the report version, anchor new hashes onchain, and are logged in the public changelog with the requester credited (or anonymous on request).
- Rejected corrections receive a written reason. Disagreements are published alongside the claim — preserving the dispute is the point.
§7 · What Basis is not
Basis is not a gossip site, not a short-research shop, and not a replacement for Dune, Nansen, Messari, Chainalysis, or Coinbase — we cite and build on their work. We do not assess intent, we do not give investment advice, and we do not use the word “fake” unless evidence is overwhelming and fully explained. See legal & disclaimers.