Sources, refresh and coverage
Which categories of source are used, how current the data is, and what happens when a source is slow, rate-limited or silent.
Moonboard licenses data from commercial providers under agreements that govern attribution and redistribution. Rather than publish a vendor list that could misstate a contractual position or go stale without notice, this page documents source categories, refresh behaviour and coverage — the properties that actually affect how a number should be read. Nothing here describes a source the platform does not use, and no source is claimed that is not in the processing chain.
Source categories
| Category | Provides | Type of source |
|---|---|---|
| Market data aggregator | price, marketCap, volume24h, volatility, marketDominance | Commercial aggregator consolidating many trading venues |
| Social analytics provider | socialVolume24h, interactions24h, socialDominance, sentiment, altRank | Commercial provider collecting and classifying public social posts |
| Crypto news feeds | Headlines, article metadata, recency, asset associations | Aggregated crypto media outlets |
| Public code hosting | Repository activity, contributors, commit history | Public APIs of code hosting platforms |
| Public community platforms | Follower and subscriber counts, engagement | Public APIs of social and community platforms |
| Market index feed | Aggregate market sentiment index | Publicly published index |
| Video platform | Crypto analysis videos and metadata for summarisation | Public API of a video platform |
Everything from the first two rows is what the seven scored metrics are built from. The remaining categories power the platform's news, ecosystem and video features and do not enter the scores.
Refresh intervals and latency
Two different quantities, often conflated. Refresh interval is how often the platform collects. Latency is how long after an event it can appear in a score — collection interval plus whatever delay the upstream source has.
| Data | Refresh | Typical end-to-end latency |
|---|---|---|
| Price, volume, market cap | Every few minutes | Minutes |
| Social volume, interactions, dominance | Every few minutes | Minutes to about an hour |
| Sentiment | Every few minutes | As above, plus classification time |
| altRank | Every few minutes | Set by the upstream provider's own cycle |
| News headlines | Continuous | Minutes after publication |
| Repository activity | Daily | Up to a day |
| Community counts | Daily | Up to a day |
Social latency is the one worth internalising. A post has to be published, collected upstream, aggregated into a 24-hour window and then pulled by Moonboard. Social metrics are not real-time, and any comparison of social timing against price timing has to account for that delay — which is the main reason the lead-lag question in research notes is harder than it sounds.
Everything social is a trailing 24-hour window
socialVolume24h and interactions24h are rolling 24-hour aggregates, not instantaneous readings. Two consequences follow:
- Spikes persist for a day. A burst of activity keeps the metric elevated for 24 hours after it ends, then falls away. A declining social metric may describe an event that finished yesterday rather than fading interest.
- Windows overlap between refreshes. Consecutive observations share most of their underlying posts, so the series is smoother than the underlying activity, and successive values are not independent observations.
Missing data
The handling rules, and what each does to a score:
| Condition | Handling | Effect on scores |
|---|---|---|
| Market cap zero or absent | Metric returns a neutral or zero value | Moonboard Score returns 0 — meaning "not computable", not "worst" |
| Social fields absent | Read as zero | Social metrics low; indistinguishable from genuine silence |
| Sentiment absent | Read as zero | Pushes SDE toward the bottom of the ranking as an artefact |
| Non-finite intermediate value | Excluded from the cross-section before ranking | One bad record cannot distort everyone else's percentile |
| Upstream fetch fails | Last successful observation is retained | Scores reflect the last good collection, not the present |
Treating an absent social value as zero keeps every metric computable and makes a collection failure look exactly like an inactive community. There is no field distinguishing the two. When a social metric drops sharply with no news to explain it, a collection gap is at least as likely as a real change in interest.
Rate limits
Every upstream source enforces request limits. Moonboard stays within them by collecting on fixed cycles and serving all users from cached aggregates rather than fetching per request. Three consequences are visible in the product:
- Refresh frequency is bounded by the upstream allowance, not by how fast the platform could poll.
- All users see the same snapshot between refreshes. Reloading a page does not fetch newer data.
- Under upstream throttling the platform serves stale data rather than gaps, on the reasoning that a slightly old complete picture is more useful than a fresh partial one. It does mean an unchanging value can indicate a stalled source.
Aggregation
Market data arrives already consolidated across venues by the upstream aggregator, which applies its own venue inclusion rules and outlier handling. Those rules are the provider's, not Moonboard's, and they affect every turnover figure on the platform.
Social data is aggregated across the platforms the provider covers. socialDominance is computed against total measured crypto social volume — so it is a share of what was measured, and expands or contracts with coverage as well as with attention.
Deduplication
News is deduplicated before display: the same story typically appears across many outlets within minutes, and counting each copy would measure syndication rather than significance. Matching is on title similarity and content overlap, which catches straight republication reliably and rewritten coverage of the same event less reliably.
Social posts are not deduplicated by Moonboard. Whatever deduplication exists is applied upstream. Copy-paste promotional campaigns may therefore be counted multiple times — one of the mechanisms discussed in AI agents and synthetic activity.
Universe composition
Moonboard tracks several hundred assets, selected primarily by the coverage of the upstream providers. The set changes as assets are added and removed.
This matters more than it appears. Four of the seven metrics are percentile ranks against this universe, so composition changes move scores without any change in the asset. It is also why historical reconstruction is difficult, and why no backtests are published — see research notes.
Related
- Data pipelineWhat happens between collection and score
- Data categoriesField definitions and units
- MethodologyHow the fields become metrics
- DevelopersProgrammatic access to this data