Poly Research & Robotics
PR&R / Trader Report
Home / Reports / FerrariChampions2026
Polymarket / On-chain

FerrariChampions2026

On-chain analysis of Polymarket trader FerrariChampions2026. Active over 30 days with 233,517 trades across 7,628 markets, netting +$1,136,314 at +2.6% ROI.

Published May 21, 2026 ~9 min read By PR&R Research View on Polymarket →
Volume traded
$43.77M
30-day window
Realized return
+2.6%
Cash-flow accounting
Top category share
39%
Tennis of total volume
Both-sides rate
55.1%
Market-maker shape
// 001 / Analysis

The portfolio shape, and where the edge appears to come from.

Wallet activity across 30 days, every fill mapped, profile traced.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 (30 days, 30 active) Universe: 233,517 trades · 7,628 markets · $43.8M gross turnover · +$1,136,314 net P/L · +2.60% ROI

This is a high-volume sports market maker running a spread-capture engine across tennis, baseball, and basketball. The wallet deploys capital on both sides of games simultaneously, locking in the bid-ask spread on Polymarket's CLOB, then lets settlement handle the residual. At $43.8M of turnover across 30 days, this is one of the largest books in the dataset by raw volume. The edge is not directional prediction: it is systematic spread capture at scale, with a meaningful directional tilt layered on top when conviction crosses a threshold.

The both-sides participation rate is 55.1%. Median paired cost is $0.9748 per dollar of resolution value. Every market where the paired cost comes in below $1.00 is a guaranteed profit regardless of outcome. The strategy doesn't need to know who wins; it just needs to buy both YES and NO at a combined price below $1.00 and collect the guaranteed spread at settlement.

The portfolio shape

Three categories do almost all the work. Tennis drives the most absolute P/L at +$585,676 on $17.2M deployed (3.4% ROI) and accounts for 55.6% of total trade count. MLB adds +$337,806 on $13.1M (2.6% ROI). Everything else is smaller. NBA is the problem child: -$191,047 on $7.9M deployed (-2.5% ROI). The NBA losses are concentrated in specific series matchups where the bot's spread model misfired badly, particularly the Timberwolves-Nuggets and Rockets-Lakers series. UFC/MMA is the statistical standout at +35% ROI, but with only $86K deployed it barely moves the needle on absolute P/L.

The size distribution is extreme power-law. The top 5% of trades carry 71.6% of capital, and the single largest fill is $190,399 in one ticket. The median trade is $6.60. This is not a uniform spreader: the vast majority of fills are small probes, while occasional conviction-sized clips dominate the capital deployment. The Lorenz curve is steep: the bottom 50% of trades account for only 0.52% of capital.

SCALE$43.8M of USDC turnover across 30 days averages $1.46M per day deployed. The wallet trades every single calendar day of the window - 30 of 30 active days.

Where the edge appears to come from

The P/L decomposition reveals the mechanism directly. Spread P/L is +$1,776,733 (buying both sides at sub-$1.00 combined cost guarantees this amount at settlement). The hedge tax - the cost of the non-dominant side in markets where the dominant side wins - is -$16,553,248. The realized total is +$1,136,314. The spread engine generates far more gross P/L than the realized net, but the hedge tax is the price of guaranteed profits: every locked spread requires buying the losing side too.

The dominance ratio analysis adds the second layer. At 3.0x+ dominance (2,497 markets), the dominant side wins 59.6% of the time and the mean paired cost is 0.9829. This is the "I'm taking a spread lock AND I think I know who wins" mode. At 1.0-1.5x dominance (685 markets), the dominant side wins only 49.7% - essentially coinflip, pure spread play. The escalating win rate as dominance rises from 1.5x to 3x+ confirms that the sizing scale is genuinely informative: bigger tilts to one side predict actual outcomes at above-chance rates.

Core mechanism: Buy both YES and NO for every eligible market at combined cost below $1.00, locking a guaranteed spread. Then skew capital allocation toward the side your model favors. The skew wins more often than not at high dominance, adding directional alpha on top of the structural spread.

The second-side lag median is 836 seconds (roughly 14 minutes). This is the gap between the first buy and the hedging buy on the opposite side. It is not an instantaneous pair - the bot enters the first side, then monitors the market, then hedges when the price on the other side becomes attractive enough. This is active spread management, not a single-click pair.

What you can copy

Two things from this wallet are directly replicable by a bot operator:

1. The paired-cost discipline. The core entry rule is: buy a side only if the sum of the YES VWAP and NO VWAP across your planned positions will land below $1.00. The median paired cost here is $0.9748. The 47.9% of markets that landed below $0.97 are the real money-makers. This rule is pure math and requires no sports knowledge.

2. The dominance-ratio scaling. Once you decide to take a directional tilt, the data confirms the signal is real. Markets with 3x+ tilts pay off at 59.6% correct vs. 49.7% at near-even. Size your tilts proportional to your model's confidence and the strategy improves materially.

What you probably can't copy

The NBA model is broken and the operator knows it. The six worst markets by P/L are all NBA - a combined -$400K+ of losses concentrated in Timberwolves, Nuggets, Cavaliers, and Hawks series. This wasn't random variance; it was systematic misfiring on a specific subset of the universe. The rest of the strategy works fine. The lesson: category-level model quality matters, and a spreader running an underpowered model on basketball playoff series can give back a month of tennis profits in two weeks of NBA exposure.

The execution infrastructure is also non-trivial. With 233,517 trades over 30 days (7,784 per day), median inter-fill gap of 5 seconds, and 57.4% of fills under 10 seconds, this is a high-throughput bot with persistent Polymarket CLOB connections. Reproducing this trade cadence from a standard REST API setup will hit rate limits before it generates meaningful spread capture.

// 002 / Figure

Cumulative P/L over the window.

The line is daily cumulative net P/L. Mouse along it for daily detail. The dashed grey trace, when present, is cumulative BUY notional deployed.

// 003 / Reverse-engineering report

Reverse-engineering report

Every fill mapped, the asymmetric profile traced, the math behind the edge.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 (30 calendar days, 30 active) Universe: 233,517 trades · 7,628 markets · 3,726 events · $43,768,856 gross turnover Net P/L: +$1,136,314 on $43,554,480 resolved BUY notional = +2.60% ROI in 30 days

P/L methodology: Cash-flow accounting on resolved BUYs. Each trade's P/L = shares (if win) - usdc_spent (if win), or -usdc_spent (if loss). Spread P/L is separately attributed as the guaranteed gain from paired positions where YES VWAP + NO VWAP is less than $1.00. The wallet has zero SELL trades, so all P/L is realized at settlement.


The Punchline

This is a both-sides spread-capture engine running across sports prediction markets at industrial scale. The wallet buys YES and NO on the same game, locking in the bid-ask spread as guaranteed profit at settlement, then skews capital allocation toward the side it believes will win. It is not a pure market maker (the skews are large and informative) and not a pure directional bettor (it hedges virtually every position). It is a hybrid: systematic spread capture with a directional model layered on top.

The economics require understanding the decomposition. Spread P/L is +$1,776,733 - the aggregate guaranteed profit from all paired positions where combined cost was below $1.00. That number is eroded by the hedge tax (-$16,553,248), the capital spent on the losing side of every matched pair. The net of those two streams, plus directional wins on unmatched excess, produces the realized +$1,136,314. The spread engine is working; the hedge tax is simply the structural cost of guaranteeing it.

The dominance-ratio analysis confirms a genuine directional signal embedded in the sizing. Dominant-side win rate escalates monotonically from 49.7% at 1.0-1.5x tilt to 59.6% at 3.0x+. This is not random: the bot's model is predicting winners at above-chance rates when it tilts hard, adding incremental alpha on top of the structural spread. The NBA vertical is the one place this model failed systematically, generating -$191,047 of losses and partially offsetting large wins in tennis and MLB.

---

What He Trades

The universe is broad but structured across three primary categories:

Category Trades Volume WR P/L ROI
Tennis 129,770 $17.2M 33.9% +$585,676 +3.41%
MLB 52,593 $13.1M 56.3% +$337,806 +2.58%
Other 20,038 $3.7M 56.9% +$330,367 +8.87%
NBA 24,365 $7.9M 53.0% -$191,047 -2.47%
Soccer 3,318 $1.1M 57.3% +$50,773 +4.67%
UFC/MMA 230 $86K 43.9% +$30,276 +35.0%
NHL 3,203 $662K 34.8% -$14,784 -2.23%

Tennis is the workhorse. The 33.9% raw win rate on tennis BUYs looks alarming until you understand the spread structure: a pure spread-capture bot buying both YES and NO will have an overall win rate close to 50%, but the individual side that lost the match shows 0% WR on those tickets. The tennis book's 3.41% ROI on $17.2M is the spread engine performing as designed.

The "Other" category at +8.87% ROI is the highest-ROI meaningful bucket. Examining the best-markets table, this includes UFC/MMA fights and some over/under totals that are not sport-specific. The UFC/MMA standalone at +35% ROI on $86K is a statistical outlier given the sample size of 230 trades.

NBA is the failure mode. The top-10 worst markets list is dominated by NBA series: Timberwolves vs. Nuggets (-$84K), Rockets vs. Lakers (-$83K), Cavaliers vs. Raptors (-$81K), Timberwolves vs. Nuggets (second instance, -$73K), Nuggets spread (-$70K), Spurs vs. Timberwolves (-$69K), Timberwolves vs. Spurs (-$65K), Hawks vs. Knicks (-$63K). Total identifiable NBA losses exceed -$550K across those eight markets, partially offset by wins like Rockets vs. Lakers (+$60K in a separate instance) and 76ers vs. Celtics (+$25K).

NBA FAILUREThe NBA vertical cost roughly -$191K net P/L while the rest of the book generated +$1.3M. If this wallet had excluded NBA entirely, the 30-day ROI would be approximately +3.1% instead of +2.6%. The NBA model misfired systematically on playoff-era series markets.

---

The Order of Operations - One Market, Trade by Trade

The clearest illustration of the strategy is Magic vs. Pistons (nba-orl-det-2026-04-19), where the bot entered at the very start of the window (April 20, 00:00-00:33 UTC) and built a large paired position over 33 minutes. The game had already been played (it was April 19 Eastern time); the market was still open for resolution.

The bot's behavior here shows the full playbook:

Phase Time (UTC) Action Outcome Price USDC Notes
1. Initial Magic buys 00:00:00 BUY Magic Magic $0.36 ~$500+ 5 fills at $0.36
2. Magic accumulation 00:03:10-00:03:58 BUY Magic Magic $0.51 ~$3,000 12+ fills, price rising
3. Large Magic clip 00:03:42 BUY Magic Magic $0.51 $2,550 5,000 shares
4. Magic deepening 00:05:30-00:06:34 BUY Magic Magic $0.51-0.49 ~$2,000 Continued accumulation
5. Pistons hedge 00:05:04-00:05:28 BUY Pistons Magic $0.47 ~$4,000 First hedge fills
6. Large Pistons 00:04:54 BUY Pistons Magic $0.47 $329 700 shares
7. Pistons deepening 00:13:38-00:15:06 BUY Pistons Magic $0.66-0.68 ~$11,000 Price moved against
8. More Pistons late 00:22:02-00:24:18 BUY Pistons Magic $0.36-0.37 ~$9,000 Late adds at lower price
9. Magic add 00:16:38-00:17:48 BUY Magic Magic $0.38-0.51 ~$1,500
10. Final Pistons 00:28:26-00:32:58 BUY Pistons Magic $0.43-0.47 ~$700 Closing fills

Walk-through:

Phase 1-4: The bot identifies Magic vs. Pistons as a live market and begins buying Magic (the outcome that ultimately resolves as the winner) at $0.36-0.51. These are the "dominant side" fills - the bot's model favors Magic, so it builds a large Magic position first.

Phase 5-6: Approximately 30 seconds into the Magic accumulation, the first Pistons hedge fills appear at $0.47. At this point the implied paired cost is roughly $0.51 + $0.47 = $0.98, which is below $1.00 - the spread is locked.

Phase 7: The bot purchases more Pistons at $0.66-0.68 - after the price has moved significantly. This is the hedge-tax regime: it's paying more for the hedge than the original signal price, which increases the paired cost. This is the second-side lag consequence: prices move in the 14-minute median gap between first and second side.

Phases 8-10: Late Pistons adds at $0.36-0.43 as the market drifts toward the winning outcome. The bot is still hedging with a remaining Pistons exposure.

The resolution: Magic wins, as the Resolved Side column confirms for all Magic tickets. All Pistons tickets returned $0. The spread on this market was a large net win for the Magic side, offset by the Pistons hedge cost.

SECOND-SIDE LAGThe 836-second median gap between first and second side buy creates adverse selection risk. When the bot buys the dominant side at $0.47 and the hedge side at $0.66-0.68 (14 minutes later), the paired cost on those late hedges is $1.13+ - a guaranteed loss on that sub-pair. The strategy works in aggregate because most paired costs land below $1.00, but the second-side lag is the primary risk factor.

---

Why It Works - The Math

The spread-capture mechanism is straightforward:

Paired cost = YES_VWAP + NO_VWAP per paired unit

If paired_cost < 1.00:
  guaranteed_profit_per_unit = 1.00 - paired_cost
  (resolution pays $1.00 on the winning side, $0.00 on losing side)

Median paired cost observed: $0.9748
Median spread per unit: $0.0252

At scale:
  Markets with both-sides: 4,202
  Average notional per paired market: ~$10,400
  Spread P/L = 1,776,733 (confirmed by decomp)

The directional add-on:

Dominance ratio → Dominant-side win rate:
  1.0-1.5x:  49.7% wins (685 markets) - pure spread, no signal
  1.5-2.0x:  52.1% wins (454 markets) - weak signal
  2.0-3.0x:  58.8% wins (566 markets) - real signal
  3.0x+:     59.6% wins (2,497 markets) - strong signal

At 3.0x+ dominance:
  Win rate 59.6% vs. 50% baseline = +9.6% hit-rate alpha
  Applied to 2,497 markets, this is a meaningful incremental P/L contribution

The strategy's vulnerability is two-fold. First, the hedge tax is enormous: -$16.5M of capital spent on losing sides, exceeding the gross spread P/L of +$1.8M. The net is positive, but the margin for error is thin - a sustained model failure in a high-volume category (as NBA demonstrates) can erase multiple weeks of spread profit in days. Second, the second-side lag creates paired costs above $1.00 on a meaningful fraction of positions (the 40.2% of both-sides markets where paired cost exceeded $1.00).

---

Phase 1 - Trader Profile

Scale and activity:

  • 233,517 BUYs, 0 SELLs across 30 days
  • $43,768,856 total BUY notional
  • 7,784 trades per day average
  • 7,628 unique markets, 3,726 unique events
  • 30 of 30 calendar days active

Trade size distribution (extreme power-law):

Stat Value
Median $6.60
Mean $187.43
P95 $879.64
P99 $3,334.65
Max $190,399.00
Top 5% share 71.6%

The 24× difference between median ($6.60) and mean ($187.43), and the top-5% concentration at 71.6%, confirm a power-law distribution. The bot fires many small probe fills and occasional enormous conviction clips. The single $190,399 fill is a one-off extreme event; the P99 of $3,335 is more representative of the large-clip regime.

