PredictionTool

PM
·····
Dashboard
Pre-MoveSmart MoneyEvent DriftImbalance
Tools
FormulasInsightsDataTradesProfile
API StatusLive
Pre-MoveSmart MoneyEvent DriftImbalance
FormulasInsightsDataTradesProfile
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.

Two guard rails added Sep 2026: markets already priced at ≤ 3¢ or ≥ 97¢ (finished games Gamma still lists as active) never become cards, and the momentum-derived edge on the button ("Enter +X%") is capped at 40%.

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 gate24h volume ≥ $10k (was $50k — that left ~59 live markets)
Dropped at discoveryended markets · decided ones (price ≤3¢ or ≥97¢, i.e. finished games)
Paginationlimit 200 × up to 5 pages, sorted by 24h volume; top 200 live markets scored
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≥ $10k · 24h volume (Deep ≥ $50k / Mid ≥ $25k / Thin on the card)
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.

💵

From signal to money — what the numbers on a card mean

Scores rank markets; people bet dollars. So the header of every card, and the trade ticket, use one shared model — the same math to the dollar. A prediction-market share pays $1 if you're right, $0 if you're wrong; everything below follows from that.

Data source🟢 Polymarket · public, no auth

Prices from the Polymarket order book; settlement in pUSD (Polymarket's USDC-backed collateral token).

The model in four lines

Stake
the signal’s suggested position — the amount the ticket opens with ("on $210")
Entry price
the signal side’s price + 1¢ (indicative); the ticket replaces it with the live order book
If right
shares − stake, where shares = stake ÷ entry. Each share pays $1.
If wrong
− stake. Shares of the losing side are worth $0.
1

Worked example — the Fed card

YES trades at 72¢. Entry is 73¢. Stake $210 buys 287 shares. Right → $287 back, +$77. Wrong → −$210.

$210
Stake
73¢
Entry (72¢ + 1¢)
287
Shares ($210 ÷ 0.73)
+$77
If right (+37%)

The card header shows IF RIGHT +$77 · on $210 · +37%. Open the ticket and the live book refines it — usually by a dollar or two.

Edge cases the UI is honest about
2

When there is no price, or the price is silly

No usable price → we show the signal edge instead of a dollar figure. Under 10¢ → a longshot tag.

EDGE +42% · signal edge · no price yet

Smart Money cards built from the wallet leaderboard alone have no market price — the header says so instead of inventing a payout.

longshot

Entry under 10¢: the payout looks huge (10× and up) because the market thinks it rarely happens. The tag keeps the big number honest.

≤ 3¢ / ≥ 97¢ → no card

Decided markets are dropped at discovery; nothing to earn there.

And when it's real money
3

Real orders — what actually happens

Real mode places a fill-or-kill market order through Polymarket's order book from your trading account, in pUSD.

💬 Buy $10 of YES on the Fed market, right now, at market.
Heisenberg replied:
Accountyour Polymarket deposit wallet (created on first use, gasless)
Ordermarket · fill-or-kill · price cap = best ask + 3¢
Rollout cap$10 per order while live trading is being proven
Feesinside the amount (≈2–3% taker on most markets); shown on the position as "entry fee"
Settlementmatched instantly, lands on-chain within a minute; positions in Profile → Trades
Resolutionwinning shares are auto-redeemed for $1 each into your account (you get a toast)

🤝 Same recipe runs for every market every 45–90 seconds (per strategy). The formulas don't change — only the inputs do. That's why the dashboard is reproducible and explainable end-to-end.