The Build Journal

Every discovery. Every dead end. Every breakthrough.
Follow the ORALE build in real-time.

🔗 Share on LinkedIn

The Insiders

Today the Wall Street Journal reported that the White House warned government staff on March 23 not to place bets on prediction markets amid the Iran war. The email went out hours after Trump posted on Truth Social that he would postpone strikes on Iranian power plants.

Then on April 7, at least 50 newly created Polymarket accounts placed massive "Yes" bets on a US-Iran ceasefire — hours before Trump announced it. One wallet, created at 10 AM, put $72,000 in at 8.8 cents and cashed out $200,000. Another, created 12 minutes before Trump's post, made $48,500.

This is the moment prediction markets stopped being a curiosity and became a national security story.

What Our Swarm Saw

While the WSJ was breaking this story, our apex wallets were telling a very different story about the ceasefire. Here's what the swarm logged in the last 24 hours on Iran-related markets alone:

iran_swarm_signals.log
338 Iran-related swarm signals (all-time)
 
BUY Kharg Island no longer under Iranian control by April 30 — $9,491
BUY Strait of Hormuz traffic returns to normal by end of April — $3,715
BUY Military action against Iran ends on April 27 — $2,603
BUY JD Vance diplomatic meeting with Iran by April 30 — $2,613
BUY Trump announces ceasefire broken by April 21 — $915
SELL Will the U.S. invade Iran before 2027? — $377
SELL Will Reza Pahlavi enter Iran by June 30? — $834
BUY Iranian regime fall before 2027? — $589
BUY US x Iran meeting by April 30 — $226

Read that carefully. The apex wallets are simultaneously betting that:

  • The ceasefire will break down (buying "ceasefire broken by April 21")
  • Military action ends in late April (not now — April 27-29)
  • Kharg Island changes hands (major escalation signal)
  • A Vance-Iran diplomatic meeting happens (back-channel activity)
  • Ground invasion is not happening (selling "invade before 2027")

Translation: the smart money thinks this ceasefire is a tactical pause, not a peace deal. They expect the war to resume and end on a specific timeline — late April — possibly through negotiation rather than invasion.

Professor Jiang Called It

We ingested Professor Jiang's latest Predictive History episode today — "Game Theory #20: Midterm Examination." His analysis of the ceasefire landed before the ink was dry:

"If you go into a shop and you're hoping for $100 but you say $1,000, and the shop owner says 'Yeah I'll take that deal' — there's something wrong here. Trump is not serious about this ceasefire."

He dissected Iran's 10-point demand list — no future attacks, full Hormuz control, uranium enrichment, all sanctions lifted, reparations, US military withdrawal — and concluded it's designed to be rejected. Both sides are using the pause to reposition.

This aligns perfectly with the swarm data. The apex wallets aren't pricing in peace. They're pricing in a resumption window.

The Bigger Picture

The White House insider trading story validates what ORALE has been built to detect. Prediction markets aren't just betting platforms — they're information markets. When 50 fresh wallets bet $72K each on a ceasefire hours before it's announced, that's not prediction. That's foreknowledge.

Our apex wallet set doesn't include those 50 accounts. Our 1,500 wallets are long-term, high-volume, multi-market traders identified by on-chain performance — not one-shot accounts that appear, profit, and vanish. We're tracking the institutional smart money, not the insider one-timers.

But the WSJ story proves the thesis: prediction market data contains signal about the future. The question is whether you're reading the signal from informed traders (our approach) or from insiders committing federal crimes (theirs).

338Iran Swarm Signals
50+Suspicious New Accounts (AP)
$200KLargest Single Payout
Mar 23WH Warning Email

Congress is now pushing to broaden insider trading laws to cover prediction markets. The CFTC can bar event contracts related to war and terrorism. The regulatory walls are closing in on exactly the kind of trading ORALE watches.

We built a system to read prediction markets for macro signals. The White House just proved why that matters — and why the stakes are higher than anyone thought.

The Purge

For eleven days, our swarm monitor has been watching 1,500 apex wallets make moves on Polymarket. It fires every time three or more converge on the same market. Great system. One problem.

It was drowning in noise.

We pulled the numbers today and the breakdown was brutal:

signal_audit.log
TOTAL swarm entries logged: 27,770
 
Crypto 5-min bins: 14,003 (50.5%)
Sports matches: 4,411 (15.9%)
Weather micro-bets: 307 (1.1%)
Price range bets: 336 (1.2%)
Social noise: 195 (0.7%)
Interesting stuff: 676 (2.4%)

Half our signal log was apex wallets betting on whether Bitcoin goes up or down in the next five minutes. Another 19% was sports — "Will Liverpool FC win tonight?" "Cusco FC vs. whoever." Not exactly the macro intelligence we were looking for. Only 2.4% — 676 signals out of 27,842 — were the kind of macro, geopolitical, and economic signals worth tracking.

What Actually Matters

When we stripped the noise and looked at what the apex wallets were actually doing on markets that move the needle, the picture changed completely:

