Methodology
Signals
Rules
All conditions must pass (AND) unless grouped with OR. A condition on a missing value fails, except where a rule says “or unknown”. Rule versions look like early_acceleration@1.0 and are stored with every firing.
| Signal | Fires when |
|---|---|
Early accelerationearly_acceleration@1.0 | Thesis velocity 1h > 2 AND Unique author growth 1h > 0.5 AND Crowding < 35 AND Early Quality > 70 AND Unique authors 1h ≥ 10 |
Broad attentionbroad_attention@1.0 | Unique authors 24h ≥ 80 AND Crowding < 22 AND Momentum > 70 |
High-quality cohorthigh_quality_cohort@1.0 | High-quality authors ≥ 8 AND Thesis velocity 1h > 2 AND (Early Quality > 85 OR Smart Cohort > 65) |
Crowding riskcrowding_risk@1.0 | Crowding > 75 AND Theses 24h ≥ 15 |
Social leading pricesocial_leading_price@1.0 | Divergence ≥ 65 AND Divergence state is EARLY_SOCIAL AND Social activity z ≥ 5 AND Theses 1h ≥ 6 AND Momentum > 80 |
Price leading socialprice_leading_social@1.0 | Divergence ≤ -50 AND Divergence state is LAGGING_SOCIAL AND Price move z ≥ 2.5 AND Unique authors 24h ≥ 10 |
Attention coolingattention_cooling@1.0 | Attention acceleration < -0.7 AND Theses in the prior hour ≥ 15 AND Momentum < 30 |
Conviction buildingconviction_building@1.0 | Conviction > 80 AND Repeat author ratio > 0.5 AND Active days (7d) ≥ 6 AND Unique authors 24h ≥ 20 |
Narrative breakoutnarrative_breakout@1.0 | Narrative Velocity > 82 AND Narrative growth 24h > 1 AND Theses 1h ≥ 3 |
False breakout riskfalse_breakout_risk@1.0 | Thesis velocity 1h > 3.5 AND Crowding > 70 AND Early Quality (or unknown) < 35 (or unknown) |
Lifecycle
- Fire — when a rule passes on the latest snapshot and no active signal of that type exists for the token.
- End — after 2 consecutive failing ticks, or at most 6 hours after firing.
- Cooldown — the same type does not re-fire on the same token within 2 hours of ending.
- Strength (0–1) — the average margin beyond each threshold: 0 = just passing, 1 = at or beyond the “full strength” level of every condition.
- Analog statistics — attached at fire time from earlier firings of the same rule (any token, same dataset) whose 24h outcome had already resolved: N, median 24h return, worst 24h drawdown, positive share and confidence (N < 10 LOW, < 30 MEDIUM, else HIGH).
Anatomy of a signal
Every signal carries the scores at fire time, its why lines, its rule version and analog statistics. The detail endpoint adds each condition's threshold and actual value, the feature snapshot and prior firings on the token.
{
"type": "EARLY_ACCELERATION",
"label": "Early acceleration",
"rule_version": "early_acceleration@1.0",
"strength": 0.214,
"why": [
"thesis velocity +218%",
"unique authors +71% (12 authors this hour)",
"crowding low (24)",
"early-quality cohort elevated (76)"
],
"analogs": {
"n": 27,
"median_24h": 0.168,
"worst_drawdown_24h": -0.284,
"positive_share": 0.59,
"confidence": "MEDIUM"
}
}Catalogue
Limitations that apply to every signal:
- Fomo activity is a sample of social attention; a signal describes what the network is doing, not what price will do.
- Signals are statistical context, not a promise — historical analog statistics are attached at fire time with their sample size.
Thesis activity is accelerating early, with broad participation and historically strong early posters.
Thesis velocity 1h > 2 AND Unique author growth 1h > 0.5 AND Crowding < 35 AND Early Quality > 70 AND Unique authors 1h ≥ 10
Full strength at: thesis_velocity_1h 6 · unique_author_growth_1h 2 · crowding 10 · early_quality 90 · unique_authors_1h 24
- — Requires an Early Quality value, so tokens whose early authors have no resolved history cannot fire it.
Many independent authors are posting; attention is not concentrated in a few accounts.
Unique authors 24h ≥ 80 AND Crowding < 22 AND Momentum > 70
Full strength at: unique_authors_24h 150 · crowding 8 · momentum 92
- — Breadth counts accounts, and related accounts cannot be detected from public activity.
Several historically consistent early posters are active on this token.
High-quality authors ≥ 8 AND Thesis velocity 1h > 2 AND (Early Quality > 85 OR Smart Cohort > 65)
Full strength at: high_quality_author_count 16 · thesis_velocity_1h 6 · early_quality 97 · smart_cohort 90
- — High quality = research score ≥ 70 with at least MEDIUM confidence, from outcomes resolved before the signal time.
- — Requires current activity (last-hour theses more than three times the token's hourly baseline), so a track record that posted yesterday does not keep it firing.
Attention is concentrated among a small number of accounts.
Crowding > 75 AND Theses 24h ≥ 15
Full strength at: crowding 95 · theses_24h 60
- — A caution state: it describes concentration of attention, not a forecast.
Thesis activity is decelerating versus the prior window.
Attention acceleration < -0.7 AND Theses in the prior hour ≥ 15 AND Momentum < 30
Full strength at: attention_acceleration -0.95 · theses_prev_1h 45 · momentum 8
- — Hour-on-hour comparisons are noisy for low-activity tokens; the prior hour must have at least 15 theses.
Authors keep returning to this token across multiple windows.
Conviction > 80 AND Repeat author ratio > 0.5 AND Active days (7d) ≥ 6 AND Unique authors 24h ≥ 20
Full strength at: conviction 95 · repeat_author_ratio 0.85 · active_days_7d 7 · unique_authors_24h 50
- — A small group posting repeatedly also builds conviction — check Crowding alongside it.
- — Requires at least 20 authors in 24h so a handful of loyal accounts cannot fire it alone.
The token's narrative is spreading faster than its usual pace.
Narrative Velocity > 82 AND Narrative growth 24h > 1 AND Theses 1h ≥ 3
Full strength at: narrative_velocity 97 · narrative_growth_24h 3 · theses_1h 15
- — Narratives come from keyword classification of thesis text; every token of a narrative shares the narrative-level inputs, so the token itself must have at least 3 theses in the hour.
A spike in activity with weak breadth and low historical quality — similar setups often faded.
Thesis velocity 1h > 3.5 AND Crowding > 70 AND Early Quality (or unknown) < 35 (or unknown)
Full strength at: thesis_velocity_1h 9 · crowding 92 · early_quality 10
- — A caution state built from activity shape; similar setups have often faded, but not always.
A signal inherits the confidence of the scores it reads (shown on each score). At fire time it carries historical analog statistics — earlier firings of the same rule whose 24h outcome had resolved — with N, median 24h return, worst 24h drawdown and a confidence level (N < 10 LOW, < 30 MEDIUM, else HIGH).
Endpoints
Signals are also delivered in realtime (signal.created, signal.ended) over the stream and as webhooks.
Example responses use illustrative values ($XYZ, example_rhea, a placeholder address) — not real tokens or authors; every field name and shape is exactly what the API returns. Long sections are collapsed as { … }.
/v1/quant/signalsThe signal feed, newest first.
Parameters
| Name | Description |
|---|---|
min_scorequery · <score>:<value> | Minimum score at fire time, e.g. momentum:70. Scores: momentum, conviction, crowding, early_quality, narrative_velocity, divergence, smart_cohort. |
signal_typequery · csv | Comma-separated types, e.g. EARLY_ACCELERATION,BROAD_ATTENTION. |
chainquery · csv | Comma-separated chains. |
market_capquery · number | Minimum market cap (USD). |
liquidityquery · number | Minimum liquidity (USD). |
created_afterquery · ISO-8601 | unix | Only signals fired after this time. |
statusquery · active | ended | all | Lifecycle status.Default all |
tokenquery · token ref | Only signals on this token. |
limitquery · integer 1–100 | Page size.Default 25 |
cursorquery · string | Opaque cursor from the previous page's next_cursor. |
min_scorequery · <score>:<value>Minimum score at fire time, e.g.momentum:70. Scores: momentum, conviction, crowding, early_quality, narrative_velocity, divergence, smart_cohort.signal_typequery · csvComma-separated types, e.g.EARLY_ACCELERATION,BROAD_ATTENTION.chainquery · csvComma-separated chains.market_capquery · numberMinimum market cap (USD).liquidityquery · numberMinimum liquidity (USD).created_afterquery · ISO-8601 | unixOnly signals fired after this time.statusquery · active | ended | allLifecycle status.Defaultalltokenquery · token refOnly signals on this token.limitquery · integer 1–100Page size.Default25cursorquery · stringOpaque cursor from the previous page'snext_cursor.
curl "https://fomoquant.app/v1/quant/signals?signal_type=EARLY_ACCELERATION&min_score=momentum:60&status=active" \
-H "Authorization: Bearer $FOMOQUANT_API_KEY"/v1/quant/signals/{id}One signal with its conditions (threshold vs actual), feature snapshot at fire time, analog summary, prior firings and the rule's documentation.
Parameters
| Name | Description |
|---|---|
idrequiredpath · sig_… | Signal id. |
idpath · sig_…requiredSignal id.
curl "https://fomoquant.app/v1/quant/signals/sig_8d3k2m9q4x7v1c6b5n0t" \
-H "Authorization: Bearer $FOMOQUANT_API_KEY"FomoQuant provides analytics and historical/statistical context, not financial advice or guaranteed predictions.
Social activity is rising faster than price and volume.
Divergence ≥ 65 AND Divergence state is EARLY_SOCIAL AND Social activity z ≥ 5 AND Theses 1h ≥ 6 AND Momentum > 80
Full strength at: divergence 95 · social_z 10 · theses_1h 20 · momentum 95