Execution signature:

  • Median inter-fill gap: 5.0 seconds
  • 57.4% of consecutive fills under 10 seconds
  • 74.1% under 60 seconds
  • Mean gap: 199.4 seconds (distorted by overnight pauses)

The 5-second median with 57.4% under 10 seconds is bot-speed execution. Same-second multi-fill fan-outs are visible throughout the CSV (e.g., multiple fills on mlb-bos-kc-2026-05-19-spread-home-2pt5 at 23:58:59 and 23:59:01 UTC).

---

Phase 2 - Core Strategy Identification

Both-sides participation rate: 55.1% (4,202 of 7,628 markets had both sides purchased)

This is above the 60% threshold for "probably MM" from the spec, but the rate combined with active directional tilting makes this a hybrid. Classification:

Primary: A (Both-Sides Spread Capture / Market Making)

Evidence:

  • 55.1% both-sides rate
  • Median paired cost $0.9748 (below $1.00 - guaranteed spread)
  • 59.8% of both-sides markets have paired cost below $1.00
  • Spread P/L = +$1,776,733 confirms the mechanism

Secondary: B (Directional Betting) layered on top

Evidence:

  • Dominant-side win rate escalates from 49.7% at 1-1.5x to 59.6% at 3x+
  • Second-side lag of 836s (not simultaneous pair - directional entry first, hedge second)
  • Single-side markets (44.9% of book) are pure directional calls
  • Top-performing markets include significant one-sided plays (e.g., Athletics vs. Angels: +$121,624 with no counterpart hedge detectable)

The bot is NOT:

  • A pure market maker (44.9% of markets are one-sided; dominant-side win rates exceed 55% at high tilt)
  • A copy-trader (execution speed rules this out)
  • A stale-price sniper (entries span all price bands, not concentrated at near-certainties)

---

Phase 3 - Dominance Ratio Analysis

Bucket Markets Dom Win Rate Dom Resolved Mean Paired Cost
1.0-1.5x 685 49.7% 684 0.9706
1.5-2.0x 454 52.1% 451 0.9665
2.0-3.0x 566 58.8% 566 0.9505
3.0x+ 2,497 59.6% 2,494 0.9829

The monotonic escalation in dominant-side win rate from 49.7% to 59.6% as dominance increases from 1x to 3x+ is the critical finding. This is not random variation across 4,202 markets - it is a genuine directional signal embedded in the sizing scale.

The mean paired cost at 3.0x+ (0.9829) is actually slightly higher than at 2.0-3.0x (0.9505). This reflects the high-dominance regime: when the bot is extremely confident in one side, it may be bidding higher on the spread, or more likely the dominant side's price is already elevated, making it harder to get a tight paired cost. The 3x+ bucket is the "I think I know who wins" mode where the directional add-on is most valuable but the spread is thinner.

The 1.0-1.5x bucket at exactly 49.7% dominant-side win rate confirms that near-even splits are pure spread plays with no directional information. The bot correctly uses this tier for guaranteed-spread hunting without making directional claims.

---

Phase 4 - Entry Price Analysis

Band Trades WR Spent P/L ROI
$0.00-$0.10 36,996 6.2% $503,628 +$118,516 +23.5%
$0.10-$0.20 21,782 15.0% $1,154,476 -$55,645 -4.8%
$0.20-$0.30 21,441 26.3% $1,979,316 +$59,074 +3.0%
$0.30-$0.40 23,045 37.8% $3,173,029 +$588,152 +18.5%
$0.40-$0.50 31,384 45.2% $7,044,556 +$238,734 +3.4%
$0.50-$0.60 31,490 55.8% $9,091,808 +$435,765 +4.8%
$0.60-$0.70 27,786 63.8% $7,286,186 -$235,621 -3.2%
$0.70-$0.80 23,176 74.8% $6,537,241 -$55,645 -0.9%
$0.80-$0.90 10,800 84.9% $4,574,637 +$39,729 +0.9%
$0.90-$1.00 5,245 94.4% $2,209,604 -$3,991 -0.2%

Three anomalous bands stand out:

  1. $0.00-$0.10 at +23.5% ROI: The lowest-probability entries return the highest ROI. These are longshot hedge-side buys (the "No" side of an event where the dominant side is already heavily priced as favorite). When the longshot wins, the payout is enormous. The 6.2% win rate at sub-$0.10 is approximately calibrated to the implied probability, but the ROI is outsized because wins pay 10-100x.
  1. $0.30-$0.40 at +18.5% ROI: This band captures many of the "spread lock" buys where the bot enters at near-even prices and both sides land in the $0.30-$0.70 zone. The high ROI here likely reflects clean spread execution where paired costs were well below $1.00.
  1. $0.60-$0.70 at -3.2% ROI: The mild-favorite zone is the worst band by ROI. Entries here often represent the "late hedge" scenario - buying the second side after the market has moved toward the dominant outcome, creating paired costs above $1.00 on those specific fills.

Sub-bucket concentration check: The price histogram is broad across all 101 price points with no single penny dominating. The $0.50 band is the single most-traded cent, and common prices like $0.47, $0.51, $0.57, $0.59, $0.63, $0.69, $0.71, $0.73, $0.77 appear frequently in the CSV (reflecting rounded lines on baseball over/unders and spreads). This is a multi-tick, multi-market strategy, not a single-price anchor.

---

Phase 5 - Category and Vertical Breakdown

Category ROI Assessment Notes
Tennis +3.41% Modest Workhorse volume, consistent spread capture
MLB +2.58% Modest Strong absolute P/L, good spread discipline
Other +8.87% Strong Small volume, high ROI - UFC/MMA + misc
Soccer +4.67% Modest Consistent, limited exposure
UFC/MMA +35.0% Elite Small sample (230 trades), statistical outlier
NHL -2.23% Unprofitable Small position, minor drag
NBA -2.47% Unprofitable Systematic model failure in playoffs

Tennis at 129,770 trades is the single most-traded vertical - nearly triple the next category (MLB at 52,593). The 33.9% tennis win rate reflects the nature of paired-side tennis markets: buying both "Player A wins" and "Player B wins" on 3-set matches where one player is a strong favorite means the underdog ticket wins roughly 30-40% of the time. The spread on tennis is typically tighter than on major US sports, but the volume more than compensates.

MLB over/under and spread markets are heavily represented in the CSV tail. The bot runs multi-line coverage on games: for the same mlb-mil-chc-2026-05-19 event, it simultaneously has positions in the moneyline, O/U 6.5, O/U 7.5, O/U 8.5 markets. This multi-line approach multiplies spread capture opportunities per event.

Best single markets by P/L:

Market Trades Volume P/L
Athletics vs. LA Angels 134 $32K +$121,624
Houston Astros vs. Baltimore Orioles 136 $97K +$71,797
New York Yankees vs. Milwaukee Brewers 49 $65K +$70,892
Rockets vs. Lakers 407 $120K +$60,294
LA Dodgers vs. LA Angels 110 $100K +$59,588

The Athletics vs. Angels market at +$121,624 on only $32K of volume is a +376% ROI on a single game. This is not spread capture - it is a large directional bet that paid off. The 134 trades and 55 wins (41% WR) with that payoff suggests the bot went heavily long on one outcome at low implied probability and hit.

---

Phase 6 - Timing and Execution Analysis

Hourly P/L distribution:

Best hours (UTC) Trades P/L Worst hours (UTC) Trades P/L
18:00 12,157 +$232,828 01:00 13,552 -$183,892
23:00 12,238 +$213,545 00:00 14,414 -$124,518
14:00 11,794 +$188,967 12:00 12,265 -$121,295
10:00 13,541 +$183,502 03:00 8,428 -$146,948
20:00 8,847 +$164,346 19:00 11,276 -$48,707

Unlike directional traders with clear peak/sleep windows, this bot runs 24/7 - the hourly trade counts range from 2,939 (hour 5) to 14,414 (hour 0), with no zero-trade hours. The P/L variance by hour is large but not driven by volume - hours 00:00 and 01:00 both have high trade counts but are the worst P/L hours. This likely reflects late-game NBA activity where the bot's basketball model underperformed.

Day-of-week breakdown:

Day Trades WR P/L ROI
Mon 31,799 38.4% +$191,779 +3.49%
Tue 48,568 40.3% +$121,512 +1.51%
Wed 33,628 43.6% +$137,221 +2.17%
Thu 35,470 44.4% +$80,305 +1.28%
Fri 25,117 41.8% -$91,803 -2.15%
Sat 32,010 46.6% +$270,704 +3.80%
Sun 26,925 49.6% +$426,595 +6.83%

Friday is the only negative day at -2.15% ROI. Sunday is the standout at +6.83% ROI and +$426,595 absolute. The week-1 loss (-$204,469) then recovery to +$1,136,314 cumulative is the dominant pattern in the rolling windows.

The second-side lag (836 seconds median, ~14 minutes) is the most important execution characteristic. The bot is not an instantaneous both-sides entry bot. It enters the first side, watches the market, then hedges when the second-side price looks attractive. This creates paired cost variance across positions within the same market.

SECOND-SIDE LAGMedian 836 seconds (14 minutes) between first and second side purchase. During this window, the market can move against the hedge. Late hedges at $0.66-0.68 on markets where the first side was at $0.36 create paired costs of $1.02-$1.04 - guaranteed losses on those sub-pairs. The aggregate still nets positive because most early hedges execute at sub-$1.00 combined cost.

---

Phase 7 - Filter Experiments

Filter Trades WR Capital P/L ROI vs. Baseline
Unfiltered baseline 233,145 43.2% $43.6M +$1,136,314 +2.60% -
Price $0.30-$0.70 116,622 51.7% $27.2M +$987,111 +3.63% +1.03pp
High-conviction (dom ≥ 2.0x) 79,241 54.5% $21.5M +$1,896,174 +8.82% +6.22pp
Top category (UFC/MMA) 230 43.9% $86K +$30,276 +35.0% +32.4pp
Exclude worst hours (6, 9, 11, 14) 193,467 45.3% $38.5M +$817,634 +2.12% -0.48pp
Combined best (dom≥2x + UFC/MMA + excl worst hrs) 120 53.3% $44K +$11,482 +25.8% +23.2pp

The high-conviction filter is the most important finding: restricting to markets where dominance ratio exceeds 2.0x and taking only the dominant leg turns +2.60% baseline ROI into +8.82% ROI on $21.5M deployed. This is a near-doubling of ROI by simply skipping the near-even spread plays and focusing on the directional signal.

Full filter commentary appears in the Filters tab.

---

Phase 8 - Rolling Window Consistency

Metric Value
Rolling 7-day windows green 23 of 30 (76.7%)
Rolling 15-day windows green 23 of 30 (76.7%)
Days with positive P/L Computable from weekly: Week 1 negative (-$204K), weeks 2-5 positive
Best single week Week 18 (Apr 27 - May 3): +$789,032
Worst single week Week 17 (Apr 20-26): -$204,469
Cumulative at end +$1,136,314

The rolling window pattern is notably front-loaded with losses: the first seven rolling-7 windows (April 20-26) are all negative, with the rolling-7 P/L bottoming at -$282,171 on April 23. The strategy then recovers strongly through weeks 3-5, with the rolling-15 crossing positive on April 29 and remaining positive through the rest of the window.

Weekly P/L progression:
  Week 17 (Apr 20-26):  -$204,469   Cumul: -$204,469
  Week 18 (Apr 27-May 3): +$789,032  Cumul: +$584,563
  Week 19 (May 4-10):  +$65,872    Cumul: +$650,436
  Week 20 (May 11-17): +$439,588   Cumul: +$1,090,024
  Week 21 (May 18-19): +$39,044    Cumul: +$1,129,068

The Week 1 loss of -$204K coincides with the peak of NBA playoff activity (Magic vs. Pistons, early NBA series where the bot appeared to lose significantly on spread positions that moved against it). The recovery in Week 2 (+$789K) is the single largest weekly gain and likely reflects tennis and MLB volume catching up plus the NBA model stabilizing.

The 76.7% rolling-window green rate is lower than elite directional traders (SirMartingale was 100%), but is expected for a spread-capture strategy that can absorb multi-day losses when a category misfires, then recover when volume cycles back to profitable categories.

---

Phase 9 - P/L Decomposition

Component Value Interpretation
Spread P/L (paired positions) +$1,776,733 Guaranteed gain from sub-$1.00 paired costs
Hedge tax -$16,553,248 Capital spent on losing side of all paired markets
Realized total P/L +$1,136,314 Net after settlement
Directional residual Implied +$912,829 Realized - Spread P/L + Hedge Tax (from unmatched singles + directional tilts winning)

The spread P/L of +$1,776,733 is the guaranteed floor from all sub-$1.00 paired positions. But the hedge tax of -$16.5M is the aggregate cost of all losing-side positions - this is not a "cost" in the traditional sense but rather the mechanical consequence of having settled $0 on the loser of every matched pair. The strategy works because the spread between paired cost and $1.00 (the guaranteed win) exceeds the proportional outflow on losing sides.

The +$912,829 implied directional residual represents the incremental P/L from: (a) markets where the bot took a dominant-side position without hedging, (b) markets where the dominant tilt was large enough that winning the dominant side generated more than the hedge tax consumed, and (c) the exceptional individual directional hits like Athletics vs. Angels (+$121K) and Yankees vs. Brewers (+$71K).

There is no SELL-leg decomposition because the wallet has zero SELL trades. All exits are at settlement.

---

Phase 10 - Strategy Specification

One-sentence summary: A 24/7 automated both-sides spread-capture bot across sports prediction markets that simultaneously buys YES and NO on the same game at sub-$1.00 combined cost, with a directional model that skews capital allocation toward the predicted winner and generates incremental alpha at 3x+ tilt ratios.

Edge sources (stacked):

  1. Structural spread capture - buying both sides at combined cost below $1.00 guarantees profit at settlement regardless of outcome. Median locked spread of $0.0252 per unit across 4,202 both-sides markets.
  2. Directional alpha on tilted positions - dominant-side win rate of 59.6% at 3x+ tilt confirms a real predictive model. This adds ~9.6 percentage points of win-rate alpha above the coin-flip baseline.
  3. Multi-line event coverage - running positions on moneyline + multiple O/U totals + spread markets for the same event multiplies spread opportunities per game without proportional model risk.

Primary risk factor: Second-side lag (836s median) creates adverse selection on hedges in fast-moving markets. The 40.2% of paired markets with cost above $1.00 are guaranteed losses on those sub-pairs, partially offsetting the guaranteed wins on the 59.8% below $1.00.

What replicators must do: See Playbook tab for the full implementable specification.

// 004 / Quantitative breakdown

Quantitative breakdown

Phase-by-phase statistical report. Methodology, distributions, per-bucket P/L.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 → 2026-05-19 (30 active / 30 calendar days) Methodology: Cash-flow P/L = -buy_usdc + sell_usdc + remaining_share_payout. Resolved shares settle at $1 (win) / $0 (loss); open positions marked at last price.


Phase 1 - Trader Profile

Scale

MetricValue
Total trades233,517
BUY trades233,517
SELL trades0 (0.0% of all)
Unique markets7,628
Unique events3,726
Active calendar days30 of 30
Trades per active day7,784
BUY notional$43,768,857
SELL notional$0
Gross turnover$43,768,857

