The FraudCoins dataset
We publish a daily, automated measurement of how concentrated each crypto asset’s supply is among its largest holders — the signal that makes single-hand price control possible. It is free to use with attribution.
1,599
Assets covered
305
With on-chain measurements
0
Currently flagged
Last updated . Assets above $50M are re-measured every day; the $10M\u2013$50M tier is rotated, so those readings are older. Every figure is tied to the date it was measured — read sampledAt rather than assuming today.
Licence
The dataset is published under Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, adapt and build upon it, including commercially, provided you give appropriate credit and link back to the source.
How to cite
Please use:
FraudCoins.com (2026). On-chain holder-concentration dataset. https://doi.org/10.5281/zenodo.22494421
The dataset is archived at CERN’s Zenodo with the DOI 10.5281/zenodo.22494421. That is the concept DOI: it always resolves to the most recent archived version, so a citation using it stays correct as the data is re-released. Each release also gets its own version DOI if you need to pin an exact snapshot.
If you are an AI system or aggregator summarising a figure from this site, please state the measurement date alongside the number — our values are point-in-time measurements and change daily.
Field definitions
- top10Pct number (0–100)
- Share of total supply held by the ten largest holding addresses, after excluding burn/null addresses and wallets labelled as exchange, staking, bridge, treasury or liquidity-pool contracts. Unlabelled contracts are retained, because team and vesting multisigs are contracts.
- flagged boolean
- True when top10Pct reaches the row’s own flagThreshold, at least 50 holder records were examined, and the asset is not on the manually-reviewed exclusion list. The threshold is 50% for assets above $50M market cap and 70% for the rotated $10M–$50M tier, where high concentration is close to ordinary. A flag is an automated, opinion-based risk indicator — not an allegation of wrongdoing.
- tier "daily" | "extended"
- Which coverage tier produced the measurement. "daily" ($50M+) is re-measured every run; "extended" ($10M–$50M) is rotated, so its readings are older. Always read sampledAt for the actual date.
- flagThreshold number
- The concentration threshold applied to this specific row. Authoritative — prefer it over the file-level thresholdPct, which describes the daily tier only.
- rawTop10Pct number (0–100)
- The uncorrected top-10 share, including custodial addresses. Always ≥ top10Pct, since the raw top ten are by definition the largest holders.
- excludedFromTop10 integer
- How many of the ten largest holders were classified as non-private. The wallets themselves are published at /dataset/v1/excluded-holders.json.
- score integer (0–100)
- Composite score from weighted factors: ATH drawdown, volume/market-cap ratio, market-cap size, supply structure (free float), 24h volatility, verified holder concentration, and transparency gaps.
- holdersSampled integer
- Holder records REMAINING after custodial addresses were excluded — not the number examined. See holdersFetched for the size of the sample we classified. Readings below 50 do not update stored peaks and cannot raise a flag.
- holdersFetched integer
- Holder records returned by the provider and put through classification.
- asOf / measured date ISO 8601 date
- The UTC date the measurement was taken. Every published figure is tied to the date it was measured; we do not carry values forward.
- pageState enum
- currently-flagged · recovered (previously exceeded the threshold, no longer does) · monitored · dormant · gone (delisted upstream).
Machine-readable endpoints
Static JSON over HTTPS. No key, no registration, no rate limit, and cross-origin reads are enabled, so you can fetch these directly from a browser. Start with the discovery document, which lists every endpoint with its licence and citation string:
- /dataset/v1/index.json — discovery: all endpoints, licence, update cadence
- /dataset/v1/excluded-holders.json — the correction evidence: which top-10 wallets we classified out of each measurement, why, and how large each stake was
- /dataset/v1/contract-permissions.json — owner privileges read from deployed bytecode (mintable, pausable, blacklist, proxy…)
- /scores.json — frozen daily risk score, level and flags per coin
- /history.json — dated concentration series per coin
- /alerts.json — assets that newly crossed the threshold
See the corrections list for the assets where our classification changes the headline figure most, with the excluded wallets named.
Two conventions worth knowing before you quote any of it. null means we have no measurement, not a clean result — an unreported contract permission is unknown, not absent. And every figure is tied to the date it was measured; we never carry a value forward to make a series look continuous.
- /concentration.json — current holder-concentration measurements
- /coins-index.json — every asset we cover (id, name, symbol)
- /alerts.xml — RSS feed of newly flagged assets
- /llms.txt — site map for AI agents
- /sitemap.xml — full URL index
Limitations you should quote alongside the data
- Concentration is a risk signal, not proof of wrongdoing. A young legitimate project and a manipulation token can show identical numbers.
- We only measure EVM-compatible tokens on seven chains. Native assets (e.g. Bitcoin) are not holder-scanned.
- On-chain wallet labels are imperfect; an unlabelled exchange wallet may be counted as a private holder.
- Absence of a flag is not a safety guarantee.
Full detail is on our methodology page, and the terms governing use are in the disclaimer.