macro_signals.log
Fed rate cuts 6+ wallets, $3,618
Iran regime change 5 wallets, $2,169
UK warships in Hormuz 5 wallets, $1,171
Hungarian elections 5 wallets, $1,431
Peruvian elections 5 wallets, $1,372
French presidential 5 wallets, $974
WTI Crude $100 6 wallets, $2,952
Bitcoin $74K threshold 5 wallets, $1,063

This is the signal. Apex wallets quietly positioning on geopolitical events, central bank decisions, commodity thresholds, and political outcomes. The stuff that actually moves asset prices.

Three-Layer Filter

We built a noise filter and deployed it at three layers in the stack:

  1. Swarm Monitor (source) — The monitor itself now skips noise markets before logging. Sports, crypto 5-min bins, weather, esports — none of it even hits the swarm log anymore.
  2. Signal Pipeline (ORALE) — The unified signal format runs the same filter. Even old noise entries won't surface as signals.
  3. Tauntaun Bridge (consumer) — The bridge that converts ORALE signals into equity trades has its own copy. Belt, suspenders, and a parachute.

The filter catches 60+ patterns across sports leagues, team names, esports titles, crypto bin syntax, weather phrasing, and celebrity noise (sorry, Elon tweet counters). We tested it against known-good signals — zero false positives. Fed rate cuts, geopolitical events, commodity thresholds, elections — all pass through clean.

The Numbers After

97.6%Noise Removed
2,267Before
154After
60+Filter Patterns

97.6% of what we were tracking was noise. The remaining 154 signals are macro nowcast mispricings and apex wallet consensus on geopolitical/economic events. That's what feeds Tauntaun. That's what generates trades.

Wallet Freshness

The apex wallet refresh runs daily at 3 AM PT. The scanner pulls 7 days of on-chain trades from Goldsky, scores wallets on trade frequency, market diversity, and volume, drops anyone dormant for 30+ days, and caps the set at 1,500.

Fresh wallets every day. If someone goes cold, they get rotated out. If a new whale starts making sharp calls, they get added. No stale addresses watching markets that no longer exist.

But today we added a second dimension: quality scoring. We looked at every wallet's history in the swarm log and classified what they trade. The results:

wallet_quality.log
SCORED 1,034 wallets from swarm history
SIGNAL+ 488 trade macro/political markets
NOISE- 528 mostly sports/crypto bins
 
Signal wallets get +5 point boost
Noise wallets get -5 point penalty

Half of the wallets we could score were noise-dominant — sports bettors and 5-minute crypto gamblers. They were diluting every swarm signal. Tomorrow's 3 AM refresh will produce a fundamentally different apex set, biased toward wallets that trade on information, not box scores.

The Takeaway

A prediction market intelligence system is only as good as the questions it's answering. We were tracking 28,000 swarm events and most of them were asking "will this soccer team win tonight?"

Now we're tracking hundreds of events that ask "will the Fed cut rates?" and "is Iran's regime going to change?" and "will crude hit $100?" — the markets that actually predict the future.

The swarm didn't get smarter today. We just got better at listening.

The Receipts

We've been making calls for 10 days. Swarm detects apex wallets converging. Dashboard lights up. We tell you what the smart money is doing.

Cool story. But did any of it actually work?

We realized we'd been tracking predictions without ever going back to check the scoreboard. That's like a weather app that tells you it'll rain but never admits when it was sunny. So today we built the thing that keeps us honest: a resolution tracker.

How It Works

Every swarm prediction points at a specific Polymarket question — "Bitcoin Up or Down in the next 15 minutes," "Will the Lakers win tonight," whatever. Those markets close. They resolve. There's a winner.

Polymarket's Gamma API tells us exactly what happened. The market closes, the outcomePrices field settles to ["1", "0"] — one outcome gets the dollar, the other gets zero. No ambiguity. No "well, it depends on how you look at it." Binary truth.

So we wrote a script that:

  1. Takes every swarm signal we've logged
  2. Looks up the market on Polymarket
  3. Checks if it closed, and who won
  4. Compares the winner to what the swarm bet on
  5. Stamps it: ✅ or ❌

No model. No adjustment. No "well the swarm was directionally right." Either the wallets called it or they didn't.

The Numbers

resolve_signals.log
$ orale resolve --days 7
LOADED 793 signals · 8,852 market IDs
QUERIED 346 unique markets via Gamma API
CLOSED 345/346 confirmed resolved
 
✅ CORRECT 449
❌ INCORRECT 79
📈 WIN RATE 85.0%

528 resolved predictions. 449 correct. 85% win rate.

Let's be clear about what this means and what it doesn't.

What It Means

The apex wallets — the top ~0.5% of Polymarket traders — aren't just busy. They're right. When 7+ of them converge on the same side of a market, they're calling it correctly 85% of the time. That's not a coin flip with extra steps. That's a genuine predictive signal.

And this isn't cherry-picked. We didn't go back and find the good ones. The script checked every single swarm prediction from the last week against actual outcomes. The ones where 3 wallets bought Bitcoin Up at 2:15 AM? Counted. The 30-wallet stampede on the NBA game? Counted. All of it.

85%Win Rate
528Resolved
449Correct
79Wrong

What It Doesn't Mean