Trade-size distribution (USDC per fill)

MetricValue
median$6.60
mean$187.43
p95$879.64
p99$3,334.65
max$190,399.00
Top 5% share of capital71.6%

Inter-trade gap, same (market, outcome)

MetricValue
Median (s)5.0
Mean (s)199.4
P10 (s)0.0
P90 (s)376.0
% under 1s0.0%
% under 10s57.4%
% under 60s74.1%

Phase 2 & 3 - Both-Sides Participation, Dominance Curve

  • Both-sides rate: 55.09% (4,202 of 7,628 markets)
  • Median paired cost: $0.9748
  • Mean paired cost: $0.9748
  • Paired cost % under $1.00: 59.8%
  • Paired cost % under $0.97: 47.9%
  • Median 2nd-side hedge lag: 836s

Dominance buckets

BucketMarketsDom WRMean PairedAvg Mkt P/L
1.0–1.5x68549.7%$0.9706 -
1.5–2.0x45452.1%$0.9665 -
2.0–3.0x56658.8%$0.9505 -
3.0x+2,49759.6%$0.9829 -

Phase 4 - Entry-Price Analysis

BandBUY tradesResolvedWinsWRCapitalP/LROI
$0.00–$0.1036,99602,2846.2%$503.6K+$118,516+23.53%
$0.10–$0.2021,78203,25915.0%$1.15M-$55,645-4.82%
$0.20–$0.3021,44105,63426.3%$1.98M+$59,074+2.98%
$0.30–$0.4023,04508,71237.8%$3.17M+$588,152+18.54%
$0.40–$0.5031,384014,18045.2%$7.04M+$238,734+3.39%
$0.50–$0.6031,490017,57755.8%$9.09M+$435,765+4.79%
$0.60–$0.7027,786017,71563.8%$7.29M-$235,621-3.23%
$0.70–$0.8023,176017,33074.8%$6.54M-$55,645-0.85%
$0.80–$0.9010,80009,17284.9%$4.57M+$39,729+0.87%
$0.90–$1.005,24504,94994.4%$2.21M-$3,991-0.18%

Phase 5 - Category & Vertical Breakdown

CategoryBUY tradesBUY $ResolvedWRP/LROI
Tennis129,770$17.18M129,62133.9%+$585,676+3.41%
MLB52,593$13.12M52,55956.3%+$337,806+2.58%
NBA24,365$7.90M24,32153.0%-$191,047-2.47%
Other20,038$3.73M19,89356.9%+$330,367+8.87%
Soccer3,318$1.09M3,31857.3%+$50,773+4.67%
NHL3,203$662.2K3,20334.8%-$14,784-2.23%
UFC/MMA230$86.5K23043.9%+$30,276+35.02%

Phase 6 - Timing & Execution

Net P/L by hour (UTC)

HourP/LWR
00:00-$124,51857.9%
01:00-$183,89254.1%
02:00+$135,29654.4%
03:00-$146,94843.8%
04:00-$42,12138.5%
05:00+$23,00044.9%
06:00+$3,32834.9%
07:00-$8,44843.6%
08:00-$19,37036.4%
09:00+$9,36230.4%
10:00+$183,50237.2%
11:00+$109,77633.1%
12:00-$121,29535.9%
13:00+$34,45037.0%
14:00+$188,96735.7%
15:00+$4,27436.6%
16:00+$126,64838.9%
17:00+$81,87544.2%
18:00+$232,82844.0%
19:00-$48,70743.3%
20:00+$164,34649.0%
21:00+$159,81147.8%
22:00+$153,35648.7%
23:00+$213,54559.8%

Phase 8 - Rolling Window Consistency

  • Rolling 7-day windows green: 21 of 30 (70.0%)
  • Rolling 7-day P/L range: -$282,171 → +$793,225
  • Rolling 15-day windows green: 22 of 30 (73.3%)
  • Rolling 15-day P/L range: -$282,171 → +$905,151

Weekly P/L

WeekSpanTradesWRP/LCumulative
W172026-04-20 → 2026-04-2661,63842.3%-$204,469-$204,469
W182026-04-27 → 2026-05-0352,48344.6%+$789,032+$584,563
W192026-05-04 → 2026-05-1049,20440.3%+$65,872+$650,436
W202026-05-11 → 2026-05-1753,63745.3%+$439,588+$1,090,024
W212026-05-18 → 2026-05-1916,18344.2%+$39,044+$1,129,068

Phase 9 - P/L Decomposition

MetricValue
BUY USDC out-$43,768,857
SELL USDC in+$0
Theoretical spread P/L+$1,776,733
Hedge-tax outflow$16.55M
Net realized P/L+$1,136,314
Net ROI on BUY notional+2.60%

Phase 10 - Top Markets by Volume

MarketTradesVolumeResolvedP/L
Baltimore Orioles vs. Tampa Bay Rays97$292.9K97+$30,016
Spurs vs. Thunder369$225.2K369+$18,278
Madrid Open: Stefanos Tsitsipas vs Casper Ruud797$219.9K797+$6,939
Spurs vs. Timberwolves223$205.4K223-$68,976
Cavaliers vs. Pistons678$186.0K678-$16,713
Spurs vs. Trail Blazers367$179.3K367+$250
Timberwolves vs. Spurs634$170.2K634-$65,482
76ers vs. Celtics601$169.6K601+$25,473
Raptors vs. Cavaliers455$152.9K455+$24,226
Cavaliers vs. Pistons478$147.4K478-$6,542

Top 10 winners by P/L

MarketVolumeNet P/L
Athletics vs. Los Angeles Angels$32.3K+$121,624
Houston Astros vs. Baltimore Orioles$97.4K+$71,797
New York Yankees vs. Milwaukee Brewers$65.1K+$70,892
Rockets vs. Lakers$119.7K+$60,294
Los Angeles Dodgers vs. Los Angeles Angels$99.9K+$59,588
San Diego Padres vs. Seattle Mariners$82.8K+$58,809
New York Mets vs. Los Angeles Angels$67.7K+$58,390
Geneva Open: Marco Trungelliti vs Mariano Navone$38.7K+$51,172
Philadelphia Phillies vs. Boston Red Sox$99.4K+$50,631
New York Yankees vs. Houston Astros: O/U 9.5$45.8K+$49,032

Top 10 losers by P/L

MarketVolumeNet P/L
Nuggets vs. Timberwolves$123.3K-$84,582
Rockets vs. Lakers$120.7K-$83,009
Cavaliers vs. Raptors$139.7K-$80,565
Timberwolves vs. Nuggets$118.4K-$73,196
Spread: Nuggets (-11.5)$82.7K-$69,931
Spurs vs. Timberwolves$205.4K-$68,976
Timberwolves vs. Spurs$170.2K-$65,482
Hawks vs. Knicks$87.1K-$62,612
Atlanta Braves vs. Miami Marlins$71.3K-$59,953
New York Mets vs. Colorado Rockies$81.6K-$55,765

Report generated 2026-05-21 11:00 UTC.

// 005 / Filter strategy

Filter strategy

Which standard filters move the needle on this trader, and which destroy the edge.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 Baseline: 233,145 resolved BUYs · 43.2% WR · $43.6M deployed · +$1,136,314 P/L · +2.60% ROI

Methodology: Each filter is applied to the resolved-BUY set. ROI is measured against BUY notional within the filter. The baseline includes all 233,145 resolved trades across all categories, price bands, and hours. This is a spread-capture hybrid strategy - some standard filters that work well for pure directional traders behave differently here because 55.1% of positions are structurally paired.

The headline result

One filter produces massive, genuine lift. The category filter is narrow but useful. The hour filter slightly hurts. The price filter helps moderately.

The high-conviction dominance filter is the dominant finding: restricting to only the 2.0x+ dominance bucket and taking the dominant side only turns +2.60% ROI into +8.82% ROI on $21.5M of capital. This is the single most important lever available to a replicator. The strategy's directional signal is concentrated at high dominance; the near-even spread plays dilute the overall ROI substantially.

The price band filter ($0.30-$0.70) provides moderate lift (+1.03pp to +3.63%). The combined filter - high conviction plus top category plus hour exclusion - reaches +25.8% ROI but on a very small sample ($44K, 120 trades) that is not statistically representative.

---

Filter results table

KEY FINDINGThe high-conviction filter (dominance ≥ 2.0x, dominant leg only) improves ROI from +2.60% to +8.82% while reducing deployed capital by 51%. This is not a sample-size artifact: it covers 79,241 trades across $21.5M.

Filter Trades WR Capital P/L ROI vs. Baseline
Unfiltered baseline 233,145 43.2% $43.6M +$1,136,314 +2.60% -
Price $0.30-$0.70 116,622 51.7% $27.2M +$987,111 +3.63% +1.03pp
High-conviction (dom ≥ 2.0x, dom leg) 79,241 54.5% $21.5M +$1,896,174 +8.82% +6.22pp
Top category (UFC/MMA only) 230 43.9% $86K +$30,276 +35.0% +32.4pp
Exclude worst 4 hours (6, 9, 11, 14) 193,467 45.3% $38.5M +$817,634 +2.12% -0.48pp
Combined (dom≥2x + UFC/MMA + excl worst hrs) 120 53.3% $44K +$11,482 +25.8% +23.2pp

---

Filter-by-filter commentary

1. High-conviction filter (dominance ≥ 2.0x, dominant leg only) → MEANINGFUL_LIFT

This is the single most valuable filter in the battery. Restricting to markets where the bot's own capital allocation reveals dominance ≥ 2.0x and taking only the dominant leg returns +$1,896,174 on $21.5M deployed (+8.82% ROI) versus the baseline of +2.60%. The lift of +6.22 percentage points is real and large.

The mechanism: at 2.0-3.0x dominance, the dominant side wins 58.8% of the time; at 3.0x+, it wins 59.6%. Both substantially exceed the 43.2% overall win rate. The bot's own sizing is functioning as a signal - the more capital it tilts toward one side, the more likely that side is to win.

The filter also raises the P/L in absolute terms: +$1,896,174 vs. +$1,136,314 unfiltered. This seems paradoxical (filtering out positions increases absolute P/L) but makes sense: the low-dominance positions include many near-even spreads where the hedge tax eats gains, and single-sided positions in losing categories (especially NBA) that drag down the total. The high-conviction filter implicitly excludes most NBA blowup exposure.

For a replicator: this filter is the core of the investable strategy. The near-even spread plays (1.0-1.5x dominance) generate guaranteed-spread P/L but at thin ROI; the high-dominance directional plays are the real alpha source. A replicator with limited capital should run only the 2.0x+ bucket.

2. Price band filter ($0.30-$0.70) → MODERATE_LIFT

The standard sweet-spot filter (entries between $0.30 and $0.70) improves ROI from +2.60% to +3.63% on $27.2M deployed (+$987K P/L). The lift is +1.03 percentage points on a substantial capital base.

The mechanism: the $0.60-$0.70 band is slightly negative (-3.2% ROI) and the $0.70-$0.80 band is slightly negative (-0.9%). The filter excludes these bands. However, the sub-$0.10 band at +23.5% ROI is also excluded, which costs some longshot upside. The net effect is modest positive lift.

This filter is more useful as a risk management tool than a pure ROI maximizer: it caps exposure to the potentially mispriced late-hedge positions (which tend to land in the $0.60-$0.80 band when the market has moved toward the winning side).

Caveat: the $0.30-$0.40 band at +18.5% ROI is included by this filter and is clearly a good band. The $0.10-$0.20 band at -4.8% ROI is correctly excluded. The filter is correctly designed for this strategy's price structure.

3. Top category filter (UFC/MMA only) → NOT_APPLICABLE_AT_SCALE

UFC/MMA returns +35.0% ROI on $86,456 deployed (230 trades). This is extraordinary, but the sample is too small to be actionable on its own. The 230 trades across 30 days (7.7 fights per day average) represent the full available UFC/MMA market volume on Polymarket during the window - you cannot increase exposure to this category beyond what the market offers.

As a portfolio instruction rather than a filter: weight UFC/MMA at maximum available capital whenever it is on the menu. The +35% ROI likely reflects the bot's model being particularly well-calibrated for fight sports, but the absolute P/L contribution (+$30K) is a rounding error on the total book.

The combined filter that stacks high-conviction + UFC/MMA + hour exclusion reaches +25.8% ROI but on only $44K and 120 trades. This is a statistical artifact of stacking narrow filters on a small overlap rather than a genuine investable signal.

4. Hour exclusion filter (drop hours 6, 9, 11, 14) → DESTRUCTIVE

Excluding the four worst-performing hours (6, 9, 11, 14 UTC) actually reduces total P/L from +$1,136,314 to +$817,634 and ROI from +2.60% to +2.12%. This is a -0.48pp drag, not a lift.

The mechanism: the "worst hours" by win rate are not the worst hours by absolute P/L. Hours 6 UTC (3.5% WR) and 9 UTC (30.4% WR) have low win rates but are not high-volume hours (3,500 and 11,915 trades respectively). The filter removes substantial good-ROI capital from the excluded hours alongside the bad fills.

More importantly, hours 6, 9, 11 overlap with morning tennis and early baseball activity - removing them cuts into the Tennis and MLB spread positions that are the engine of the profitable categories.

The four identified "worst hours" by win rate (6, 9, 11, 14 UTC) have win rates of 34.9%, 30.4%, 33.1%, and 35.7% respectively. These low win rates are partially explained by the spread structure: hours with high tennis volume will naturally have lower win rates because tennis spread buys on heavy favorites (sub-$0.30 tickets) drag the overall WR down even as they contribute positive spread P/L.

Do not apply the hour exclusion filter to this strategy. The win-rate-based hour ranking is misleading for a spread-capture book.

5. Category exclusion (drop NBA) → Hypothetical Analysis

The filter battery did not explicitly test NBA exclusion, but the data is clear. NBA generated -$191,047 on $7.9M deployed (-2.47% ROI). Excluding NBA from the baseline would improve total P/L to approximately +$1,327,361 on $35.7M deployed (+3.72% ROI).

The NBA underperformance was systematic and concentrated in specific matchups (Timberwolves-Nuggets, Cavaliers-Raptors, Rockets-Lakers second instance, Hawks-Knicks). This suggests the bot's basketball model was poorly calibrated for these specific series - possibly a data input problem or a model parameter that worked in regular season but not in playoff format.

For a replicator: consider excluding NBA during the playoffs or running NBA at reduced dominance thresholds (only deploy at 3x+ dominance rather than 2x+ for basketball). The regular-season baseball and tennis spreads are where the reliable edge lives.

---

The actionable filter stack

If forced to name a single filter combination that a replicator should apply:

Priority Filter ROI impact P/L impact
1 (required) High-conviction: dom ≥ 2.0x, dominant leg only +6.22pp +$760K vs unfiltered
2 (recommended) Exclude NBA during playoff period ~+1.1pp estimated ~+$191K
3 (optional) Price band $0.30-$0.70 +1.03pp (on unfiltered base) Moderate
4 (avoid) Hour exclusion -0.48pp -$318K

The hour filter is the clearest "don't apply" instruction. The high-conviction filter is the clearest "always apply" instruction. The NBA exclusion during playoffs is judgment-based but strongly supported by the data.

