PredictionTool

PM
·····
Earned+$77
2 active2 settled
P$0.00·$0.00
Dashboard
Pre-MoveSmart MoneyEvent DriftImbalance
Tools
FormulasInsightsDataProfile
API StatusLive
Pre-MoveSmart MoneyEvent DriftImbalance
FormulasInsightsDataProfile
PM·····

Formulas

How we turn raw market data into one clear card 🃏

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".

🎯

Pre-Move — get in before the crowd

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.

Data source🟢 Polymarket · public, no auth🔑 Heisenberg · token

Markets + price + volume from Polymarket; social signal from Heisenberg.

The formula in one line

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.

1

Find candidate markets

We list open markets via the Markets search, paginate, and keep the liquid ones (by total volume) client-side.

💬 Show me open (not-closed) markets that haven't resolved yet, newest pages first.
Heisenberg replied:
Filterclosed = False · end_date in the future
Liquidity gatevolume ≥ $50k (applied client-side)
Paginationlimit 200 × several pages, then sort by volume
Top candidateFed rate cut in September?
🟢Polymarket · public API · no auth
Gamma · /markets
GET https://gamma-api.polymarket.com/markets
query: {
"closed": false
"active": true
"order": volume24hr
"limit": 200
}
auth: none (public)
→ Returns: Array of open markets — conditionId, question, clobTokenIds, volume24hr, liquidity, endDate
Pull the 6h price history
2

Ingredient #1 — Momentum Increase (weight 40%)

How much has the YES price risen over the last 6 hours? This is the headline number.

72¢
Price now
×
58¢
Price 6h ago
=
+24%
Momentum 6h

(72 − 58) / 58 × 100 = +24%. Normalised: min(24 / 30, 1) = 0.80 — a 30%+ move maxes the component.

🟢Polymarket · public API · no auth
CLOB · /prices-history
GET https://clob.polymarket.com/prices-history
query: {
"market": <tokenId>
"fidelity": 60
"startTs": <7d ago>
"endTs": <now>
}
auth: none (public)
→ Returns: { history: [{ t, p }] } — hourly price points → close 6 bars back vs latest
3

Ingredient #2 — Volume Surge (weight 30%)

Is the last 6h busier than usual? We compare 6h volume to the average 6h block of the prior day.

$310k
Volume last 6h
×
$100k
Avg 6h prior 24h
=
3.1x
Volume Surge

Normalised: min(3.1 / 4, 1) = 0.78 — a 4× surge maxes the component.

4

Ingredient #3 — Active Traders (weight 20%)

More unique wallets entering = broader conviction, not one whale. (Proxied from volume surge where a per-window trader count isn't available.)

54
Traders last 6h
×
23
Avg prior 24h
=
2.3x
Trader Surge

Normalised: min(2.3 / 3, 1) = 0.77 — a 3× surge maxes the component.

5

Ingredient #4 — Liquidity (weight 10%)

Deep markets are safer to enter and exit. Small tie-breaker weight.

$420k
24h notional
×
$500k
Cap
=
0.84
Liquidity score

min(liquidity / 500k, 1) — capped at $500k.

Blend the four ingredients
6

Blend → Signal Score (0–100)

Weighted sum of the four normalised components, scaled to 100.

0.80
Momentum × 0.40
0.78
Volume × 0.30
0.77
Trader × 0.20
0.84
Liquidity × 0.10

100 × (0.32 + 0.234 + 0.154 + 0.084)

79
Signal Score
Filters before it ever shows
7

Generation filter — only the real movers survive

To land ~15–20 cards/day we require all of these before a market becomes a card.

Liquidity> $50k
Momentum (6h)> 10%
Volume Surge> 2×
Active Traders> 1.5×
Price range15% – 85% (skip extremes)
Market statusActive (not closed/expired)
That's it. Card is ready 👇

What the user sees on their dashboard

Pre-Move
Score79/100

Fed rate cut in September?

Edge
+24% / 6h
Risk
Low
Side
↑ YES
Invest
$120

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.