Formulas
No code. No jargon. Pick a strategy below and follow ONE real market through every step we take — from "what we ask" to "what the user sees".
A market that's about to move shows it in the data first: the YES price ticks up over a few hours, volume surges, and more traders pile in. Pre-Move measures all three over a 6-hour window and blends them into one Signal Score. Get in while the move is young.
Markets + price + volume from Polymarket; social signal from Heisenberg.
Signal Score = 100 × ( 0.40·Momentum + 0.30·VolumeSurge + 0.20·TraderSurge + 0.10·Liquidity )Each input normalised to 0–1 and capped before weighting.
We list open markets via the Markets search, paginate, and keep the liquid ones (by total volume) client-side.
How much has the YES price risen over the last 6 hours? This is the headline number.
(72 − 58) / 58 × 100 = +24%. Normalised: min(24 / 30, 1) = 0.80 — a 30%+ move maxes the component.
Is the last 6h busier than usual? We compare 6h volume to the average 6h block of the prior day.
Normalised: min(3.1 / 4, 1) = 0.78 — a 4× surge maxes the component.
More unique wallets entering = broader conviction, not one whale. (Proxied from volume surge where a per-window trader count isn't available.)
Normalised: min(2.3 / 3, 1) = 0.77 — a 3× surge maxes the component.
Deep markets are safer to enter and exit. Small tie-breaker weight.
min(liquidity / 500k, 1) — capped at $500k.
Weighted sum of the four normalised components, scaled to 100.
100 × (0.32 + 0.234 + 0.154 + 0.084)
To land ~15–20 cards/day we require all of these before a market becomes a card.
Time window: 6h
The "Momentum Increase +24% last 6h" headline, the Implied Probability, and the Volume Surge / Active Traders tiles all come straight from the steps above.
🤝 Same recipe runs for every market every 2 minutes. The formulas don't change — only the inputs do. That's why the dashboard is reproducible and explainable end-to-end.