The combined filter with these three stacked (high-conviction + no NBA playoff + price $0.30-$0.70) would likely produce ROI in the +10-12% range on roughly $15-20M of capital - roughly a 4x improvement over the raw baseline strategy, using the bot's own sizing decisions as the primary selection signal.

// 006 / Replication playbook

Replication playbook

Where the edge is portable, and where it isn't.

Source wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Strategy: Both-sides spread capture with directional dominance tilt across sports prediction markets Reference book: $43.6M BUY notional · +$1,136,314 net P/L · +2.60% ROI in 30 days (baseline); +8.82% ROI under high-conviction filter

---

One-paragraph operator brief

Build a Polymarket bot that monitors live sports prediction markets across tennis, MLB, soccer, and UFC/MMA - and buys both YES and NO on the same game whenever the combined bid-ask spread locks in a paired cost below $1.00. Simultaneously run a game-outcome model to determine which side has the better expected probability. If your model assigns one side more than 2.0x the capital weight, that is your dominant side: size it proportionally larger and still hedge the other side. Enter the dominant side first. Hedge within 15 minutes or skip the hedge if the second-side price has moved past $1.00 combined. Apply the strategy only to markets where your model has confidence; skip NBA during post-season unless dominance exceeds 3.0x. Expect +2-4% ROI on deployed capital at baseline; expect +8-10% ROI if you filter to dominance ≥ 2.0x dominant-leg-only fills.

---

1. Market selection

Dimension Rule
Asset class Polymarket prediction markets
Eligible categories Tennis, MLB (moneyline + O/U totals + spreads), Soccer, UFC/MMA
Conditionally eligible NBA (regular season only, or playoffs at 3.0x+ dominance only)
Excluded categories NHL (negative ROI, thin volume)
Eligible market types Moneyline, game totals (O/U), point spreads - all valid
Minimum market liquidity USDC depth on both sides sufficient to fill a paired position without moving the mid by more than 2¢
Multi-line coverage Yes - run all available O/U lines on the same game simultaneously (e.g., O/U 6.5, 7.5, 8.5 on same MLB game)

Why tennis is the core: Tennis has the highest trade count (55.6% of the book), consistent opponent matchup quality, and relatively efficient spreads. The 3.4% ROI on $17.2M across 30 days confirms stable, repeatable edge. Tennis also has no playoff/format complications that corrupt the model.

Why MLB is the secondary: Multiple market types per game (moneyline + 5+ O/U lines + spread variants) multiply the spread opportunities without increasing event exposure. The CSV shows the bot running 8+ simultaneous positions on mlb-mil-chc-2026-05-19 - all drawing from the same game model.

Why NBA deserves caution: The playoff format creates asymmetric information flow (coaching adjustments, injury news, line-up changes) that a market-wide model struggles to incorporate. The -$191K NBA loss is the single largest drag on the book. Limit NBA to regular season or require 3.0x+ dominance before deploying.

---

2. Entry logic

Phase 1: Dominant-side entry

def should_enter_dominant(market, model):
    # Category whitelist
    if market.category not in ("Tennis", "MLB", "Soccer", "UFC/MMA"):
        if market.category == "NBA" and model.dominance(market) < 3.0:
            return None
    
    # Liquidity check
    if market.best_ask_depth_usdc < min_clip_size:
        return None
    
    # Model must have a view
    dominant_side, confidence = model.predict(market)
    if confidence < 0.50:
        return None  # no signal, skip
    
    return dominant_side

Phase 2: Hedge entry (within 15-minute window)

def should_hedge(market, dominant_fill, model):
    hedge_side = opposite(dominant_fill.outcome)
    hedge_ask = market.best_ask(hedge_side)
    
    # Compute implied paired cost
    dominant_vwap = dominant_fill.avg_price
    paired_cost = dominant_vwap + hedge_ask
    
    if paired_cost >= 1.00:
        return None  # spread locked above $1.00 - skip hedge or reduce
    
    # Hedge window: must enter within 15 minutes of dominant fill
    if (now() - dominant_fill.timestamp) > 900:
        return None  # window expired, let dominant leg ride as pure directional
    
    return hedge_side, hedge_ask
Parameter Value Rationale
Entry trigger Model outputs a side with ≥ 50% confidence No view = no trade
Paired cost threshold < $1.00 combined (target < $0.97) Sub-$1.00 guarantees spread; sub-$0.97 provides margin
Hedge window 15 minutes from dominant entry Matches observed 836s median second-side lag with buffer
Entry price range All ($0.01 to $0.99) Bot participates across full price spectrum; no exclusions
Multi-leg fan-out Yes, walk the book in multiple fills Observed in CSV: 5-15 fills per side per market at progressive prices

---

3. Sizing model

Two-tier sizing based on dominance ratio:

dominance_ratio = usdc_planned_dominant / usdc_planned_hedge

If dominance_ratio < 1.5:   # Near-even spread play
    dominant_clip = base_clip
    hedge_clip    = base_clip

If 1.5 <= dominance_ratio < 2.0:  # Mild directional lean
    dominant_clip = base_clip * 1.5
    hedge_clip    = base_clip

If 2.0 <= dominance_ratio < 3.0:  # Meaningful signal
    dominant_clip = base_clip * 2.5
    hedge_clip    = base_clip

If dominance_ratio >= 3.0:  # High conviction
    dominant_clip = base_clip * 5.0+
    hedge_clip    = base_clip

Reference scale (matching observed book):

Bankroll Base clip Max dominant clip Max per-market exposure
$500K $500 $2,500 ~$5,000
$1M $1,000 $5,000 ~$10,000
$5M (reference) $5,000 $25,000 ~$50,000
$10M+ Fragment across wallets

Important: The reference book shows a $190,399 single fill - an extreme outlier that is 38× the P99 of $3,335. Do not treat this as a normal operating parameter. This was likely a specific event (the Athletics vs. Angels market at +$121K P/L) where the operator made a large directional bet outside the standard spread playbook. Exclude from your sizing model calibration.

The power-law size distribution (top 5% of trades hold 71.6% of capital) is real and structural: most fills are small probes that complete the multi-line coverage, while the occasional large clip is where the model has exceptional conviction. Design your sizing model to allow for 10-50× base-clip positions on 3x+ dominance markets.

---

4. Paired-cost discipline

This is the core rule that separates profitable spread capture from undisciplined betting:

For each market where you hold both sides:

paired_cost = YES_VWAP + NO_VWAP
              (weighted average across all fills on each side)

If paired_cost < 0.97:  guaranteed_profit = 1.00 - paired_cost >= 3¢/unit
If 0.97 <= paired_cost < 1.00: thin spread - reduce size next time
If paired_cost >= 1.00: guaranteed loss - post-mortem this market

Target metrics (matching reference book):

  • Median paired cost: ≤ $0.975
  • % markets below $0.97: ≥ 45%
  • % markets below $1.00: ≥ 60%

The 40.2% of both-sides markets with paired cost above $1.00 in the reference book represent failures of the hedge timing. Most of these occur when the second-side price moved significantly before the hedge executed. The 836-second median lag is too long for fast-moving markets. A replicator should target a tighter hedge window (under 300 seconds) to reduce this fraction.

PAIRED COST TARGETEvery 1¢ reduction in median paired cost adds approximately $42,000 of annual P/L per $4.3M of monthly volume (at this book's scale). Tightening the hedge window from 836s to under 300s is the single highest-ROI operational improvement available.

---

5. Dominance-ratio calibration

Tilt ratio Signal strength Deploy? Notes
1.0-1.5x None (49.7% dominant WR) Yes, at base clip Pure spread play
1.5-2.0x Weak (52.1% dominant WR) Yes, at 1.5× Slight directional add
2.0-3.0x Real (58.8% dominant WR) Yes, at 2.5× Filter-worthy dominant leg
3.0x+ Strong (59.6% dominant WR) Yes, at 5×+ Maximum deployment

The high-conviction filter finding (dom ≥ 2.0x produces +8.82% ROI vs. +2.60% unfiltered) is the most important calibration data point. A replicator running a capital-constrained book should:

  1. Always deploy at 2.0x+ dominance markets (max capital within liquidity)
  2. Deprioritize 1.0-1.5x markets in capital allocation
  3. Never skip a 3.0x+ market - even if it requires borrowing from the 1.0-1.5x allocation

---

6. Category priority and scheduling

Category Priority Operating hours (UTC) Notes
Tennis High 05:00-22:00 ATP/WTA matches run ~05:00-20:00 UTC peak
MLB High 17:00-04:00 Game windows 17:00-03:00 UTC
Soccer Medium 10:00-22:00 Match windows vary by competition
UFC/MMA High when available Event-dependent Weight at max available clip
NBA (regular season) Medium 23:00-04:00 Evening US games
NBA (playoffs) Low (3x+ dom only) 23:00-04:00 Reduce exposure significantly
NHL Skip - Negative ROI in reference period

Day-of-week adjustment: Sunday is the highest-ROI day (+6.83%). Saturday is second (+3.80%). Monday is third (+3.49%). Friday is the only negative day (-2.15%). Consider running at full capacity Sunday through Thursday and monitoring closely on Fridays (NBA Friday games appeared to drive Friday losses in the reference period).

Hourly P/L note: Hours 18:00 (+$232K), 23:00 (+$213K), 14:00 (+$188K), and 10:00 (+$183K) are the four best UTC hours by absolute P/L. Hours 01:00 (-$183K) and 03:00 (-$147K) are the worst. However, do not filter by hour - the hour-exclusion filter was destructive in testing. Use this data for monitoring rather than filtering.

---

7. Multi-line event coverage

One of the most capital-efficient features of this strategy is multi-line coverage: deploying on multiple betting lines for the same underlying game.

For an MLB game, the reference book runs simultaneously on:

  • Moneyline (Team A wins)
  • O/U 5.5 total runs
  • O/U 6.5 total runs
  • O/U 7.5 total runs
  • O/U 8.5 total runs
  • O/U 9.5 total runs
  • Spread variants (Team A -1.5, Team B -1.5)

Each of these is a separate Polymarket market with its own orderbook and liquidity. The bot's game model generates probability estimates for each market independently. The paired-cost rule applies to each market separately - a sub-$1.00 paired cost on the O/U 7.5 market is independent of the paired cost on the moneyline.

Implementation rule: For every game event, enumerate all active Polymarket markets and filter to those where your model has a view AND the paired cost can be locked below $1.00. Deploy the standard sizing on each qualifying market. The incremental cost per additional line is low (the model already has the game prediction), and the incremental spread P/L is additive.

---

8. Risk management

Risk Severity Mitigation
Second-side lag adverse selection High Tighten hedge window to <300s; cancel hedge if paired cost hits $1.00
Category model failure (NBA example) High Monitor weekly ROI by category; reduce allocation if any category goes negative for 7+ days
Large directional loss (uncovered single-side) Medium Single-sided positions (no hedge) should be limited to confirmed 3.0x+ dominance markets
Hedge fill failure (illiquid markets) Medium Require minimum $X depth on both sides before entering any position on either side
Overcrowding on popular markets Medium The reference book has $225K+ deployed on some single NBA game markets; monitor fill slippage
Paired cost creep Low Weekly audit of median paired cost; if median exceeds $0.985, tighten hedge timing

Portfolio-level drawdown rule: If any rolling 7-day P/L goes negative by more than -1% of deployed capital, pause new position initiation in the loss category and review model inputs. The reference book's Week 1 loss of -$204K (-0.47% of the month's total deployed) recovered fully by Week 2; a -1% weekly threshold would not have triggered a pause in that case, which is appropriate.

Per-market cap: No single event should receive more than 1% of monthly deployed capital without manual review. The reference book violated this on a few marquee events (Magic vs. Pistons appeared to have $15K+ deployed), and the outsized losses in those games contributed to the Week 1 drawdown. Mechanical position sizing prevents this.

---

9. Operational requirements

Requirement Detail
Execution speed Sub-2s from signal generation to order submission. The reference book's median 5s inter-fill gap suggests WebSocket-connected bot, not polling.
Market data Persistent WebSocket connections to Polymarket CLOB for L2 orderbook on all eligible markets simultaneously.
Sports model Real-time game outcome probability model. Minimum viable: odds-feed converter (bookmaker consensus to implied probability). Better: custom model with recency-weighted team stats.
Wallet Single EOA, USDC-funded on Polygon. For $5M+ books, consider 2-3 wallets to avoid single-wallet transaction queue bottlenecks.
Transaction throughput At 7,784 trades/day (reference pace), need ~5-6 TPS sustained. Polygon handles this comfortably. Use batching where possible.
Capital recycling 100% of capital settles at market close (no open positions carry overnight risk). Withdrawn USDC from settled wins can be immediately redeployed.
Monitoring Daily P/L by category. Weekly paired-cost median audit. Alert if any category ROI goes negative for 3+ consecutive days.
Reconciliation Daily: sum all settled market payouts vs. expected spread P/L. Flag any market where realized P/L deviates more than 20% from expected spread.

---

10. Diagnostic checklist: is the bot still working?

Run weekly:

Metric Healthy range Action if outside
Overall ROI (weekly) +1.5% to +6% on deployed Below +1%: audit paired costs. Above +8%: likely benefiting from specific directional hits, not structural.
Median paired cost $0.965 to $0.980 Above $0.980: tighten hedge window immediately. Below $0.960: great, maintain discipline.
% paired markets below $1.00 58%-65% Below 55%: systematic second-side lag problem. Above 70%: review whether you're leaving directional upside on the table.
Tennis ROI +2% to +6% Below +1%: spread model degraded on tennis.
MLB ROI +1% to +5% Below 0%: investigate specific over/under line accuracy.
NBA ROI (if running) 0% to +4% Below 0% for any 7-day period: reduce NBA to 3.0x+ dominance only.
High-conviction (dom ≥ 2.0x) dominant WR 55%-65% Below 52%: directional model is degraded. Reduce dominance-based tilts.
Second-side lag (median) Under 600s Above 900s: bot is not finding hedge liquidity quickly enough.
Daily trade count 5,000-12,000 Below 4,000: coverage universe too narrow, add markets. Above 15,000: check for runaway loops.

---

What this playbook deliberately does NOT include

  • No hour-of-day exclusion filters. The hour-exclusion test was destructive in this dataset. Run 24/7 and let the category model carry the timing selection.
  • No single-category focus. UFC/MMA at +35% ROI sounds compelling but the absolute capacity is too small ($86K/month) to matter for a real book. Tennis + MLB is the actual alpha engine.
  • No fixed $0.30-$0.70 price band restriction. The $0.00-$0.10 band at +23.5% ROI is load-bearing (representing genuine longshot hedge wins). Filtering it out reduces P/L.
  • No pure directional play (no hedge). The strategy's structural edge is the guaranteed spread, not the directional call alone. Running as a pure directional bettor without the hedge reduces Sharpe even if it occasionally improves raw returns.
  • No hold-to-resolution-only model. This strategy has zero sells in the reference period, but this is by design: you are buying both sides and one side will always win at $1.00. Adding an early-exit SELL mechanism is possible but changes the spread-capture mechanics entirely - it becomes a different strategy.
  • No NHL expansion. The reference book ran -2.23% ROI on NHL with 3,203 trades. The market structure on hockey totals and spreads does not appear to generate reliable spread opportunities at this operator's model quality. Avoid NHL until a specific edge is identified.