This is not a trading signal. Not yet. Win rate alone doesn't tell you if a strategy makes money. You need to know the odds at entry. If the swarm is buying "Bitcoin Up" contracts at 85¢ and winning 85% of the time, you're barely breaking even after fees. If they're buying at 50¢ and winning 85%, you're printing money.

We don't have entry prices on all of these yet. That's the next piece — tracking the price at which the swarm enters vs. the resolution. Win rate × payout = actual edge. We have the first half. Working on the second.

Sample size caveat. 528 predictions over one week is decent but not statistically bombproof. These are mostly short-duration markets (crypto windows, daily sports), which means high turnover but potentially different dynamics than longer-term political or macro markets. The signal might be stronger on some market types than others.

Survivorship question. Our "apex wallets" are defined by their historical win rate. By definition, they're the ones who've been right before. The interesting question is whether past performance actually predicts future performance here — or whether we're just watching mean reversion in slow motion. Early data says the edge is real. But we're watching.

What We Shipped

The dashboard now shows resolution status on every swarm prediction. Go look — ✅ and ❌ badges right on the signal rows. The stats strip shows a live win rate that updates every refresh. No more "trust us, the wallets are smart." Now there's a scoreboard.

We also killed the old backtest panel. It was showing parameter sweep results from the initial build — interesting historically, but stale. The resolution tracker replaces it with something better: actual results from actual markets. Backtests tell you what might have worked. Resolution tells you what actually did.

The resolution script runs incrementally — it only checks markets it hasn't resolved yet, so each refresh is fast. It's wired into the pipeline. Every time the dashboard refreshes, the scorecard updates.

What's Next

Three things on the board:

  1. Entry price tracking. Win rate × payout = real edge. We need the contract price at the moment the swarm enters, not just whether they were right.
  2. Segment analysis. Does the swarm perform differently on crypto vs. sports vs. politics? Are 30-wallet swarms more reliable than 7-wallet swarms? The data's there now — we just need to slice it.
  3. Longer lookback. Today we resolved a week. We've got months of swarm data in the log. Running the full history will tell us if 85% holds up or if we caught a hot streak.

We stopped talking about how smart the wallets are and started proving it. 85% with receipts. Let's see if it holds.

The Economy Has a Split Personality

Pulled the full nowcast refresh tonight. 22 FRED indicators. And the picture they paint is genuinely weird — two economies running side by side, telling opposite stories.

Economy A says things are fine. Unemployment dropped to 4.3% (from 4.4%). Payrolls added 178K jobs. Initial claims fell to 202K. Manufacturing employment ticked up. GDP grew $344B. Housing starts surged 100K. If you only looked at the labor market, you'd think we're in a quiet expansion.

Economy B says people are miserable. Consumer sentiment is stuck at 56.6 — a number you normally see in recessions. WTI crude hit $104.69 and gas is knocking on $4/gallon. Building permits dropped 69K (builders see something consumers feel). Job openings collapsed by 358K. The trade deficit widened by $2.7B. And the VIX is sitting at 24.5 — not panicking, but not sleeping either.

The Terminal View

nowcast_apr03.log
LABOR Unemployment 4.3% ↓ | Payrolls +178K | Claims 202K
GROWTH GDP +$344B | Retail Sales +$4.4B | Starts +100K
STRESS Sentiment 56.6 | WTI $104.69 ↑ | Gas $3.99
CRACKS JOLTS -358K | Permits -69K | Trade -$2.7B
RISK VIX 24.54 | HY Spread 3.17% | 10Y-2Y 0.51%

What the Split Means for Prediction Markets

This is the kind of environment where prediction markets get interesting. Macro narratives are cleaner when everything points the same direction — recession or expansion, risk-on or risk-off. But when the data is fighting itself, the models diverge and the markets misprice.

The labor data keeps GDP contracts cheap. Kalshi's GDP markets are still mispriced (see yesterday's entry) because jobs are holding up. But sentiment at 56.6 means consumers feel like things are bad even if they still have paychecks. That feeling eventually turns into spending cuts. Which turns into earnings misses. Which turns into the layoffs that the sentiment was warning about.

Sentiment leads. Employment lags. We've seen this movie before.

Oil is the wildcard. WTI at $104.69 with Hormuz still disrupted is a tax on everything. Every dollar gas goes up is a dollar consumers don't spend somewhere else. The payroll number looks strong until you realize half of it gets eaten by the pump. The Fed can't cut into rising energy prices without looking reckless. And they can't hold without choking the consumer who's already at 56.6 sentiment.

The Bet We're Watching

The split personality creates one specific setup we're tracking: recession probability contracts. Right now they're priced around 49% on Kalshi. The labor data says that's too high. The sentiment data says it's too low. One of them is wrong, and the resolution will be violent when it comes.

Our stance: don't bet on the resolution. Bet on the sequence. Jobs hold → markets relax → contracts get cheap → sentiment finally infects employment → the turn happens when nobody's watching anymore. The edge is in timing the lag, not predicting the destination.

22FRED Indicators
56.6Consumer Sentiment
$104.69WTI Crude
4.3%Unemployment