The core discipline is: enter both sides when the spread locks below $1.00, size proportional to your model's directional conviction, and do nothing else clever. Every "improvement" the operator apparently tested and rejected by the data (NHL expansion, hourly timing, single-category focus) shows up as drag when applied. Trust the data.

// 001 / Analysis

The portfolio shape, and where the edge appears to come from.

Wallet activity across 30 days, every fill mapped, profile traced.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 (30 days, 30 active) Universe: 233,517 trades · 7,628 markets · $43.8M gross turnover · +$1,136,314 net P/L · +2.60% ROI

This is a high-volume sports market maker running a spread-capture engine across tennis, baseball, and basketball. The wallet deploys capital on both sides of games simultaneously, locking in the bid-ask spread on Polymarket's CLOB, then lets settlement handle the residual. At $43.8M of turnover across 30 days, this is one of the largest books in the dataset by raw volume. The edge is not directional prediction: it is systematic spread capture at scale, with a meaningful directional tilt layered on top when conviction crosses a threshold.

The both-sides participation rate is 55.1%. Median paired cost is $0.9748 per dollar of resolution value. Every market where the paired cost comes in below $1.00 is a guaranteed profit regardless of outcome. The strategy doesn't need to know who wins; it just needs to buy both YES and NO at a combined price below $1.00 and collect the guaranteed spread at settlement.

The portfolio shape

Three categories do almost all the work. Tennis drives the most absolute P/L at +$585,676 on $17.2M deployed (3.4% ROI) and accounts for 55.6% of total trade count. MLB adds +$337,806 on $13.1M (2.6% ROI). Everything else is smaller. NBA is the problem child: -$191,047 on $7.9M deployed (-2.5% ROI). The NBA losses are concentrated in specific series matchups where the bot's spread model misfired badly, particularly the Timberwolves-Nuggets and Rockets-Lakers series. UFC/MMA is the statistical standout at +35% ROI, but with only $86K deployed it barely moves the needle on absolute P/L.

The size distribution is extreme power-law. The top 5% of trades carry 71.6% of capital, and the single largest fill is $190,399 in one ticket. The median trade is $6.60. This is not a uniform spreader: the vast majority of fills are small probes, while occasional conviction-sized clips dominate the capital deployment. The Lorenz curve is steep: the bottom 50% of trades account for only 0.52% of capital.

SCALE$43.8M of USDC turnover across 30 days averages $1.46M per day deployed. The wallet trades every single calendar day of the window - 30 of 30 active days.

Where the edge appears to come from

The P/L decomposition reveals the mechanism directly. Spread P/L is +$1,776,733 (buying both sides at sub-$1.00 combined cost guarantees this amount at settlement). The hedge tax - the cost of the non-dominant side in markets where the dominant side wins - is -$16,553,248. The realized total is +$1,136,314. The spread engine generates far more gross P/L than the realized net, but the hedge tax is the price of guaranteed profits: every locked spread requires buying the losing side too.

The dominance ratio analysis adds the second layer. At 3.0x+ dominance (2,497 markets), the dominant side wins 59.6% of the time and the mean paired cost is 0.9829. This is the "I'm taking a spread lock AND I think I know who wins" mode. At 1.0-1.5x dominance (685 markets), the dominant side wins only 49.7% - essentially coinflip, pure spread play. The escalating win rate as dominance rises from 1.5x to 3x+ confirms that the sizing scale is genuinely informative: bigger tilts to one side predict actual outcomes at above-chance rates.

Core mechanism: Buy both YES and NO for every eligible market at combined cost below $1.00, locking a guaranteed spread. Then skew capital allocation toward the side your model favors. The skew wins more often than not at high dominance, adding directional alpha on top of the structural spread.

The second-side lag median is 836 seconds (roughly 14 minutes). This is the gap between the first buy and the hedging buy on the opposite side. It is not an instantaneous pair - the bot enters the first side, then monitors the market, then hedges when the price on the other side becomes attractive enough. This is active spread management, not a single-click pair.

What you can copy

Two things from this wallet are directly replicable by a bot operator:

1. The paired-cost discipline. The core entry rule is: buy a side only if the sum of the YES VWAP and NO VWAP across your planned positions will land below $1.00. The median paired cost here is $0.9748. The 47.9% of markets that landed below $0.97 are the real money-makers. This rule is pure math and requires no sports knowledge.

2. The dominance-ratio scaling. Once you decide to take a directional tilt, the data confirms the signal is real. Markets with 3x+ tilts pay off at 59.6% correct vs. 49.7% at near-even. Size your tilts proportional to your model's confidence and the strategy improves materially.

What you probably can't copy

The NBA model is broken and the operator knows it. The six worst markets by P/L are all NBA - a combined -$400K+ of losses concentrated in Timberwolves, Nuggets, Cavaliers, and Hawks series. This wasn't random variance; it was systematic misfiring on a specific subset of the universe. The rest of the strategy works fine. The lesson: category-level model quality matters, and a spreader running an underpowered model on basketball playoff series can give back a month of tennis profits in two weeks of NBA exposure.

The execution infrastructure is also non-trivial. With 233,517 trades over 30 days (7,784 per day), median inter-fill gap of 5 seconds, and 57.4% of fills under 10 seconds, this is a high-throughput bot with persistent Polymarket CLOB connections. Reproducing this trade cadence from a standard REST API setup will hit rate limits before it generates meaningful spread capture.

// 002 / Figure

Cumulative P/L over the window.

The line is daily cumulative net P/L. Mouse along it for daily detail. The dashed grey trace, when present, is cumulative BUY notional deployed.

// 003 / Reverse-engineering report

Reverse-engineering report

Every fill mapped, the asymmetric profile traced, the math behind the edge.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 (30 calendar days, 30 active) Universe: 233,517 trades · 7,628 markets · 3,726 events · $43,768,856 gross turnover Net P/L: +$1,136,314 on $43,554,480 resolved BUY notional = +2.60% ROI in 30 days

P/L methodology: Cash-flow accounting on resolved BUYs. Each trade's P/L = shares (if win) - usdc_spent (if win), or -usdc_spent (if loss). Spread P/L is separately attributed as the guaranteed gain from paired positions where YES VWAP + NO VWAP is less than $1.00. The wallet has zero SELL trades, so all P/L is realized at settlement.


The Punchline

This is a both-sides spread-capture engine running across sports prediction markets at industrial scale. The wallet buys YES and NO on the same game, locking in the bid-ask spread as guaranteed profit at settlement, then skews capital allocation toward the side it believes will win. It is not a pure market maker (the skews are large and informative) and not a pure directional bettor (it hedges virtually every position). It is a hybrid: systematic spread capture with a directional model layered on top.

The economics require understanding the decomposition. Spread P/L is +$1,776,733 - the aggregate guaranteed profit from all paired positions where combined cost was below $1.00. That number is eroded by the hedge tax (-$16,553,248), the capital spent on the losing side of every matched pair. The net of those two streams, plus directional wins on unmatched excess, produces the realized +$1,136,314. The spread engine is working; the hedge tax is simply the structural cost of guaranteeing it.

The dominance-ratio analysis confirms a genuine directional signal embedded in the sizing. Dominant-side win rate escalates monotonically from 49.7% at 1.0-1.5x tilt to 59.6% at 3.0x+. This is not random: the bot's model is predicting winners at above-chance rates when it tilts hard, adding incremental alpha on top of the structural spread. The NBA vertical is the one place this model failed systematically, generating -$191,047 of losses and partially offsetting large wins in tennis and MLB.

---

What He Trades

The universe is broad but structured across three primary categories:

Category Trades Volume WR P/L ROI
Tennis 129,770 $17.2M 33.9% +$585,676 +3.41%
MLB 52,593 $13.1M 56.3% +$337,806 +2.58%
Other 20,038 $3.7M 56.9% +$330,367 +8.87%
NBA 24,365 $7.9M 53.0% -$191,047 -2.47%
Soccer 3,318 $1.1M 57.3% +$50,773 +4.67%
UFC/MMA 230 $86K 43.9% +$30,276 +35.0%
NHL 3,203 $662K 34.8% -$14,784 -2.23%

Tennis is the workhorse. The 33.9% raw win rate on tennis BUYs looks alarming until you understand the spread structure: a pure spread-capture bot buying both YES and NO will have an overall win rate close to 50%, but the individual side that lost the match shows 0% WR on those tickets. The tennis book's 3.41% ROI on $17.2M is the spread engine performing as designed.

The "Other" category at +8.87% ROI is the highest-ROI meaningful bucket. Examining the best-markets table, this includes UFC/MMA fights and some over/under totals that are not sport-specific. The UFC/MMA standalone at +35% ROI on $86K is a statistical outlier given the sample size of 230 trades.

NBA is the failure mode. The top-10 worst markets list is dominated by NBA series: Timberwolves vs. Nuggets (-$84K), Rockets vs. Lakers (-$83K), Cavaliers vs. Raptors (-$81K), Timberwolves vs. Nuggets (second instance, -$73K), Nuggets spread (-$70K), Spurs vs. Timberwolves (-$69K), Timberwolves vs. Spurs (-$65K), Hawks vs. Knicks (-$63K). Total identifiable NBA losses exceed -$550K across those eight markets, partially offset by wins like Rockets vs. Lakers (+$60K in a separate instance) and 76ers vs. Celtics (+$25K).

NBA FAILUREThe NBA vertical cost roughly -$191K net P/L while the rest of the book generated +$1.3M. If this wallet had excluded NBA entirely, the 30-day ROI would be approximately +3.1% instead of +2.6%. The NBA model misfired systematically on playoff-era series markets.

---

The Order of Operations - One Market, Trade by Trade

The clearest illustration of the strategy is Magic vs. Pistons (nba-orl-det-2026-04-19), where the bot entered at the very start of the window (April 20, 00:00-00:33 UTC) and built a large paired position over 33 minutes. The game had already been played (it was April 19 Eastern time); the market was still open for resolution.

The bot's behavior here shows the full playbook:

Phase Time (UTC) Action Outcome Price USDC Notes
1. Initial Magic buys 00:00:00 BUY Magic Magic $0.36 ~$500+ 5 fills at $0.36
2. Magic accumulation 00:03:10-00:03:58 BUY Magic Magic $0.51 ~$3,000 12+ fills, price rising
3. Large Magic clip 00:03:42 BUY Magic Magic $0.51 $2,550 5,000 shares
4. Magic deepening 00:05:30-00:06:34 BUY Magic Magic $0.51-0.49 ~$2,000 Continued accumulation
5. Pistons hedge 00:05:04-00:05:28 BUY Pistons Magic $0.47 ~$4,000 First hedge fills
6. Large Pistons 00:04:54 BUY Pistons Magic $0.47 $329 700 shares
7. Pistons deepening 00:13:38-00:15:06 BUY Pistons Magic $0.66-0.68 ~$11,000 Price moved against
8. More Pistons late 00:22:02-00:24:18 BUY Pistons Magic $0.36-0.37 ~$9,000 Late adds at lower price
9. Magic add 00:16:38-00:17:48 BUY Magic Magic $0.38-0.51 ~$1,500
10. Final Pistons 00:28:26-00:32:58 BUY Pistons Magic $0.43-0.47 ~$700 Closing fills

Walk-through:

Phase 1-4: The bot identifies Magic vs. Pistons as a live market and begins buying Magic (the outcome that ultimately resolves as the winner) at $0.36-0.51. These are the "dominant side" fills - the bot's model favors Magic, so it builds a large Magic position first.

Phase 5-6: Approximately 30 seconds into the Magic accumulation, the first Pistons hedge fills appear at $0.47. At this point the implied paired cost is roughly $0.51 + $0.47 = $0.98, which is below $1.00 - the spread is locked.

Phase 7: The bot purchases more Pistons at $0.66-0.68 - after the price has moved significantly. This is the hedge-tax regime: it's paying more for the hedge than the original signal price, which increases the paired cost. This is the second-side lag consequence: prices move in the 14-minute median gap between first and second side.

Phases 8-10: Late Pistons adds at $0.36-0.43 as the market drifts toward the winning outcome. The bot is still hedging with a remaining Pistons exposure.

The resolution: Magic wins, as the Resolved Side column confirms for all Magic tickets. All Pistons tickets returned $0. The spread on this market was a large net win for the Magic side, offset by the Pistons hedge cost.

SECOND-SIDE LAGThe 836-second median gap between first and second side buy creates adverse selection risk. When the bot buys the dominant side at $0.47 and the hedge side at $0.66-0.68 (14 minutes later), the paired cost on those late hedges is $1.13+ - a guaranteed loss on that sub-pair. The strategy works in aggregate because most paired costs land below $1.00, but the second-side lag is the primary risk factor.

---

Why It Works - The Math

The spread-capture mechanism is straightforward:

Paired cost = YES_VWAP + NO_VWAP per paired unit

If paired_cost < 1.00:
  guaranteed_profit_per_unit = 1.00 - paired_cost
  (resolution pays $1.00 on the winning side, $0.00 on losing side)

Median paired cost observed: $0.9748
Median spread per unit: $0.0252

At scale:
  Markets with both-sides: 4,202
  Average notional per paired market: ~$10,400
  Spread P/L = 1,776,733 (confirmed by decomp)

The directional add-on:

Dominance ratio → Dominant-side win rate:
  1.0-1.5x:  49.7% wins (685 markets) - pure spread, no signal
  1.5-2.0x:  52.1% wins (454 markets) - weak signal
  2.0-3.0x:  58.8% wins (566 markets) - real signal
  3.0x+:     59.6% wins (2,497 markets) - strong signal

At 3.0x+ dominance:
  Win rate 59.6% vs. 50% baseline = +9.6% hit-rate alpha
  Applied to 2,497 markets, this is a meaningful incremental P/L contribution

The strategy's vulnerability is two-fold. First, the hedge tax is enormous: -$16.5M of capital spent on losing sides, exceeding the gross spread P/L of +$1.8M. The net is positive, but the margin for error is thin - a sustained model failure in a high-volume category (as NBA demonstrates) can erase multiple weeks of spread profit in days. Second, the second-side lag creates paired costs above $1.00 on a meaningful fraction of positions (the 40.2% of both-sides markets where paired cost exceeded $1.00).

---

Phase 1 - Trader Profile

Scale and activity:

  • 233,517 BUYs, 0 SELLs across 30 days
  • $43,768,856 total BUY notional
  • 7,784 trades per day average
  • 7,628 unique markets, 3,726 unique events
  • 30 of 30 calendar days active

Trade size distribution (extreme power-law):

Stat Value
Median $6.60
Mean $187.43
P95 $879.64
P99 $3,334.65
Max $190,399.00
Top 5% share 71.6%

The 24× difference between median ($6.60) and mean ($187.43), and the top-5% concentration at 71.6%, confirm a power-law distribution. The bot fires many small probe fills and occasional enormous conviction clips. The single $190,399 fill is a one-off extreme event; the P99 of $3,335 is more representative of the large-clip regime.

Execution signature:

  • Median inter-fill gap: 5.0 seconds
  • 57.4% of consecutive fills under 10 seconds
  • 74.1% under 60 seconds
  • Mean gap: 199.4 seconds (distorted by overnight pauses)

The 5-second median with 57.4% under 10 seconds is bot-speed execution. Same-second multi-fill fan-outs are visible throughout the CSV (e.g., multiple fills on mlb-bos-kc-2026-05-19-spread-home-2pt5 at 23:58:59 and 23:59:01 UTC).

---

Phase 2 - Core Strategy Identification

Both-sides participation rate: 55.1% (4,202 of 7,628 markets had both sides purchased)

This is above the 60% threshold for "probably MM" from the spec, but the rate combined with active directional tilting makes this a hybrid. Classification:

Primary: A (Both-Sides Spread Capture / Market Making)

Evidence:

  • 55.1% both-sides rate
  • Median paired cost $0.9748 (below $1.00 - guaranteed spread)
  • 59.8% of both-sides markets have paired cost below $1.00
  • Spread P/L = +$1,776,733 confirms the mechanism

Secondary: B (Directional Betting) layered on top

Evidence:

  • Dominant-side win rate escalates from 49.7% at 1-1.5x to 59.6% at 3x+
  • Second-side lag of 836s (not simultaneous pair - directional entry first, hedge second)
  • Single-side markets (44.9% of book) are pure directional calls
  • Top-performing markets include significant one-sided plays (e.g., Athletics vs. Angels: +$121,624 with no counterpart hedge detectable)

The bot is NOT:

  • A pure market maker (44.9% of markets are one-sided; dominant-side win rates exceed 55% at high tilt)
  • A copy-trader (execution speed rules this out)
  • A stale-price sniper (entries span all price bands, not concentrated at near-certainties)

---

Phase 3 - Dominance Ratio Analysis

Bucket Markets Dom Win Rate Dom Resolved Mean Paired Cost
1.0-1.5x 685 49.7% 684 0.9706
1.5-2.0x 454 52.1% 451 0.9665
2.0-3.0x 566 58.8% 566 0.9505
3.0x+ 2,497 59.6% 2,494 0.9829

The monotonic escalation in dominant-side win rate from 49.7% to 59.6% as dominance increases from 1x to 3x+ is the critical finding. This is not random variation across 4,202 markets - it is a genuine directional signal embedded in the sizing scale.

The mean paired cost at 3.0x+ (0.9829) is actually slightly higher than at 2.0-3.0x (0.9505). This reflects the high-dominance regime: when the bot is extremely confident in one side, it may be bidding higher on the spread, or more likely the dominant side's price is already elevated, making it harder to get a tight paired cost. The 3x+ bucket is the "I think I know who wins" mode where the directional add-on is most valuable but the spread is thinner.

The 1.0-1.5x bucket at exactly 49.7% dominant-side win rate confirms that near-even splits are pure spread plays with no directional information. The bot correctly uses this tier for guaranteed-spread hunting without making directional claims.

---

Phase 4 - Entry Price Analysis

Band Trades WR Spent P/L ROI
$0.00-$0.10 36,996 6.2% $503,628 +$118,516 +23.5%
$0.10-$0.20 21,782 15.0% $1,154,476 -$55,645 -4.8%
$0.20-$0.30 21,441 26.3% $1,979,316 +$59,074 +3.0%
$0.30-$0.40 23,045 37.8% $3,173,029 +$588,152 +18.5%
$0.40-$0.50 31,384 45.2% $7,044,556 +$238,734 +3.4%
$0.50-$0.60 31,490 55.8% $9,091,808 +$435,765 +4.8%
$0.60-$0.70 27,786 63.8% $7,286,186 -$235,621 -3.2%
$0.70-$0.80 23,176 74.8% $6,537,241 -$55,645 -0.9%
$0.80-$0.90 10,800 84.9% $4,574,637 +$39,729 +0.9%
$0.90-$1.00 5,245 94.4% $2,209,604 -$3,991 -0.2%

Three anomalous bands stand out:

  1. $0.00-$0.10 at +23.5% ROI: The lowest-probability entries return the highest ROI. These are longshot hedge-side buys (the "No" side of an event where the dominant side is already heavily priced as favorite). When the longshot wins, the payout is enormous. The 6.2% win rate at sub-$0.10 is approximately calibrated to the implied probability, but the ROI is outsized because wins pay 10-100x.
  1. $0.30-$0.40 at +18.5% ROI: This band captures many of the "spread lock" buys where the bot enters at near-even prices and both sides land in the $0.30-$0.70 zone. The high ROI here likely reflects clean spread execution where paired costs were well below $1.00.
  1. $0.60-$0.70 at -3.2% ROI: The mild-favorite zone is the worst band by ROI. Entries here often represent the "late hedge" scenario - buying the second side after the market has moved toward the dominant outcome, creating paired costs above $1.00 on those specific fills.

Sub-bucket concentration check: The price histogram is broad across all 101 price points with no single penny dominating. The $0.50 band is the single most-traded cent, and common prices like $0.47, $0.51, $0.57, $0.59, $0.63, $0.69, $0.71, $0.73, $0.77 appear frequently in the CSV (reflecting rounded lines on baseball over/unders and spreads). This is a multi-tick, multi-market strategy, not a single-price anchor.

---

Phase 5 - Category and Vertical Breakdown

Category ROI Assessment Notes
Tennis +3.41% Modest Workhorse volume, consistent spread capture
MLB +2.58% Modest Strong absolute P/L, good spread discipline
Other +8.87% Strong Small volume, high ROI - UFC/MMA + misc
Soccer +4.67% Modest Consistent, limited exposure
UFC/MMA +35.0% Elite Small sample (230 trades), statistical outlier
NHL -2.23% Unprofitable Small position, minor drag
NBA -2.47% Unprofitable Systematic model failure in playoffs

Tennis at 129,770 trades is the single most-traded vertical - nearly triple the next category (MLB at 52,593). The 33.9% tennis win rate reflects the nature of paired-side tennis markets: buying both "Player A wins" and "Player B wins" on 3-set matches where one player is a strong favorite means the underdog ticket wins roughly 30-40% of the time. The spread on tennis is typically tighter than on major US sports, but the volume more than compensates.

MLB over/under and spread markets are heavily represented in the CSV tail. The bot runs multi-line coverage on games: for the same mlb-mil-chc-2026-05-19 event, it simultaneously has positions in the moneyline, O/U 6.5, O/U 7.5, O/U 8.5 markets. This multi-line approach multiplies spread capture opportunities per event.

Best single markets by P/L:

Market Trades Volume P/L
Athletics vs. LA Angels 134 $32K +$121,624
Houston Astros vs. Baltimore Orioles 136 $97K +$71,797
New York Yankees vs. Milwaukee Brewers 49 $65K +$70,892
Rockets vs. Lakers 407 $120K +$60,294
LA Dodgers vs. LA Angels 110 $100K +$59,588

The Athletics vs. Angels market at +$121,624 on only $32K of volume is a +376% ROI on a single game. This is not spread capture - it is a large directional bet that paid off. The 134 trades and 55 wins (41% WR) with that payoff suggests the bot went heavily long on one outcome at low implied probability and hit.

---

Phase 6 - Timing and Execution Analysis

Hourly P/L distribution:

Best hours (UTC) Trades P/L Worst hours (UTC) Trades P/L
18:00 12,157 +$232,828 01:00 13,552 -$183,892
23:00 12,238 +$213,545 00:00 14,414 -$124,518
14:00 11,794 +$188,967 12:00 12,265 -$121,295
10:00 13,541 +$183,502 03:00 8,428 -$146,948
20:00 8,847 +$164,346 19:00 11,276 -$48,707

Unlike directional traders with clear peak/sleep windows, this bot runs 24/7 - the hourly trade counts range from 2,939 (hour 5) to 14,414 (hour 0), with no zero-trade hours. The P/L variance by hour is large but not driven by volume - hours 00:00 and 01:00 both have high trade counts but are the worst P/L hours. This likely reflects late-game NBA activity where the bot's basketball model underperformed.

Day-of-week breakdown:

Day Trades WR P/L ROI
Mon 31,799 38.4% +$191,779 +3.49%
Tue 48,568 40.3% +$121,512 +1.51%
Wed 33,628 43.6% +$137,221 +2.17%
Thu 35,470 44.4% +$80,305 +1.28%
Fri 25,117 41.8% -$91,803 -2.15%
Sat 32,010 46.6% +$270,704 +3.80%
Sun 26,925 49.6% +$426,595 +6.83%

Friday is the only negative day at -2.15% ROI. Sunday is the standout at +6.83% ROI and +$426,595 absolute. The week-1 loss (-$204,469) then recovery to +$1,136,314 cumulative is the dominant pattern in the rolling windows.

The second-side lag (836 seconds median, ~14 minutes) is the most important execution characteristic. The bot is not an instantaneous both-sides entry bot. It enters the first side, watches the market, then hedges when the second-side price looks attractive. This creates paired cost variance across positions within the same market.

SECOND-SIDE LAGMedian 836 seconds (14 minutes) between first and second side purchase. During this window, the market can move against the hedge. Late hedges at $0.66-0.68 on markets where the first side was at $0.36 create paired costs of $1.02-$1.04 - guaranteed losses on those sub-pairs. The aggregate still nets positive because most early hedges execute at sub-$1.00 combined cost.

---

Phase 7 - Filter Experiments

Filter Trades WR Capital P/L ROI vs. Baseline
Unfiltered baseline 233,145 43.2% $43.6M +$1,136,314 +2.60% -
Price $0.30-$0.70 116,622 51.7% $27.2M +$987,111 +3.63% +1.03pp
High-conviction (dom ≥ 2.0x) 79,241 54.5% $21.5M +$1,896,174 +8.82% +6.22pp
Top category (UFC/MMA) 230 43.9% $86K +$30,276 +35.0% +32.4pp
Exclude worst hours (6, 9, 11, 14) 193,467 45.3% $38.5M +$817,634 +2.12% -0.48pp
Combined best (dom≥2x + UFC/MMA + excl worst hrs) 120 53.3% $44K +$11,482 +25.8% +23.2pp

The high-conviction filter is the most important finding: restricting to markets where dominance ratio exceeds 2.0x and taking only the dominant leg turns +2.60% baseline ROI into +8.82% ROI on $21.5M deployed. This is a near-doubling of ROI by simply skipping the near-even spread plays and focusing on the directional signal.

Full filter commentary appears in the Filters tab.

---

Phase 8 - Rolling Window Consistency

Metric Value
Rolling 7-day windows green 23 of 30 (76.7%)
Rolling 15-day windows green 23 of 30 (76.7%)
Days with positive P/L Computable from weekly: Week 1 negative (-$204K), weeks 2-5 positive
Best single week Week 18 (Apr 27 - May 3): +$789,032
Worst single week Week 17 (Apr 20-26): -$204,469
Cumulative at end +$1,136,314

The rolling window pattern is notably front-loaded with losses: the first seven rolling-7 windows (April 20-26) are all negative, with the rolling-7 P/L bottoming at -$282,171 on April 23. The strategy then recovers strongly through weeks 3-5, with the rolling-15 crossing positive on April 29 and remaining positive through the rest of the window.

Weekly P/L progression:
  Week 17 (Apr 20-26):  -$204,469   Cumul: -$204,469
  Week 18 (Apr 27-May 3): +$789,032  Cumul: +$584,563
  Week 19 (May 4-10):  +$65,872    Cumul: +$650,436
  Week 20 (May 11-17): +$439,588   Cumul: +$1,090,024
  Week 21 (May 18-19): +$39,044    Cumul: +$1,129,068

The Week 1 loss of -$204K coincides with the peak of NBA playoff activity (Magic vs. Pistons, early NBA series where the bot appeared to lose significantly on spread positions that moved against it). The recovery in Week 2 (+$789K) is the single largest weekly gain and likely reflects tennis and MLB volume catching up plus the NBA model stabilizing.

The 76.7% rolling-window green rate is lower than elite directional traders (SirMartingale was 100%), but is expected for a spread-capture strategy that can absorb multi-day losses when a category misfires, then recover when volume cycles back to profitable categories.

---

Phase 9 - P/L Decomposition

Component Value Interpretation
Spread P/L (paired positions) +$1,776,733 Guaranteed gain from sub-$1.00 paired costs
Hedge tax -$16,553,248 Capital spent on losing side of all paired markets
Realized total P/L +$1,136,314 Net after settlement
Directional residual Implied +$912,829 Realized - Spread P/L + Hedge Tax (from unmatched singles + directional tilts winning)

The spread P/L of +$1,776,733 is the guaranteed floor from all sub-$1.00 paired positions. But the hedge tax of -$16.5M is the aggregate cost of all losing-side positions - this is not a "cost" in the traditional sense but rather the mechanical consequence of having settled $0 on the loser of every matched pair. The strategy works because the spread between paired cost and $1.00 (the guaranteed win) exceeds the proportional outflow on losing sides.

The +$912,829 implied directional residual represents the incremental P/L from: (a) markets where the bot took a dominant-side position without hedging, (b) markets where the dominant tilt was large enough that winning the dominant side generated more than the hedge tax consumed, and (c) the exceptional individual directional hits like Athletics vs. Angels (+$121K) and Yankees vs. Brewers (+$71K).

There is no SELL-leg decomposition because the wallet has zero SELL trades. All exits are at settlement.

---

Phase 10 - Strategy Specification

One-sentence summary: A 24/7 automated both-sides spread-capture bot across sports prediction markets that simultaneously buys YES and NO on the same game at sub-$1.00 combined cost, with a directional model that skews capital allocation toward the predicted winner and generates incremental alpha at 3x+ tilt ratios.

Edge sources (stacked):

  1. Structural spread capture - buying both sides at combined cost below $1.00 guarantees profit at settlement regardless of outcome. Median locked spread of $0.0252 per unit across 4,202 both-sides markets.
  2. Directional alpha on tilted positions - dominant-side win rate of 59.6% at 3x+ tilt confirms a real predictive model. This adds ~9.6 percentage points of win-rate alpha above the coin-flip baseline.
  3. Multi-line event coverage - running positions on moneyline + multiple O/U totals + spread markets for the same event multiplies spread opportunities per game without proportional model risk.

Primary risk factor: Second-side lag (836s median) creates adverse selection on hedges in fast-moving markets. The 40.2% of paired markets with cost above $1.00 are guaranteed losses on those sub-pairs, partially offsetting the guaranteed wins on the 59.8% below $1.00.

What replicators must do: See Playbook tab for the full implementable specification.

// 004 / Quantitative breakdown

Quantitative breakdown

Phase-by-phase statistical report. Methodology, distributions, per-bucket P/L.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 → 2026-05-19 (30 active / 30 calendar days) Methodology: Cash-flow P/L = -buy_usdc + sell_usdc + remaining_share_payout. Resolved shares settle at $1 (win) / $0 (loss); open positions marked at last price.


Phase 1 - Trader Profile

Scale

MetricValue
Total trades233,517
BUY trades233,517
SELL trades0 (0.0% of all)
Unique markets7,628
Unique events3,726
Active calendar days30 of 30
Trades per active day7,784
BUY notional$43,768,857
SELL notional$0
Gross turnover$43,768,857

Trade-size distribution (USDC per fill)

MetricValue
median$6.60
mean$187.43
p95$879.64
p99$3,334.65
max$190,399.00
Top 5% share of capital71.6%

Inter-trade gap, same (market, outcome)

MetricValue
Median (s)5.0
Mean (s)199.4
P10 (s)0.0
P90 (s)376.0
% under 1s0.0%
% under 10s57.4%
% under 60s74.1%