The economy can't decide what it wants to be. We're not picking a side — we're watching the lag.

Everything Moves. Your Watchlist Should Too.

We noticed the dashboard had gone quiet. The swarm monitor was catching 15,000+ events, but the site was showing almost nothing. Why? Because we were filtering too aggressively.

The original logic: strip out all crypto micro-windows and esports markets. Treat them as noise. And most of the time, they are. A 3-wallet cluster on a 5-minute Bitcoin window is meaningless.

But 13 wallets piling $1,768 into one BTC 5-minute window? That's not noise. That's conviction. We were throwing away the baby with the bathwater.

The Fix: Filter Smart, Not Hard

New rule: micro-markets only get filtered if they're small — fewer than 5 wallets AND under $500 in volume. If the apex wallets are converging with real money on a crypto window or an esports match, we want to see it.

signal_filter.diff
- if MICRO_MARKET_RE.search(question):
-     sw_filtered += 1
-     continue
+ if MICRO_MARKET_RE.search(question):
+     if wallet_count < 5 and total_usd < 500:
+         sw_filtered += 1
+         continue

Result: signal history jumped from 97 entries to 577. The dashboard went from flatline to alive.

Stale Wallets = Stale Edge

Second change: the apex wallet set was refreshing weekly. Every Monday at 3 AM, the system would pull the latest 7-day on-chain data from Goldsky, score every wallet by trade count, market diversity, and volume, then rebuild the watchlist.

Weekly sounds reasonable until you think about it. Prediction markets move fast. A wallet that crushed it last Tuesday might be dormant by Friday. A new whale might start moving Wednesday and we wouldn't see them until next Monday.

The refresh is now daily. Same criteria — ≥10 trades/7d, ≥3 markets, ≥$500 volume, dormant >30d dropped — but the set updates every 24 hours instead of every 168.

1,349 wallets currently tracked. That number will shift daily now, which is exactly the point.

The Lesson

Filters are hypotheses. "Crypto micro-windows are noise" was a hypothesis. It was mostly right — but "mostly" means you're still missing signal. The better hypothesis: "Small clusters on micro-windows are noise. Big clusters on anything are signal."

Same with refresh cadence. "Weekly is fine" was a hypothesis. In a market where fortunes change daily, weekly is a week too slow.

15,000+ swarm events. 577 signals surfaced. 1,349 wallets refreshing daily. The system sees more now — and what it sees is more current.

The GDP Mispricing Wall

The nowcast model refreshed this morning. 29 signals total, 22 actionable. And 10 of them are screaming about the same thing: Kalshi's GDP markets are absurdly mispriced.

Our model says there's a 95.8% chance GDP growth exceeds 0.3% in 2026. Kalshi has that contract trading at . That's a 91.8-cent edge. Ninety-one cents. On a binary contract.

The Wall

It's not just one contract. It's ten. Every single GDP threshold is mispriced in the same direction. The market is pricing GDP growth like we're already in a recession.

gdp_mispricing_wall.log
THRESHOLD MODEL KALSHI EDGE
GDP > 0.1% 96.9% 6.2¢ 90.7¢
GDP > 0.3% 95.8% 4.0¢ 91.8¢
GDP > 0.8% 91.9% 3.0¢ 88.9¢
GDP > 1.3% 85.7% 11.3¢ 74.4¢
GDP > 2.3% 65.5% 24.2¢ 41.3¢
GDP > 2.8% 52.7% 15.9¢ 36.8¢
GDP > 3.3% 39.5% 2.4¢ 37.1¢
GDP > 3.8% 27.4% 1.0¢ 26.4¢
GDP > 4.3% 17.5% 3.0¢ 14.5¢
GDP > 4.8% 10.3% 2.0¢ 8.3¢
 
GDPNow estimate: 2.9% | Source: Atlanta Fed

The Atlanta Fed GDPNow tracker currently estimates 2.9% GDP growth. That's the Fed's own nowcast model. Not ours. Not some guy on Twitter. The Federal Reserve Bank of Atlanta. If GDPNow is even in the ballpark, then "GDP above 0.3%" resolving YES is about as close to a sure thing as prediction markets get.

The juiciest trade might be the 2.3% threshold. Our model says 65.5%. The market says 24.2¢. GDPNow says 2.9%, which is above 2.3%. If you trust the Fed's own estimate, that contract is a 41-cent gift.

Why Is This Happening?

Three possible explanations:

1. Liquidity desert. These contracts might have almost no volume. Thin markets can sit at absurd prices for days because nobody's paying attention. GDP contracts aren't sexy — nobody's posting them on Twitter. Fewer eyes, fewer bots, fewer market makers correcting the price.

2. Tariff terror. Today is April 2 — "Liberation Day" for the new tariff regime. Markets might be pricing in a GDP catastrophe from trade disruption. GDPNow reflects current data; the market might be pricing future shock. If traders believe tariffs will crater growth, they might rationally price GDP > 0.3% much lower than the backward-looking data suggests.

3. Calendar confusion. These are annual 2026 contracts. We're only in Q2. A lot can go wrong between now and year-end. Maybe the market is pricing the tail risk of a second-half collapse, not disagreeing with current data.

We don't know which explanation is right. Probably some mix of all three. But even if you give maximum credit to the tariff-shock thesis, "GDP stays positive" at 4¢ is aggressive.

Meanwhile: Apex Wallets Are Scalping 5-Minute Candles

While we were staring at GDP walls, the swarm monitor caught something bizarre.

Remember how we filter out 5-minute crypto micro-markets because they're noise? The apex wallets didn't get the memo. They're actively trading them.

swarm_micro_scalps.log
MARKET Bitcoin Up or Down — Apr 2, 2:15-2:20 PM ET
 
BUY UP 4 apex wallets $200-600 each
BUY DOWN 3 apex wallets $200-600 each
 
Same 5-minute window. Opposite sides.
The "smart money" vs. the "smart money."

These are supposedly the best wallets on Polymarket — verified track records, 55%+ win rates, hundreds of trades. The top 0.51% of all traders on the platform. And they're scalping 5-minute Bitcoin candles for a few hundred bucks a pop. On both sides.

This tells us something important about the apex wallet population: not all of them are playing the same game. Some are sophisticated macro traders. Some are high-frequency scalpers treating Polymarket like a derivatives exchange. And some are apparently willing to bet against each other in real-time on whether Bitcoin goes up in the next 300 seconds.

"Smart money" isn't a monolith. It's a zoo.

What We're Doing About It

Nothing with real money. Not yet.

The GDP mispricing is the single largest systematic edge our model has ever detected. 10 contracts, all directionally aligned, all anchored by the Fed's own estimate. That's not noise — that's a wall.

But we learned from March 27: big numbers demand big skepticism. Before we'd ever size into these:

  1. Liquidity check — What's the actual volume and depth? A 90¢ edge means nothing if you can only fill $50.
  2. Tariff scenario modeling — What GDP path would justify current prices? If the market is right about tariff damage, what does that imply?
  3. Time decay — These are annual contracts. How does the edge change as data rolls in through the year?
10Mispriced Contracts
91.8¢Largest Edge
2.9%GDPNow Estimate
7Wallets Scalping 5m

For now, we're logging the signal, paper-tracking the positions, and watching whether the market corrects toward our model — or whether our model needs to account for something it's missing.

The best trade is sometimes the one you study before you take.

The Crowd Is Watching Iran

2,241 swarms detected today. The most active day we've ever tracked. And the crowd is telling us exactly what it's afraid of.

The single biggest market by swarm volume: "US forces enter Iran by March 31?" — $45K in coordinated trades, 4 wallets, resolved NO. But here's the thing: the smart money didn't stop there. $22.7K piled into "Iran/Israel conflict ends by April 7?" (betting NO), $11.4K on "US/Iran ceasefire by April 7?" (also NO), and $8.1K betting YES on US forces entering Iran by April 30.

The wallets are saying: this isn't over. Not even close.

The Word-by-Word Bets

This one blew our minds. Traders are placing bets on individual words Trump will say during his Address to the Nation tonight. Not the substance — the words.

trump_speech_swarms.log
MARKET DIRECTION VOLUME
Will Trump say "Hormuz"? YES $512
Will Trump say "Obliterated"? YES $361
Will Trump say "Oil" or "Gas" 3+? YES $398
Will Trump say "Ceasefire"? YES $220
Will Trump say "Kharg" or "Island"? NO $271
Will Trump say "Six Seven"? NO $678

This is prediction markets at their most granular. Forget outcomes — people are trading on rhetoric. The consensus: Trump talks Hormuz, talks oil, uses strong language ("obliterated"), but doesn't name Kharg Island directly. Read into that what you will.

Bitcoin Found Its Range

While geopolitics dominated the dollar volume, the Bitcoin swarms were the cleanest signal of the day. The crowd bracketed BTC into a tight band:

  • Above $64K? YES — $14.8K bet, resolved correct ✓
  • Above $66K? YES — $23.3K total action, resolved correct ✓
  • Above $68K? Contested — buys AND sells, tight
  • Above $74K? NO — $14.5K bet, resolved correct ✓

The swarm consensus: BTC lives between $66K and $70K right now. No breakout, no crash. Just range-bound chop while the world watches the Middle East.

The "Smart Money" Is Bleeding

Here's the number that should make everyone uncomfortable: our 19 tracked apex wallets have lost $888K on $2.46M invested. That's a -36% aggregate return.

apex_wallet_pnl.log
WALLET PnL ROI W/L
0xee00ba33 +$86,743 +13.7% 8W/2L
0xd84c2b6d +$3,623 +318% 8W/0L
0x0a77bc06 +$2,973 +10.1% 6W/4L
--- 16 more wallets ---
0x93abbc02 -$95,860 -46.5% 4W/6L
0xed8fc3b2 -$103,069 -100% 0W/10L
0xf9b5f729 -$510,559 -100% 0W/10L
 
AGGREGATE: $2.46M invested → $1.57M current
NET PnL: -$888,345 (-36.1%)

One wallet — 0xee00ba — is carrying the entire portfolio with +$87K. Three wallets got completely wiped: 0/10 win rate, 100% loss on every position. These were supposed to be the best traders on Polymarket.