Phase 2 & 3 - Both-Sides Participation, Dominance Curve

  • Both-sides rate: 55.09% (4,202 of 7,628 markets)
  • Median paired cost: $0.9748
  • Mean paired cost: $0.9748
  • Paired cost % under $1.00: 59.8%
  • Paired cost % under $0.97: 47.9%
  • Median 2nd-side hedge lag: 836s

Dominance buckets

BucketMarketsDom WRMean PairedAvg Mkt P/L
1.0–1.5x68549.7%$0.9706 -
1.5–2.0x45452.1%$0.9665 -
2.0–3.0x56658.8%$0.9505 -
3.0x+2,49759.6%$0.9829 -

Phase 4 - Entry-Price Analysis

BandBUY tradesResolvedWinsWRCapitalP/LROI
$0.00–$0.1036,99602,2846.2%$503.6K+$118,516+23.53%
$0.10–$0.2021,78203,25915.0%$1.15M-$55,645-4.82%
$0.20–$0.3021,44105,63426.3%$1.98M+$59,074+2.98%
$0.30–$0.4023,04508,71237.8%$3.17M+$588,152+18.54%
$0.40–$0.5031,384014,18045.2%$7.04M+$238,734+3.39%
$0.50–$0.6031,490017,57755.8%$9.09M+$435,765+4.79%
$0.60–$0.7027,786017,71563.8%$7.29M-$235,621-3.23%
$0.70–$0.8023,176017,33074.8%$6.54M-$55,645-0.85%
$0.80–$0.9010,80009,17284.9%$4.57M+$39,729+0.87%
$0.90–$1.005,24504,94994.4%$2.21M-$3,991-0.18%

Phase 5 - Category & Vertical Breakdown

CategoryBUY tradesBUY $ResolvedWRP/LROI
Tennis129,770$17.18M129,62133.9%+$585,676+3.41%
MLB52,593$13.12M52,55956.3%+$337,806+2.58%
NBA24,365$7.90M24,32153.0%-$191,047-2.47%
Other20,038$3.73M19,89356.9%+$330,367+8.87%
Soccer3,318$1.09M3,31857.3%+$50,773+4.67%
NHL3,203$662.2K3,20334.8%-$14,784-2.23%
UFC/MMA230$86.5K23043.9%+$30,276+35.02%

Phase 6 - Timing & Execution

Net P/L by hour (UTC)

HourP/LWR
00:00-$124,51857.9%
01:00-$183,89254.1%
02:00+$135,29654.4%
03:00-$146,94843.8%
04:00-$42,12138.5%
05:00+$23,00044.9%
06:00+$3,32834.9%
07:00-$8,44843.6%
08:00-$19,37036.4%
09:00+$9,36230.4%
10:00+$183,50237.2%
11:00+$109,77633.1%
12:00-$121,29535.9%
13:00+$34,45037.0%
14:00+$188,96735.7%
15:00+$4,27436.6%
16:00+$126,64838.9%
17:00+$81,87544.2%
18:00+$232,82844.0%
19:00-$48,70743.3%
20:00+$164,34649.0%
21:00+$159,81147.8%
22:00+$153,35648.7%
23:00+$213,54559.8%

Phase 8 - Rolling Window Consistency

  • Rolling 7-day windows green: 21 of 30 (70.0%)
  • Rolling 7-day P/L range: -$282,171 → +$793,225
  • Rolling 15-day windows green: 22 of 30 (73.3%)
  • Rolling 15-day P/L range: -$282,171 → +$905,151

Weekly P/L

WeekSpanTradesWRP/LCumulative
W172026-04-20 → 2026-04-2661,63842.3%-$204,469-$204,469
W182026-04-27 → 2026-05-0352,48344.6%+$789,032+$584,563
W192026-05-04 → 2026-05-1049,20440.3%+$65,872+$650,436
W202026-05-11 → 2026-05-1753,63745.3%+$439,588+$1,090,024
W212026-05-18 → 2026-05-1916,18344.2%+$39,044+$1,129,068

Phase 9 - P/L Decomposition

MetricValue
BUY USDC out-$43,768,857
SELL USDC in+$0
Theoretical spread P/L+$1,776,733
Hedge-tax outflow$16.55M
Net realized P/L+$1,136,314
Net ROI on BUY notional+2.60%

Phase 10 - Top Markets by Volume

MarketTradesVolumeResolvedP/L
Baltimore Orioles vs. Tampa Bay Rays97$292.9K97+$30,016
Spurs vs. Thunder369$225.2K369+$18,278
Madrid Open: Stefanos Tsitsipas vs Casper Ruud797$219.9K797+$6,939
Spurs vs. Timberwolves223$205.4K223-$68,976
Cavaliers vs. Pistons678$186.0K678-$16,713
Spurs vs. Trail Blazers367$179.3K367+$250
Timberwolves vs. Spurs634$170.2K634-$65,482
76ers vs. Celtics601$169.6K601+$25,473
Raptors vs. Cavaliers455$152.9K455+$24,226
Cavaliers vs. Pistons478$147.4K478-$6,542

Top 10 winners by P/L

MarketVolumeNet P/L
Athletics vs. Los Angeles Angels$32.3K+$121,624
Houston Astros vs. Baltimore Orioles$97.4K+$71,797
New York Yankees vs. Milwaukee Brewers$65.1K+$70,892
Rockets vs. Lakers$119.7K+$60,294
Los Angeles Dodgers vs. Los Angeles Angels$99.9K+$59,588
San Diego Padres vs. Seattle Mariners$82.8K+$58,809
New York Mets vs. Los Angeles Angels$67.7K+$58,390
Geneva Open: Marco Trungelliti vs Mariano Navone$38.7K+$51,172
Philadelphia Phillies vs. Boston Red Sox$99.4K+$50,631
New York Yankees vs. Houston Astros: O/U 9.5$45.8K+$49,032

Top 10 losers by P/L

MarketVolumeNet P/L
Nuggets vs. Timberwolves$123.3K-$84,582
Rockets vs. Lakers$120.7K-$83,009
Cavaliers vs. Raptors$139.7K-$80,565
Timberwolves vs. Nuggets$118.4K-$73,196
Spread: Nuggets (-11.5)$82.7K-$69,931
Spurs vs. Timberwolves$205.4K-$68,976
Timberwolves vs. Spurs$170.2K-$65,482
Hawks vs. Knicks$87.1K-$62,612
Atlanta Braves vs. Miami Marlins$71.3K-$59,953
New York Mets vs. Colorado Rockies$81.6K-$55,765

Report generated 2026-05-21 11:00 UTC.

// 005 / Filter strategy

Filter strategy

Which standard filters move the needle on this trader, and which destroy the edge.

Wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Window: 2026-04-20 to 2026-05-19 Baseline: 233,145 resolved BUYs · 43.2% WR · $43.6M deployed · +$1,136,314 P/L · +2.60% ROI

Methodology: Each filter is applied to the resolved-BUY set. ROI is measured against BUY notional within the filter. The baseline includes all 233,145 resolved trades across all categories, price bands, and hours. This is a spread-capture hybrid strategy - some standard filters that work well for pure directional traders behave differently here because 55.1% of positions are structurally paired.

The headline result

One filter produces massive, genuine lift. The category filter is narrow but useful. The hour filter slightly hurts. The price filter helps moderately.

The high-conviction dominance filter is the dominant finding: restricting to only the 2.0x+ dominance bucket and taking the dominant side only turns +2.60% ROI into +8.82% ROI on $21.5M of capital. This is the single most important lever available to a replicator. The strategy's directional signal is concentrated at high dominance; the near-even spread plays dilute the overall ROI substantially.

The price band filter ($0.30-$0.70) provides moderate lift (+1.03pp to +3.63%). The combined filter - high conviction plus top category plus hour exclusion - reaches +25.8% ROI but on a very small sample ($44K, 120 trades) that is not statistically representative.

---

Filter results table

KEY FINDINGThe high-conviction filter (dominance ≥ 2.0x, dominant leg only) improves ROI from +2.60% to +8.82% while reducing deployed capital by 51%. This is not a sample-size artifact: it covers 79,241 trades across $21.5M.

Filter Trades WR Capital P/L ROI vs. Baseline
Unfiltered baseline 233,145 43.2% $43.6M +$1,136,314 +2.60% -
Price $0.30-$0.70 116,622 51.7% $27.2M +$987,111 +3.63% +1.03pp
High-conviction (dom ≥ 2.0x, dom leg) 79,241 54.5% $21.5M +$1,896,174 +8.82% +6.22pp
Top category (UFC/MMA only) 230 43.9% $86K +$30,276 +35.0% +32.4pp
Exclude worst 4 hours (6, 9, 11, 14) 193,467 45.3% $38.5M +$817,634 +2.12% -0.48pp
Combined (dom≥2x + UFC/MMA + excl worst hrs) 120 53.3% $44K +$11,482 +25.8% +23.2pp

---

Filter-by-filter commentary

1. High-conviction filter (dominance ≥ 2.0x, dominant leg only) → MEANINGFUL_LIFT

This is the single most valuable filter in the battery. Restricting to markets where the bot's own capital allocation reveals dominance ≥ 2.0x and taking only the dominant leg returns +$1,896,174 on $21.5M deployed (+8.82% ROI) versus the baseline of +2.60%. The lift of +6.22 percentage points is real and large.

The mechanism: at 2.0-3.0x dominance, the dominant side wins 58.8% of the time; at 3.0x+, it wins 59.6%. Both substantially exceed the 43.2% overall win rate. The bot's own sizing is functioning as a signal - the more capital it tilts toward one side, the more likely that side is to win.

The filter also raises the P/L in absolute terms: +$1,896,174 vs. +$1,136,314 unfiltered. This seems paradoxical (filtering out positions increases absolute P/L) but makes sense: the low-dominance positions include many near-even spreads where the hedge tax eats gains, and single-sided positions in losing categories (especially NBA) that drag down the total. The high-conviction filter implicitly excludes most NBA blowup exposure.

For a replicator: this filter is the core of the investable strategy. The near-even spread plays (1.0-1.5x dominance) generate guaranteed-spread P/L but at thin ROI; the high-dominance directional plays are the real alpha source. A replicator with limited capital should run only the 2.0x+ bucket.

2. Price band filter ($0.30-$0.70) → MODERATE_LIFT

The standard sweet-spot filter (entries between $0.30 and $0.70) improves ROI from +2.60% to +3.63% on $27.2M deployed (+$987K P/L). The lift is +1.03 percentage points on a substantial capital base.

The mechanism: the $0.60-$0.70 band is slightly negative (-3.2% ROI) and the $0.70-$0.80 band is slightly negative (-0.9%). The filter excludes these bands. However, the sub-$0.10 band at +23.5% ROI is also excluded, which costs some longshot upside. The net effect is modest positive lift.

This filter is more useful as a risk management tool than a pure ROI maximizer: it caps exposure to the potentially mispriced late-hedge positions (which tend to land in the $0.60-$0.80 band when the market has moved toward the winning side).

Caveat: the $0.30-$0.40 band at +18.5% ROI is included by this filter and is clearly a good band. The $0.10-$0.20 band at -4.8% ROI is correctly excluded. The filter is correctly designed for this strategy's price structure.

3. Top category filter (UFC/MMA only) → NOT_APPLICABLE_AT_SCALE

UFC/MMA returns +35.0% ROI on $86,456 deployed (230 trades). This is extraordinary, but the sample is too small to be actionable on its own. The 230 trades across 30 days (7.7 fights per day average) represent the full available UFC/MMA market volume on Polymarket during the window - you cannot increase exposure to this category beyond what the market offers.

As a portfolio instruction rather than a filter: weight UFC/MMA at maximum available capital whenever it is on the menu. The +35% ROI likely reflects the bot's model being particularly well-calibrated for fight sports, but the absolute P/L contribution (+$30K) is a rounding error on the total book.

The combined filter that stacks high-conviction + UFC/MMA + hour exclusion reaches +25.8% ROI but on only $44K and 120 trades. This is a statistical artifact of stacking narrow filters on a small overlap rather than a genuine investable signal.

4. Hour exclusion filter (drop hours 6, 9, 11, 14) → DESTRUCTIVE

Excluding the four worst-performing hours (6, 9, 11, 14 UTC) actually reduces total P/L from +$1,136,314 to +$817,634 and ROI from +2.60% to +2.12%. This is a -0.48pp drag, not a lift.

The mechanism: the "worst hours" by win rate are not the worst hours by absolute P/L. Hours 6 UTC (3.5% WR) and 9 UTC (30.4% WR) have low win rates but are not high-volume hours (3,500 and 11,915 trades respectively). The filter removes substantial good-ROI capital from the excluded hours alongside the bad fills.

More importantly, hours 6, 9, 11 overlap with morning tennis and early baseball activity - removing them cuts into the Tennis and MLB spread positions that are the engine of the profitable categories.

The four identified "worst hours" by win rate (6, 9, 11, 14 UTC) have win rates of 34.9%, 30.4%, 33.1%, and 35.7% respectively. These low win rates are partially explained by the spread structure: hours with high tennis volume will naturally have lower win rates because tennis spread buys on heavy favorites (sub-$0.30 tickets) drag the overall WR down even as they contribute positive spread P/L.

Do not apply the hour exclusion filter to this strategy. The win-rate-based hour ranking is misleading for a spread-capture book.

5. Category exclusion (drop NBA) → Hypothetical Analysis

The filter battery did not explicitly test NBA exclusion, but the data is clear. NBA generated -$191,047 on $7.9M deployed (-2.47% ROI). Excluding NBA from the baseline would improve total P/L to approximately +$1,327,361 on $35.7M deployed (+3.72% ROI).

The NBA underperformance was systematic and concentrated in specific matchups (Timberwolves-Nuggets, Cavaliers-Raptors, Rockets-Lakers second instance, Hawks-Knicks). This suggests the bot's basketball model was poorly calibrated for these specific series - possibly a data input problem or a model parameter that worked in regular season but not in playoff format.

For a replicator: consider excluding NBA during the playoffs or running NBA at reduced dominance thresholds (only deploy at 3x+ dominance rather than 2x+ for basketball). The regular-season baseball and tennis spreads are where the reliable edge lives.

---

The actionable filter stack

If forced to name a single filter combination that a replicator should apply:

Priority Filter ROI impact P/L impact
1 (required) High-conviction: dom ≥ 2.0x, dominant leg only +6.22pp +$760K vs unfiltered
2 (recommended) Exclude NBA during playoff period ~+1.1pp estimated ~+$191K
3 (optional) Price band $0.30-$0.70 +1.03pp (on unfiltered base) Moderate
4 (avoid) Hour exclusion -0.48pp -$318K

The hour filter is the clearest "don't apply" instruction. The high-conviction filter is the clearest "always apply" instruction. The NBA exclusion during playoffs is judgment-based but strongly supported by the data.

The combined filter with these three stacked (high-conviction + no NBA playoff + price $0.30-$0.70) would likely produce ROI in the +10-12% range on roughly $15-20M of capital - roughly a 4x improvement over the raw baseline strategy, using the bot's own sizing decisions as the primary selection signal.

// 006 / Replication playbook

Replication playbook

Where the edge is portable, and where it isn't.