This matters for ORALE because we use these wallets as signal sources. If the "smart money" is getting destroyed, our swarm signals need recalibration. Are we following the right wallets, or just the loudest ones?

The Macro Nobody's Watching

While the crowd obsesses over Iran, our nowcast model found something wild in the economic data:

GDP markets are massively mispriced. The Atlanta Fed GDPNow tracker says 2.9% growth. But "GDP growth above 0.3% in 2026" is trading at 3.8¢ on Kalshi. Our model says that should be 95.8¢. That's a 92-cent edge — the largest disagreement between our model and the market we've ever seen.

The other macro signal: "More tech layoffs in 2026 than 2025?" is trading at 87¢ YES. But initial jobless claims are trending down (-1,333/month), nonfarm payrolls are growing (+6K/month), and unemployment is flat at 4.4%. Our model says that's a coin flip at best, not an 87% lock.

Meanwhile, Fed rate markets are unanimous: no cuts in April, June, or July. The crowd expects rates to stay exactly where they are. Given CPI running at 3.2% annualized, that's probably right — but it means any surprise cut would catch everyone flat-footed.

What This Day Tells Us

Three things:

1. Geopolitics eats everything. When there's a real-world conflict, prediction markets become a geopolitical sentiment engine. Sports, crypto micro-windows, Fed rates — they all take a backseat to "will there be a war." The signal-to-noise ratio on everything else drops.

2. The smart money label is earned, not permanent. A wallet that was profitable last quarter can blow up this quarter. Our auto-refresh system catches this over time, but today's snapshot is a brutal reminder: past performance doesn't predict future results. Even on-chain.

3. The best edges are in the boring markets. Nobody's excited about GDP threshold pricing or tech layoff base rates. That's exactly why they're mispriced. The crowd is watching Iran. The opportunity is in the macro data nobody's looking at.

2,241 swarms. 1,349 wallets. 29 nowcast signals. The system sees everything. The question is whether we're reading it right.

The Wallets Were Stale — And We Almost Missed It

Here's a lesson about building on live data: your inputs rot if you don't maintain them.

ORALE launched with 733 apex wallets — hand-identified from historical Polymarket data. Win rate ≥55%, positive PnL, 100+ trades. A solid starting set. The problem? We never refreshed it.

Tonight we ran the numbers on real-time Goldsky trade data: only 3% of currently active traders were in our apex set. The top 20 most active wallets? Only 1 was in our list. We were watching a graveyard.

The Fix: Auto-Refreshing Everything

We built two automated systems to keep ORALE's data current:

apex_refresh.log
$ python scripts/refresh_apex_wallets.py
[INFO] Fetching 7 days of trades from Goldsky...
[INFO] 50,000 trades → 7,513 unique wallets analyzed
 
RESULTS
Previous set: 733
Kept (still active): 187
Dropped (dormant >30d): 546
New additions: 1,162
Final set: 1,349 apex wallets
 
[INFO] Scheduled: weekly auto-refresh (Mondays 3 AM)

Wallet refresh: Every Monday at 3 AM, we pull the last 7 days of on-chain trades, score wallets by trade frequency, market diversity, and volume, then merge with the existing set. Dormant wallets (no activity in 30+ days) get pruned. New high-performers get added. The set stays alive.

Token map refresh: The token map — which translates on-chain token IDs into human-readable market questions — was 267MB and 3 days stale. We rebuilt it to only track active markets (17MB), refresh every 6 hours, and fall back to live Gamma API lookups for anything unknown. No more "Unknown market" swarm alerts.

What We Learned

Three takeaways from this near-miss:

1. Static data in dynamic markets is a lie. The 733-wallet set was accurate when we built it. But prediction markets move fast — traders come and go. A wallet that was killing it in February might be dormant by April. If you're not refreshing your inputs, you're trading on ghosts.

2. 546 wallets were dead weight. That's 74% of our original set. They hadn't traded in over 30 days. The swarm monitor was watching wallets that had left the game. No wonder some swarm signals felt thin.

3. The real alpha is in the rotation. 1,162 new wallets made it into the set. These are traders who are active right now, trading across multiple markets, putting real volume down. That's who you want to follow — not last month's heroes.

The Current Stack

As of tonight, ORALE runs on four automated jobs — zero human intervention required:

  • Swarm Monitor — continuous, polls every 60s, live on-the-fly token resolution
  • Nowcast Pipeline — every 30 min, FRED + Kalshi data → signals → deploy
  • Token Map Refresh — every 6 hours, active markets only (17MB vs 267MB)
  • Apex Wallet Refresh — weekly, on-chain behavioral scoring, auto-prune dormant

The system maintains itself. That was always the goal.

Cleaning Up the Signal Feed

The swarm monitor was doing its job — catching every instance of apex wallet convergence across Polymarket. But the raw feed needed refinement. Time to tighten the display so the signal-to-noise ratio matches the quality of the underlying data.

Filtering Micro-Markets