Source wallet: 0xfe787d2da716d60e8acff57fb87eb13cd4d10319 Strategy: Both-sides spread capture with directional dominance tilt across sports prediction markets Reference book: $43.6M BUY notional · +$1,136,314 net P/L · +2.60% ROI in 30 days (baseline); +8.82% ROI under high-conviction filter

---

One-paragraph operator brief

Build a Polymarket bot that monitors live sports prediction markets across tennis, MLB, soccer, and UFC/MMA - and buys both YES and NO on the same game whenever the combined bid-ask spread locks in a paired cost below $1.00. Simultaneously run a game-outcome model to determine which side has the better expected probability. If your model assigns one side more than 2.0x the capital weight, that is your dominant side: size it proportionally larger and still hedge the other side. Enter the dominant side first. Hedge within 15 minutes or skip the hedge if the second-side price has moved past $1.00 combined. Apply the strategy only to markets where your model has confidence; skip NBA during post-season unless dominance exceeds 3.0x. Expect +2-4% ROI on deployed capital at baseline; expect +8-10% ROI if you filter to dominance ≥ 2.0x dominant-leg-only fills.

---

1. Market selection

Dimension Rule
Asset class Polymarket prediction markets
Eligible categories Tennis, MLB (moneyline + O/U totals + spreads), Soccer, UFC/MMA
Conditionally eligible NBA (regular season only, or playoffs at 3.0x+ dominance only)
Excluded categories NHL (negative ROI, thin volume)
Eligible market types Moneyline, game totals (O/U), point spreads - all valid
Minimum market liquidity USDC depth on both sides sufficient to fill a paired position without moving the mid by more than 2¢
Multi-line coverage Yes - run all available O/U lines on the same game simultaneously (e.g., O/U 6.5, 7.5, 8.5 on same MLB game)

Why tennis is the core: Tennis has the highest trade count (55.6% of the book), consistent opponent matchup quality, and relatively efficient spreads. The 3.4% ROI on $17.2M across 30 days confirms stable, repeatable edge. Tennis also has no playoff/format complications that corrupt the model.

Why MLB is the secondary: Multiple market types per game (moneyline + 5+ O/U lines + spread variants) multiply the spread opportunities without increasing event exposure. The CSV shows the bot running 8+ simultaneous positions on mlb-mil-chc-2026-05-19 - all drawing from the same game model.

Why NBA deserves caution: The playoff format creates asymmetric information flow (coaching adjustments, injury news, line-up changes) that a market-wide model struggles to incorporate. The -$191K NBA loss is the single largest drag on the book. Limit NBA to regular season or require 3.0x+ dominance before deploying.

---

2. Entry logic

Phase 1: Dominant-side entry

def should_enter_dominant(market, model):
    # Category whitelist
    if market.category not in ("Tennis", "MLB", "Soccer", "UFC/MMA"):
        if market.category == "NBA" and model.dominance(market) < 3.0:
            return None
    
    # Liquidity check
    if market.best_ask_depth_usdc < min_clip_size:
        return None
    
    # Model must have a view
    dominant_side, confidence = model.predict(market)
    if confidence < 0.50:
        return None  # no signal, skip
    
    return dominant_side

Phase 2: Hedge entry (within 15-minute window)

def should_hedge(market, dominant_fill, model):
    hedge_side = opposite(dominant_fill.outcome)
    hedge_ask = market.best_ask(hedge_side)
    
    # Compute implied paired cost
    dominant_vwap = dominant_fill.avg_price
    paired_cost = dominant_vwap + hedge_ask
    
    if paired_cost >= 1.00:
        return None  # spread locked above $1.00 - skip hedge or reduce
    
    # Hedge window: must enter within 15 minutes of dominant fill
    if (now() - dominant_fill.timestamp) > 900:
        return None  # window expired, let dominant leg ride as pure directional
    
    return hedge_side, hedge_ask
Parameter Value Rationale
Entry trigger Model outputs a side with ≥ 50% confidence No view = no trade
Paired cost threshold < $1.00 combined (target < $0.97) Sub-$1.00 guarantees spread; sub-$0.97 provides margin
Hedge window 15 minutes from dominant entry Matches observed 836s median second-side lag with buffer
Entry price range All ($0.01 to $0.99) Bot participates across full price spectrum; no exclusions
Multi-leg fan-out Yes, walk the book in multiple fills Observed in CSV: 5-15 fills per side per market at progressive prices

---

3. Sizing model

Two-tier sizing based on dominance ratio:

dominance_ratio = usdc_planned_dominant / usdc_planned_hedge

If dominance_ratio < 1.5:   # Near-even spread play
    dominant_clip = base_clip
    hedge_clip    = base_clip

If 1.5 <= dominance_ratio < 2.0:  # Mild directional lean
    dominant_clip = base_clip * 1.5
    hedge_clip    = base_clip

If 2.0 <= dominance_ratio < 3.0:  # Meaningful signal
    dominant_clip = base_clip * 2.5
    hedge_clip    = base_clip

If dominance_ratio >= 3.0:  # High conviction
    dominant_clip = base_clip * 5.0+
    hedge_clip    = base_clip

Reference scale (matching observed book):

Bankroll Base clip Max dominant clip Max per-market exposure
$500K $500 $2,500 ~$5,000
$1M $1,000 $5,000 ~$10,000
$5M (reference) $5,000 $25,000 ~$50,000
$10M+ Fragment across wallets

Important: The reference book shows a $190,399 single fill - an extreme outlier that is 38× the P99 of $3,335. Do not treat this as a normal operating parameter. This was likely a specific event (the Athletics vs. Angels market at +$121K P/L) where the operator made a large directional bet outside the standard spread playbook. Exclude from your sizing model calibration.

The power-law size distribution (top 5% of trades hold 71.6% of capital) is real and structural: most fills are small probes that complete the multi-line coverage, while the occasional large clip is where the model has exceptional conviction. Design your sizing model to allow for 10-50× base-clip positions on 3x+ dominance markets.

---

4. Paired-cost discipline

This is the core rule that separates profitable spread capture from undisciplined betting:

For each market where you hold both sides:

paired_cost = YES_VWAP + NO_VWAP
              (weighted average across all fills on each side)

If paired_cost < 0.97:  guaranteed_profit = 1.00 - paired_cost >= 3¢/unit
If 0.97 <= paired_cost < 1.00: thin spread - reduce size next time
If paired_cost >= 1.00: guaranteed loss - post-mortem this market

Target metrics (matching reference book):

  • Median paired cost: ≤ $0.975
  • % markets below $0.97: ≥ 45%
  • % markets below $1.00: ≥ 60%

The 40.2% of both-sides markets with paired cost above $1.00 in the reference book represent failures of the hedge timing. Most of these occur when the second-side price moved significantly before the hedge executed. The 836-second median lag is too long for fast-moving markets. A replicator should target a tighter hedge window (under 300 seconds) to reduce this fraction.

PAIRED COST TARGETEvery 1¢ reduction in median paired cost adds approximately $42,000 of annual P/L per $4.3M of monthly volume (at this book's scale). Tightening the hedge window from 836s to under 300s is the single highest-ROI operational improvement available.

---

5. Dominance-ratio calibration

Tilt ratio Signal strength Deploy? Notes
1.0-1.5x None (49.7% dominant WR) Yes, at base clip Pure spread play
1.5-2.0x Weak (52.1% dominant WR) Yes, at 1.5× Slight directional add
2.0-3.0x Real (58.8% dominant WR) Yes, at 2.5× Filter-worthy dominant leg
3.0x+ Strong (59.6% dominant WR) Yes, at 5×+ Maximum deployment

The high-conviction filter finding (dom ≥ 2.0x produces +8.82% ROI vs. +2.60% unfiltered) is the most important calibration data point. A replicator running a capital-constrained book should:

  1. Always deploy at 2.0x+ dominance markets (max capital within liquidity)
  2. Deprioritize 1.0-1.5x markets in capital allocation
  3. Never skip a 3.0x+ market - even if it requires borrowing from the 1.0-1.5x allocation

---

6. Category priority and scheduling

Category Priority Operating hours (UTC) Notes
Tennis High 05:00-22:00 ATP/WTA matches run ~05:00-20:00 UTC peak
MLB High 17:00-04:00 Game windows 17:00-03:00 UTC
Soccer Medium 10:00-22:00 Match windows vary by competition
UFC/MMA High when available Event-dependent Weight at max available clip
NBA (regular season) Medium 23:00-04:00 Evening US games
NBA (playoffs) Low (3x+ dom only) 23:00-04:00 Reduce exposure significantly
NHL Skip - Negative ROI in reference period

Day-of-week adjustment: Sunday is the highest-ROI day (+6.83%). Saturday is second (+3.80%). Monday is third (+3.49%). Friday is the only negative day (-2.15%). Consider running at full capacity Sunday through Thursday and monitoring closely on Fridays (NBA Friday games appeared to drive Friday losses in the reference period).

Hourly P/L note: Hours 18:00 (+$232K), 23:00 (+$213K), 14:00 (+$188K), and 10:00 (+$183K) are the four best UTC hours by absolute P/L. Hours 01:00 (-$183K) and 03:00 (-$147K) are the worst. However, do not filter by hour - the hour-exclusion filter was destructive in testing. Use this data for monitoring rather than filtering.

---

7. Multi-line event coverage

One of the most capital-efficient features of this strategy is multi-line coverage: deploying on multiple betting lines for the same underlying game.

For an MLB game, the reference book runs simultaneously on:

  • Moneyline (Team A wins)
  • O/U 5.5 total runs
  • O/U 6.5 total runs
  • O/U 7.5 total runs
  • O/U 8.5 total runs
  • O/U 9.5 total runs
  • Spread variants (Team A -1.5, Team B -1.5)

Each of these is a separate Polymarket market with its own orderbook and liquidity. The bot's game model generates probability estimates for each market independently. The paired-cost rule applies to each market separately - a sub-$1.00 paired cost on the O/U 7.5 market is independent of the paired cost on the moneyline.

Implementation rule: For every game event, enumerate all active Polymarket markets and filter to those where your model has a view AND the paired cost can be locked below $1.00. Deploy the standard sizing on each qualifying market. The incremental cost per additional line is low (the model already has the game prediction), and the incremental spread P/L is additive.

---

8. Risk management

Risk Severity Mitigation
Second-side lag adverse selection High Tighten hedge window to <300s; cancel hedge if paired cost hits $1.00
Category model failure (NBA example) High Monitor weekly ROI by category; reduce allocation if any category goes negative for 7+ days
Large directional loss (uncovered single-side) Medium Single-sided positions (no hedge) should be limited to confirmed 3.0x+ dominance markets
Hedge fill failure (illiquid markets) Medium Require minimum $X depth on both sides before entering any position on either side
Overcrowding on popular markets Medium The reference book has $225K+ deployed on some single NBA game markets; monitor fill slippage
Paired cost creep Low Weekly audit of median paired cost; if median exceeds $0.985, tighten hedge timing

Portfolio-level drawdown rule: If any rolling 7-day P/L goes negative by more than -1% of deployed capital, pause new position initiation in the loss category and review model inputs. The reference book's Week 1 loss of -$204K (-0.47% of the month's total deployed) recovered fully by Week 2; a -1% weekly threshold would not have triggered a pause in that case, which is appropriate.

Per-market cap: No single event should receive more than 1% of monthly deployed capital without manual review. The reference book violated this on a few marquee events (Magic vs. Pistons appeared to have $15K+ deployed), and the outsized losses in those games contributed to the Week 1 drawdown. Mechanical position sizing prevents this.

---

9. Operational requirements

Requirement Detail
Execution speed Sub-2s from signal generation to order submission. The reference book's median 5s inter-fill gap suggests WebSocket-connected bot, not polling.
Market data Persistent WebSocket connections to Polymarket CLOB for L2 orderbook on all eligible markets simultaneously.
Sports model Real-time game outcome probability model. Minimum viable: odds-feed converter (bookmaker consensus to implied probability). Better: custom model with recency-weighted team stats.
Wallet Single EOA, USDC-funded on Polygon. For $5M+ books, consider 2-3 wallets to avoid single-wallet transaction queue bottlenecks.
Transaction throughput At 7,784 trades/day (reference pace), need ~5-6 TPS sustained. Polygon handles this comfortably. Use batching where possible.
Capital recycling 100% of capital settles at market close (no open positions carry overnight risk). Withdrawn USDC from settled wins can be immediately redeployed.
Monitoring Daily P/L by category. Weekly paired-cost median audit. Alert if any category ROI goes negative for 3+ consecutive days.
Reconciliation Daily: sum all settled market payouts vs. expected spread P/L. Flag any market where realized P/L deviates more than 20% from expected spread.

---

10. Diagnostic checklist: is the bot still working?

Run weekly:

Metric Healthy range Action if outside
Overall ROI (weekly) +1.5% to +6% on deployed Below +1%: audit paired costs. Above +8%: likely benefiting from specific directional hits, not structural.
Median paired cost $0.965 to $0.980 Above $0.980: tighten hedge window immediately. Below $0.960: great, maintain discipline.
% paired markets below $1.00 58%-65% Below 55%: systematic second-side lag problem. Above 70%: review whether you're leaving directional upside on the table.
Tennis ROI +2% to +6% Below +1%: spread model degraded on tennis.
MLB ROI +1% to +5% Below 0%: investigate specific over/under line accuracy.
NBA ROI (if running) 0% to +4% Below 0% for any 7-day period: reduce NBA to 3.0x+ dominance only.
High-conviction (dom ≥ 2.0x) dominant WR 55%-65% Below 52%: directional model is degraded. Reduce dominance-based tilts.
Second-side lag (median) Under 600s Above 900s: bot is not finding hedge liquidity quickly enough.
Daily trade count 5,000-12,000 Below 4,000: coverage universe too narrow, add markets. Above 15,000: check for runaway loops.

---

What this playbook deliberately does NOT include

  • No hour-of-day exclusion filters. The hour-exclusion test was destructive in this dataset. Run 24/7 and let the category model carry the timing selection.
  • No single-category focus. UFC/MMA at +35% ROI sounds compelling but the absolute capacity is too small ($86K/month) to matter for a real book. Tennis + MLB is the actual alpha engine.
  • No fixed $0.30-$0.70 price band restriction. The $0.00-$0.10 band at +23.5% ROI is load-bearing (representing genuine longshot hedge wins). Filtering it out reduces P/L.
  • No pure directional play (no hedge). The strategy's structural edge is the guaranteed spread, not the directional call alone. Running as a pure directional bettor without the hedge reduces Sharpe even if it occasionally improves raw returns.
  • No hold-to-resolution-only model. This strategy has zero sells in the reference period, but this is by design: you are buying both sides and one side will always win at $1.00. Adding an early-exit SELL mechanism is possible but changes the spread-capture mechanics entirely - it becomes a different strategy.
  • No NHL expansion. The reference book ran -2.23% ROI on NHL with 3,203 trades. The market structure on hockey totals and spreads does not appear to generate reliable spread opportunities at this operator's model quality. Avoid NHL until a specific edge is identified.

The core discipline is: enter both sides when the spread locks below $1.00, size proportional to your model's directional conviction, and do nothing else clever. Every "improvement" the operator apparently tested and rejected by the data (NHL expansion, hourly timing, single-category focus) shows up as drag when applied. Trust the data.

Join Discord