Polymarket runs 5-minute crypto windows — "Bitcoin Up or Down, 2:15AM-2:20AM ET" — hundreds of them per day. The swarm monitor was correctly detecting apex wallet activity on these, but they resolve too fast to be actionable and dominated the feed. We added a filter to exclude them and surface only the markets worth watching.

signal_audit.log
BEFORE FILTER 504 swarm signals
├─ 5-min crypto windows 435
└─ Actionable markets 69
 
AFTER FILTER Real conviction surfaces:
Purdue vs Arizona 7 wallets $77K volume
Nets vs Lakers 14 wallets $116K volume
Vitality vs Aurora 8 wallets $152K volume

The high-conviction signals — sports, esports, geopolitical — were already there. They just needed room to breathe.

Adding Directional Clarity

On Polymarket, every market has multiple outcome tokens. "Nets vs. Lakers" has a token for each team. The swarm monitor tracked which token the wallets were buying, but the dashboard was only showing "BUY" without the outcome. We wired the token map through to the display layer.

direction_labels.txt
# Before
BUY Nets vs. Lakers
 
# After
BUY YES (Lakers) Nets vs. Lakers
BUY NO (Purdue) Purdue vs. Arizona

Every on-chain token already maps to a specific outcome — "Lakers", "Up", "Vitality." Now that context flows all the way through to the user.

What Changed

  1. Micro-market filter — 5-minute crypto windows excluded from the signal feed
  2. Outcome resolution — every swarm signal resolves the token's outcome from the on-chain token map
  3. Rich direction labels — "BUY YES (Lakers)" instead of bare "BUY"
86Clean Signals
687Micro-Markets Filtered
100%Show Direction

The pipeline captures everything. The display now shows what matters. Better signal-to-noise, better clarity, same underlying data.

The Signal Channel Goes Live

Launched a public Telegram signal channel today. Three types of automated posts — swarm alerts, economic signals, and build updates. Every post goes through a safety filter. Every post includes a disclaimer. Full transparency.

The Clarity Problem

The first economic signal that went out said something about a "16% edge." That's quant jargon. A normal person has no idea what to do with that.

So we rewrote everything:

before_vs_after.txt
# BEFORE (useless)
🔴 SELL Recession 2026 — 16% edge
 
# AFTER (actionable)
📉 Will there be a recession in 2026?
Market says 37% chance → Our model says 21%
Translation: Market overestimates this.
Why: Yield curve normal, GDPNow 2.9%, mfg stable

Same data. Completely different readability. If someone can't understand the signal in 5 seconds, the signal is useless — no matter how accurate it is.

Zero-Cost Automation

Everything running right now costs $0 in API fees. Pure scripts:

60sSwarm Poll
2hNowcast Cycle
7xDaily Rebuilds
$0Token Cost

The swarm monitor and health checks are daemonized — they auto-restart on crash and survive reboots. The repo is scrubbed clean of all personal info, secrets moved to environment variables, and a safety gate blocks any personal data from ever hitting the public channel.

Where We Actually Are

Paper trading 50 positions. Swarm monitor watching 733 wallets. Nowcast refreshing every 2 hours. No track record yet — just a hypothesis, a working system, and the infrastructure to test it transparently.

The channel exists so that when results come in — good or bad — everyone sees them in real-time. That's the whole point. Build in public. Be honest. Let the data speak.

Someone Called BS on Our Numbers

We sent our site to a friend. A sharp one. He tore it apart.

🔥

"A Sharpe ratio of 12.72 is absurd. Real hedge funds celebrate a Sharpe of 2-3. A 12.72 either means the backtest window is comically small, the position sizing is trivial, or there's overfitting."

🔥

"If you test 180 configurations, some will look profitable by pure chance. There's no mention of out-of-sample validation, walk-forward testing, or any correction for data snooping."

🔥

"The entire thesis ('follow contrarian smart money') has a built-in self-destruct mechanism."

Reading this didn't feel good. It felt necessary.

What He Got Right

The Sharpe number is meaningless at this sample size. A Sharpe of 12.72 across 19 trades isn't a real Sharpe ratio — it's a small-sample artifact. Real Sharpe needs hundreds of trades over months. Hedge funds celebrate a 2-3 Sharpe because they're measuring it over thousands of trades with real capital and real slippage.

180 configurations = data snooping risk. Test enough parameter combinations and some will look profitable by chance. We haven't done out-of-sample validation. We haven't done walk-forward testing. The configs that "worked" might just be survivors of a dart-throwing contest.

Alpha decay is real. If enough people follow the same signal, the edge compresses. The contrarian bets stop being contrarian. The prices adjust.

What He Overstated

The underlying data is solid. 580K on-chain trades, 733 wallets verified through behavioral analysis — that's not fabricated. The critique is about our interpretation, not the data itself.

"Self-destruct" overstates the timeline. Every alpha decays. That's not a reason not to trade it — it's a reason to trade it while it exists, in a market niche small enough that we're not competing against Citadel.

What We Changed

Updated the site immediately. Renamed "THE PROOF" to "THE DATA." Removed the inflated Sharpe numbers from the terminal. Added the losing strategy first — because the honest story is that naive smart-money following bleeds. Added explicit caveats: "in-sample only," "overfitting risk," "paper trading before real capital."

The asymmetry insight survives scrutiny — buying at $0.30 and winning 60% mathematically makes money. That's not a backtest artifact. But proving the specific parameters generalize requires work we haven't done yet:

  • Out-of-sample testing — hold back 30% of data, validate on unseen trades
  • Walk-forward validation — train on month 1, test on month 2, roll forward
  • Live paper trading — two weeks, real-time, no money at risk
  • Multiple comparison correction — account for 180 configs tested

The Honest Status

HAVEHypothesis · On-chain data · Working pipeline · Asymmetry math
NEEDOOS validation · Walk-forward · Live track record · Statistical significance

Most trading projects die in one of two ways: they never test the idea, or they test it, get excited by in-sample results, and bet real money too soon. The critique caught us leaning toward door #2.

The fix isn't to stop building. It's to be honest about where we are. And honestly? "We have a hypothesis and we're testing it" is a better story than "Sharpe 12.72 LFG."

The friend who critiqued us is doing us the biggest favor anyone can do for a trading project: making us prove it before we believe it.

The Contrarian Insight That Changed Everything

We ran the backtester. 580K verified on-chain trades. 733 apex wallets. 180 strategy configurations.

The naive approach — just follow the smart money — loses money. Every configuration. Negative PnL. The win rates look amazing (60-71%), but the math is brutal: these wallets buy favorites at $0.80, win $0.20 on a good day, lose $0.80 when it goes wrong. The asymmetry is a killer.

Then we flipped the filter.

contrarian_sweep.log
FILTER entry_price ≤ $0.50 | BUY_ONLY | 7+ wallets
RESULT 79% WR | +$1,471 PnL | Sharpe 12.72
 
FILTER entry_price ≤ $0.60 | 5+ wallets
RESULT 58% WR | +$3,221 PnL | 204 trades
 
FILTER entry_price ≤ $0.60 | 10+ wallets | BUY_ONLY
RESULT 100% WR | 7 wins, 0 losses

The insight: Don't follow smart money blindly. Follow them when they go contrarian — when they're buying cheap, against the crowd. That's where the asymmetry flips in your favor. Small risk, big payout. The exact inverse of the losing strategy.

46 profitable configurations out of 180 tested. The best ones cluster around the same idea: low entry price, high wallet consensus, buy-only. The edge is real and it's repeatable.

733Apex Wallets
580KTrades Analyzed
46Profitable Configs
12.72Best Sharpe

The System Goes Live

With the contrarian filter proven in backtesting, we built the full pipeline today:

  • Nowcast engine — pulls live economic data (FRED, Atlanta Fed, Cleveland Fed, Kalshi API) and generates 22 actionable macro signals across 6 categories
  • Swarm monitor — watches all 733 apex wallets in real-time via on-chain events, detects when they converge on the same market
  • Paper trader — running 50 simulated positions ($3,923 invested) with the contrarian filter applied
  • Auto-deploy — the entire pipeline refreshes and deploys every 2 hours, zero human intervention

The swarm monitor caught 1,020+ events in its first few hours. Most are noise — small clusters, known markets. But when 7+ wallets pile into the same direction on a cheap contract? That's the signal we're built to catch.

Paper trading for two weeks before real money touches this. The math says we have an edge. Now we prove it lives outside a spreadsheet.

The Brand: ORALE

The project got a name today. ORALE — On-chain Recon & Apex Liquidity Engine. Also Mexican slang for "let's go / hell yeah." Both meanings fit.

Tagline: "Be the .51%" — not "follow" the .51%. Being, not following. That's the whole thesis in four words.

Built the site, the dashboard, the brand identity, all in one session. Terminal aesthetic because this is a war room, not a marketing page. The data speaks for itself.

580,000 Trades and a Hypothesis

It started with a simple question: can you actually find profitable traders on prediction markets? Not "my buddy says he's up" profitable — verifiably, on-chain, thousands-of-trades profitable.

We pulled the entire Polymarket trade history via the Goldsky subgraph. Not the API — that's broken (returns global trades regardless of filters, don't use it). The subgraph gives you raw on-chain events. Real data.

⚠️

Lesson learned: Polymarket's Data API /trades endpoint is unreliable — it returns trades from all markets regardless of your filter parameters. Always go on-chain via Goldsky.

580,100 verified trades later, we had our answer. Out of every wallet that's ever touched Polymarket:

733Apex Wallets
0.51%Of All Traders
$107KTop Wallet PnL
12270%+ Win Rate

These aren't lucky gamblers. The top wallet made $107K in pure profit. 122 wallets sustain a 70%+ win rate across hundreds of trades. The signal exists.

The hypothesis is simple: if these wallets consistently beat the market, and if we can detect when they converge on the same bet, we can follow the consensus and capture a slice of their edge.

Tomorrow we test that hypothesis with a backtester. The question isn't whether the wallets are good — the data already proves that. The question is whether following them is a viable strategy, and what filters make it profitable.

The firehose is dense — 250K trades per hour at peak. A naive "follow everything" approach would drown in noise. We need structure. We need filters. We need to figure out when the signal is strong enough to act on.

That's the build.