PR&R / Trader Report
Home / Reports / Vito3Corleone
Polymarket / On-chain

Vito3Corleone

On-chain analysis of Polymarket trader Vito3Corleone. Active over 4 days with 424 trades across 8 markets, netting +$1,169,072 at +36.7% ROI.

Published Aug 29, 2026 ~9 min read By PR&R Research View on Polymarket →
Volume traded
$3.16M
4-day window
Realized return
+36.7%
Cash-flow accounting
Top category share
54%
Other of total volume
Both-sides rate
0.0%
Single-sided book
// 001 / Analysis

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

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

This wallet placed four winning bets on soccer matches, then lost most of it back in a single catastrophic session two days later. The net result across the 43-day window is a trading P/L of +$1,160,187 on $3.16M of turnover, with a total account P/L of +$1,169,072 including $8,884 in taker rebates. The strategy is not systematic: it is a concentrated, event-driven bettor who deploys massive single-market positions on soccer outcomes, holds to resolution with no exits, and has no SELL activity whatsoever.

The book is four active days compressed into a 43-day window. Before August 22, this wallet was dormant. Then, over five days, it placed eight bets across six events and printed a result that would be extraordinary for any trader. The headline number is real and verified. What it represents is not an edge that compounds over time but a series of high-conviction soccer calls, most of which landed.

ACCOUNT RESULTTotal account P/L is +$1,169,072. Trading P/L is +$1,160,187. Taker rebates of $8,149 and maker rebates of $735 make up the $8,884 incentive income. There are no LP rewards. This wallet is a taker by notional (90% of notional transacted as taker) despite being a maker by fill count (87% of fills are maker-role, which are the many small zero-fee residual fills).

The portfolio shape

Eight markets. Six soccer events. Zero crypto, zero politics, zero sports other than soccer. The slug pattern tells the story: epl-bre-tot-2026-08-22, lal-val-bet-2026-08-25, ucl-lin2-cel-2026-08-25, lal-rea-rso-2026-08-26. Premier League, La Liga, UEFA Champions League. The wallet's universe is entirely European football.

The position sizing is extreme. A single bet on Real Madrid to win on August 26 was $908,099 - the wallet's largest fill and nearly 29% of total turnover in one transaction. The Brentford position on August 22 deployed $1,139,010 across 57 fills. These are not small-stakes directional bets; they are wagers at a scale that dominates the markets they touch.

The size distribution is the most extreme in the dataset. The median fill is $13.20, the mean is $7,451, and the top 5% of fills carry 82% of total capital. This is driven by a handful of enormous taker fills surrounded by a cloud of tiny maker-role fills that absorb residual liquidity at the posted price.

Structure: The large taker fills are the intentional position entries. The many tiny maker fills are passive fills against the wallet's resting orders as other traders hit them. The economic weight is almost entirely in the taker fills.

Where the edge appears to come from

The winning positions show a consistent pattern: buy the favorite or slight underdog at $0.45-$0.52 market price, hold to resolution at $1.00. Brentford at $0.45-$0.47 paid out $1.00 per share. LASK Linz at $0.51-$0.52 paid out $1.00. Bologna at $0.29 (a longer shot) paid out $1.00. Real Madrid at $0.82 (a heavy favorite) paid out $1.00.

The two losing positions, by contrast, are a study in what happens when this approach fails. Real Betis was bought at $0.63-$0.66 across 255 fills totaling $383,216 and lost everything. Valencia was bought at $0.33-$0.36 across 8 fills totaling $285,400 and lost everything. Combined loss: -$668,616. Both resolved the same day: August 25. The wallet went from a peak cumulative P/L of +$1,554,198 on August 24 to +$970,726 on August 25 before recovering to +$1,160,187 on August 26 with the Real Madrid win.

The edge, if any, is soccer knowledge. There is no latency play, no both-sides spread, no systematic filter visible in the data. The wallet picks a team, sizes a massive position, and waits for the match to end.

What you can copy

The position discipline on the winners is worth noting. The Brentford entry was systematic: starts at $0.45, continues adding at $0.46 and $0.47, never panics. The LASK Linz entry similarly layers across $0.51 and $0.52. This is DCA accumulation into a single conviction position, not a random punt. If you have a soccer model, the execution template is: identify your target price, post maker orders at that price, accumulate across fills, hold to resolution.

The taker rebate structure is also notable. The wallet earned $8,149 in taker rebates on $2.82M of taker notional, a rebate rate of roughly 29 basis points on taker volume. Large-volume soccer bettors can offset fees meaningfully through this program.

What you probably can't copy

The result depends almost entirely on match outcomes this wallet could not control. The five-day sequence included four wins and two losses. A different set of results on the same positions would have produced a very different number. The August 25 double-loss erased two-thirds of the prior gains in a single session. There is no observable filter that distinguishes the winning markets from the losing ones in advance - both winners and losers were bought at similar price ranges and with similar conviction-by-size. The Real Betis and Valencia losses look, in the trade data, exactly like the Brentford and LASK wins before resolution.

The realistic replication challenge is not execution; it is the underlying soccer prediction capability. If you have it, this wallet's sizing and accumulation discipline is a clean template. If you do not, copying the execution without the underlying signal is just high-variance gambling on European football.

// 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: 0x34dd4a4b70eaf79a17878f7938263c801d4dfd83 Window: 2026-07-15 to 2026-08-26 (43 calendar days, 4 active trading days) Universe: 424 trades across 8 markets and 6 events Trading P/L: +$1,160,187 on $3,159,086 turnover. Total account P/L: +$1,169,072 (includes $8,884 in measured incentives: $8,149 taker rebates + $735 maker rebates).

P/L methodology: Cash-flow accounting. Each position's P/L = the settlement payouts received minus USDC spent buying shares. All 424 resolved buys are included; the wallet holds zero open positions at window close. There are no sells. P/L reconciliation agrees to within $0.04 (gap_pct = 0.0%), and the pnl_reconciliation.agrees flag is true. Numbers are authoritative.

The Punchline

This is a concentrated, event-driven soccer bettor who deployed between $90K and $1.14M per match across eight Polymarket markets covering six European football events, held every position to resolution with zero active exits, and emerged with +$1,160,187 in trading P/L over five active days (plus one inactive day that generated $310 in taker rebates).

The result is real. The reconciliation is clean. The data quality flags are all clear. But the mechanism is not a systematic edge that replicates mechanically: it is a sequence of large directional calls on soccer match outcomes, four of which won and two of which lost, with the winners significantly outweighing the losers in both size and number.

The single defining statistic is this: the top-5% of fills carry 82% of total capital. This is the most extreme concentration in the current report cohort. A small number of enormous taker fills do all the economic work; the 367 maker-role fills collectively represent less than 9% of notional. The wallet is, in economic terms, a series of eight large bets, not 424 trades.

The August 25 session is the pivot of the entire window. The wallet entered Real Betis and Valencia at a combined $668,616 outlay, both resolved as losses (0 wins out of 263 trades on those two markets). That single day cost -$583,472 in trading P/L. The prior day's gains from Brentford (+$1,254,403) and the August 24 wins (Bologna +$79,767, Lazio +$12,387, Fulham O/U +$207,641) cushioned the blow. The wallet recovered on August 26 with a $908,099 bet on Real Madrid that paid out $1,097,560.

What He Trades

The universe is European soccer on Polymarket, period. No crypto, no politics, no other sports. The six events covered:

Date Event / Market Side Entry Price Notional Result P/L
Aug 22 Brentford win (EPL) Yes $0.45-$0.47 $1,139,010 Win +$1,254,403
Aug 24 Bologna win (Serie A) No (outcome = No, resolved No) $0.29-$0.62 $136,110 Win +$79,767
Aug 24 SS Lazio win (Serie A) Yes $0.29-$0.30 $5,501 Win +$12,387
Aug 24 Fulham vs Chelsea O/U 4.5 Over $0.48-$0.49 $207,752 Win +$207,641
Aug 25 Real Betis win (La Liga) No (resolved Yes, i.e. loss) $0.63-$0.66 $383,216 Loss -$383,216
Aug 25 Valencia win (La Liga) Yes (resolved No, i.e. loss) $0.33-$0.36 $285,400 Loss -$285,400
Aug 25 LASK Linz win (UCL) Yes $0.51-$0.52 $93,997 Win +$85,144
Aug 26 Real Madrid win (La Liga) Yes $0.82 $908,099 Win +$189,461

Six wins, two losses. The two losses both occurred on August 25 from the same La Liga event (lal-val-bet-2026-08-25): a Valencia vs Real Betis match where he bet on both sides of the wrong teams (he bought "No" on Real Betis winning, which means he needed Betis to lose; and he bought "Yes" on Valencia winning; both positions failed, meaning Betis won). The match result wiped out both positions simultaneously.

CONCENTRATIONThe Brentford market alone accounts for 57 of the 424 trades, $1,139,010 of the $3.16M turnover, and +$1,254,403 of the +$1,160,187 total trading P/L. Without Brentford, the remaining seven markets net to -$94,216.

The wallet is exclusively a buy-and-hold directional bettor in soccer. Zero sells across all 43 days. Zero both-sides participation. Zero crypto or non-soccer markets. The universe is precisely defined: European club football matches on the date of the match.

The Order of Operations - One Market, Trade by Trade

The cleanest single-market trace is the Brentford FC win market (epl-bre-tot-2026-08-22-bre) on August 22. This market was resolved "Yes" (Brentford won). The wallet deployed $1,139,010 and collected $2,393,413 in settlement, netting +$1,254,403.

Entry sequence (15:34-16:21 UTC, while the match was live or approaching kickoff):

Time (UTC) Role Shares Price USDC Cumulative Spent
15:34:13 taker 1,545 $0.45 $714 $714
15:35:12 taker 21,444 $0.45 $9,915 $10,629
15:35:52 taker 7,214 $0.45 $3,336 $13,965
15:36:51 taker 4,478 $0.45 $2,071 $16,036
15:37:39 taker 8,987 $0.45 $4,155 $20,191
15:37:49 taker 3,365 $0.45 $1,556 $21,747
15:38:51 taker 5,987 $0.45 $2,768 $24,515
15:40:27 taker 89,878 $0.45 $41,557 $66,072
15:41:30 taker 32,555 $0.45 $15,053 $81,125
15:43:46 taker 24,545 $0.45 $11,349 $92,474
15:45:16 taker 32,222 $0.45 $14,899 $107,373
15:47:15 taker 3,333 $0.45 $1,541 $108,914
15:48:00 taker 12,454 $0.45 $5,758 $114,672
15:50:36 taker 480,000 $0.46 $226,762 $341,434
15:51:15 taker 132,422 $0.46 $62,559 $403,993
15:53:58 taker 168,666 $0.46 $79,681 $483,674
15:55:22 taker 132,654 $0.46 $62,668 $546,342
16:02:13 taker 132,444 $0.46 $62,569 $608,911
16:04:24 taker 800,000 $0.4698 $385,825 $994,736
16:04:57 taker 64,555 $0.47 $31,145 $1,025,881
16:06:00 taker 62,111 $0.47 $29,966 $1,055,847
16:08:52 taker 165,444 $0.47 $79,819 $1,135,666
16:09:58 taker 145 $0.47 $70 $1,135,736
16:10:03 onward maker (34 fills) ~1,300 $0.47 ~$611 ~$1,139,010

Walk-through:

The entry spans 46 minutes (15:34 to ~16:21 UTC), which corresponds to late pre-match and early in-match timing for a typical Saturday EPL kickoff. The wallet starts with probing taker fills at $0.45 - small clips of 1,500 to 9,000 shares - testing the depth of the book. After establishing the first $25K of position, it scales aggressively: at 15:40 it buys 89,878 shares in one fill, then 32,555, then 24,545.

The decisive escalation happens at 15:50, where it fires a 480,000-share taker fill at $0.46 for $226,762 - this single fill is 20% of the entire market's deployed capital. Eight minutes later at 16:04, it fires the largest single fill: 800,000 shares at $0.4698 for $385,825. These two fills alone account for more than half the total Brentford position.

After the large taker fills are exhausted, the wallet posts maker orders and absorbs 34 residual fills of 1-4,000 shares as other traders hit its resting orders. These maker fills collectively contribute less than $611 of notional but generate $13 in maker rebates.

At resolution, 2,393,413 shares pay out at $1.00 each. Total collected: $2,393,413 against $1,139,010 invested. Net: +$1,254,403, a 110% return on the Brentford position in under two hours.

The structure here is consistent across all six winning markets: large taker fills to build the position quickly, then passive maker fills to clean up residual depth, then hold to resolution.

Why It Works - The Math

The strategy's P/L is pure settlement math. There are no sells, so every dollar of profit comes from shares resolving at $1.00 that were purchased below $1.00.

For the Brentford market:

Total shares purchased:       ~2,393,413
Average purchase price:       ~$0.476
Total USDC spent:             ~$1,139,010
Settlement value (win):       $2,393,413 × $1.00 = $2,393,413
Net P/L:                      $2,393,413 - $1,139,010 = +$1,254,403
Return on invested capital:   +110.1%

For the Real Madrid market:

Shares purchased:             1,097,560
Purchase price:               $0.82 (single taker fill)
USDC spent:                   $908,099
Settlement value (win):       $1,097,560 × $1.00 = $1,097,560
Net P/L:                      $1,097,560 - $908,099 = +$189,461
Return on invested capital:   +20.9%

For the two losses:

Real Betis:   $383,216 spent, $0 returned (0 shares paid out), P/L = -$383,216
Valencia:     $285,400 spent, $0 returned (0 shares paid out), P/L = -$285,400
Combined loss: -$668,616

The strategy's EV per bet depends entirely on the accuracy of the bettor's soccer model relative to the market price. If Brentford's true win probability was 65% and the market priced it at 45%, the EV per dollar is:

EV = p_win × (1/price - 1) - (1 - p_win) × 1
   = 0.65 × (1/0.45 - 1) - 0.35 × 1
   = 0.65 × 1.222 - 0.35
   = 0.795 - 0.35
   = +$0.445 per $1 wagered → +44.5% EV

Whether the implied edge is that large is unknowable from the trade data alone. What is measurable is that, in this five-day sample, the realized P/L represents a positive outcome. With only six independent match outcomes, statistical significance is low.

KEY RISKBoth losses hit simultaneously from the same Valencia vs Betis event. The wallet was on both sides of this match in a net-losing way: long Valencia win AND long Betis loss (i.e., betting the other team). In a single match result, -$668,616 was erased. Max drawdown in one day: -$583,472.

Phase 1 - Trader Profile

Scale and activity:

Metric Value
Total trades 424
Total unique markets 8
Total unique events 6
Active trading days 4 (of 43 calendar days)
Turnover $3,159,086
Largest single fill $908,099 (Real Madrid, August 26)
Second largest $385,825 (Brentford 800K shares, August 22)

Trade size distribution (extreme power-law):

Stat Value
Median fill $13.20
Mean fill $7,451
P95 $32,742
P99 $79,788
Max $908,099
Top 5% share of capital 82.1%

The gap between median ($13) and mean ($7,451) is 565x - the most extreme ratio in the dataset. This is driven by the dual-mode structure: tiny maker fills ($1-$50 each, 367 fills) plus enormous taker fills ($11,000-$908,000 each, 57 fills).

Active hours (UTC):

All 424 trades fall within a 6-hour window: 15:00 to 20:00 UTC. No trades outside this window anywhere in the 43-day observation period. The 18:00 UTC hour has the most fills (205 trades) because it contains the heavy Real Betis/Valencia session on August 25.

Inter-trade gap:

  • Median gap: 5.0 seconds
  • 58.7% of fills under 10 seconds
  • 85.8% under 60 seconds
  • Pattern: semi-automated (large taker fills separated by 30-120 seconds; maker fills cluster in sub-second bursts)

Buy vs. sell ratio: 100% buys, 0% sells. This is the defining structural feature of the strategy.

Execution signature: Large taker fills that walk the orderbook, followed by passive maker fills absorbing residual depth. The taker fills are the intentional entries; the maker fills are passive absorption of whatever resting orders the wallet posted at its target price.

Phase 2 - Core Strategy Identification

Both-sides participation: 0 of 8 markets. Zero.

Classification: Pure B (Directional Betting) - large single-sided positions on soccer match outcomes held to resolution.

This wallet is not:

  • A market maker (0% both-sides rate)
  • A spread capturer (0% both-sides rate)
  • A latency arbitrageur (soccer matches resolve over 90 minutes, not seconds)
  • A copy-trader (no observable lag pattern, and the entry accumulation spans 45+ minutes)
  • A DCA accumulator in the traditional sense (it accumulates within a single session before a match, not over days)

What it is: a conviction-based soccer bettor who sizes positions at $90K-$1.14M, enters via large taker fills during the pre-match or early-match window, and holds to resolution.

The accumulation pattern within the Brentford market shows clear structure: probe with small fills, confirm the book can absorb size, escalate to 6-figure fills, then post maker orders at the same price to catch residual flow. This is disciplined execution by someone who knows how to trade illiquid prediction markets without moving the price against themselves too aggressively.

Phase 3 - Dominance Ratio Analysis

Not applicable. Zero both-sides markets in the entire dataset. The standard dominance-ratio framework requires paired positions to analyze. This wallet has none.

Phase 4 - Entry Price Analysis

Price band distribution (by capital):

Band Trades Wins WR Notional % of Capital P/L ROI
$0.20-$0.30 2 2 100% $4,294 0.1% +$9,669 +225%
$0.30-$0.40 9 1 11.1% $286,607 9.1% -$282,682 -98.6%
$0.40-$0.50 101 101 100% $1,346,762 42.6% +$1,462,044 +108.6%
$0.50-$0.60 53 53 100% $93,997 3.0% +$85,144 +90.6%
$0.60-$0.70 258 3 1.2% $519,326 16.4% -$303,449 -58.4%
$0.80-$0.90 1 1 100% $908,099 28.7% +$189,461 +20.9%

The $0.40-$0.50 band is the dominant allocation at 42.6% of capital and all from the Brentford position (entered at $0.45-$0.47) plus the Fulham Over (entered at $0.48-$0.49). The $0.80-$0.90 band is a single fill: the Real Madrid bet at $0.82.

The $0.30-$0.40 band has a 98.6% loss ROI - this is entirely the Valencia position (bought at $0.33-$0.36), which resolved as a total loss. The $0.60-$0.70 band has a 58.4% loss ROI - this is entirely the Real Betis "No" position (bought at $0.63-$0.66), also a total loss.

Sub-bucket inspection: The two most concentrated individual price points are $0.45 and $0.46 (the Brentford entry), $0.48 (the Fulham Over entry), and $0.63 (the Real Betis entry). The wallet is not anchoring to arbitrary ticks; it is bidding at the best available orderbook price at the time of entry, which happens to cluster around these values because they were the market prices during its entry windows.

Phase 5 - Category and Market-Type Breakdown

Category Trades Resolved Wins WR Volume P/L ROI
Soccer 154 154 154 100% $1,440,760 +$1,547,189 +107.4%
Other (soccer miscategorized) 270 270 7 2.6% $1,718,326 -$387,001 -22.5%

The "Other" category contains the losing La Liga markets (Real Betis, Valencia) and the UCL market (LASK Linz), which the pipeline did not match to Soccer. When manually inspected, all eight markets are soccer. The Soccer category capturing 154 trades represents the Brentford, Fulham, Bologna, and Lazio markets (all of which won). The "Other" 270 trades include LASK Linz (53 wins), Real Betis (0 wins from 255 trades), and Valencia (0 wins from 8 trades) plus 4 other fills.

The true Soccer-only breakdown, recategorized:

  • All 8 markets: soccer, European club football, match results and totals
  • 6 events: EPL, Serie A, La Liga (x2 events), UCL
  • League with best ROI: EPL (Brentford: +110% ROI, Fulham: +99.9% ROI)
  • League with worst ROI: La Liga Valencia/Betis event (-100% on both positions)
SOCCER SPECIALIST

Phase 6 - Timing and Execution Analysis

Entry timing vs. event: All entries occur during a narrow window consistent with pre-match or early in-match timing. The August 22 Brentford entries run from 15:34 to 16:21 UTC - this is approximately 1-2 hours before or at kickoff for a Saturday EPL match. The August 25 entries for Betis/Valencia/LASK run 16:01-18:59 UTC, consistent with La Liga and UCL Saturday scheduling.

Burst patterns: Large taker fills separated by 30-120 seconds, not sub-second bot-style. The decision cadence is human or semi-automated: the operator is manually triggering large fills at decision points, with automated maker-fill posting running alongside.

Accumulation window per market:

  • Brentford: 46 minutes (15:34 to ~16:20)
  • Fulham O/U: 5 minutes (19:59 to 20:04)
  • Real Betis: 150 minutes (16:01 to 18:59) - unusually long, possibly averaging down as the match progressed
  • LASK Linz: ~21 minutes (18:38 to 18:59)
  • Real Madrid: single fill at 18:00 UTC

Hourly P/L:

Hour (UTC) Trades WR P/L
15:00 17 100% +$601,692
16:00 78 58.97% +$649,854
17:00 80 0% -$81,252
18:00 205 26.34% -$217,748
19:00 4 100% +$44,758
20:00 40 100% +$162,883

Hours 17:00 and 18:00 are loss-heavy because they contain the bulk of the Real Betis and Valencia fills (trades entered but not yet resolved at time of entry - the loss is attributed to the hour of the buy). Hours 15:00-16:00 hold the Brentford fills. Hours 19:00-20:00 hold the Fulham and LASK fills.

Day-of-week:

Day Trades WR P/L ROI
Mon 50 100% +$299,795 +85.8%
Tue 316 16.8% -$583,472 -76.5%
Wed 1 100% +$189,461 +20.9%
Sat 57 100% +$1,254,403 +110.1%

Saturday (Brentford) and Monday (August 24 wins: Bologna, Lazio, Fulham) are both 100% win rate. Tuesday (August 25) is the loss day for Real Betis and Valencia; Wednesday (August 26) is the Real Madrid recovery.

The match schedule dictates trading days entirely. This wallet trades when its target matches are scheduled, not on a fixed weekday schedule.

Phase 7 - Filter Experiments

See the Filters tab for the full commentary. Summary:

Filter Trades WR Capital P/L ROI vs Baseline
Unfiltered baseline 424 38.0% $3,159,086 +$1,160,187 +36.7% -
Price $0.30-$0.70 421 37.5% $2,246,693 +$961,058 +42.8% -$199,129
High-conviction dom≥2x 0 - $0 $0 - -$1,160,187
Top category (Soccer) 154 100% $1,440,760 +$1,547,189 +107.4% +$387,002
Exclude worst hours (15,16,17,18) 44 100% $207,752 +$207,641 +99.9% -$952,546
Combined (exc. hours + Soccer) 44 100% $207,752 +$207,641 +99.9% -$952,546

The Soccer-only filter is the only filter that genuinely improves ROI (from +36.7% to +107.4%), because it isolates the winning markets while excluding the losing La Liga markets (which are also soccer but were miscategorized as "Other" by the pipeline). The hour exclusion filter is misleading: it removes both the Brentford losses AND the Brentford wins (both fall in hours 15-18), leaving only the Fulham Over market, which happened to win.

Phase 8 - Rolling Window Consistency

The 43-day window contains 39 zero-trade days. All activity compresses into a 5-day window (August 22-26). Rolling window analysis is therefore nearly degenerate:

Metric Value
Days with any P/L (any direction) 5
Active trading days 4
Days with positive P/L 3 (Aug 22, 24, 26)
Days with negative P/L 1 (Aug 25: -$583,472)
Days with no trades but positive P/L (rebates) 1 (Aug 23: +$310)
Peak cumulative P/L +$1,554,198 (Aug 24 EOD)
Trough from peak -$583,472 (Aug 25)
Final cumulative P/L +$1,160,187
Rolling 7-day windows positive 3 of 5 terminal windows (all windows before Aug 22 are $0)
Rolling 15-day windows positive Same

The rolling window framework is not meaningful for a 4-active-day book over 43 calendar days. What is meaningful: the wallet's worst single day (-$583,472) represents a -37.5% drawdown from the prior day's peak. This is the risk profile of concentrated event betting, not a systematic strategy.

Phase 9 - P/L Decomposition

Component Value Notes
USDC spent on BUYs -$3,159,086 Gross outlay
Settlement received +$4,319,273 Six winning markets paid out
Trading P/L (cash-flow) +$1,160,187 Net of settlement minus buy cost
Taker rebates +$8,149 Earned on $2.82M of taker notional
Maker rebates +$735 Earned on $280K of maker notional
LP rewards $0 None
Total account P/L +$1,169,072 Trading + incentives
Fees paid -$58,585 1.85% of turnover

The P/L is entirely settlement-driven. No spread capture, no SELL alpha, no latency component. Every dollar of profit is shares bought below $1.00 that resolved at $1.00.

The fee structure is interesting: 57 taker fills paid fees at an implied rate of exactly 5% per fill (confirmed by the fee_basis_breakdown showing 57 usdc-measured fills vs 367 zero-fee maker fills). The $58,585 fee outlay at 5% per taker fill implies $1,171,700 of taker-fee-bearing volume, consistent with the largest taker fills (Brentford taker fills alone totaled ~$1.06M of fee-bearing volume).

The taker rebate rate is notable: $8,149 on $2.82M of taker notional = approximately 28.9 basis points. This offset roughly 14% of the fees paid.

Spread P/L: $0. Hedge tax: $0. Both expected for a 0%-both-sides book.

Phase 10 - Strategy Specification

One-sentence summary: A concentrated event-driven soccer bettor who deploys six-figure to seven-figure positions on European club football match outcomes via aggressive taker accumulation, holds all shares to resolution, and generates P/L entirely from settlement payouts on winning markets.

Edge source: Proprietary soccer prediction ability (if any exists). Market price at entry (typically $0.45-$0.52 for favorites, $0.82 for heavy favorites) must be systematically below the bettor's assessed true probability for positive expected value to exist. The five-day sample is too short to distinguish edge from variance.

What works: Large position accumulation in EPL and UCL match-win markets priced at $0.45-$0.52. Single-fill entries on heavy favorites ($0.82 on Real Madrid). The Fulham Over market (football totals at $0.48-$0.49) also works.

What bleeds: La Liga betting. Both La Liga positions (Real Betis and Valencia, from the same match) resolved as total losses. Whether this is signal or noise is indeterminate from six events.

What replicators must understand: The entire window's P/L depends on the Brentford bet winning. Without Brentford (+$1,254,403), the remaining seven markets collectively lose -$94,216. The strategy's positive result is load-bearing on a single match outcome.

Full implementation spec: See the Playbook tab.

// 004 / Quantitative breakdown

Quantitative breakdown

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

Wallet: 0x34dd4a4b70eaf79a17878f7938263c801d4dfd83 Window: 2026-07-15 → 2026-08-26 (4 active / 43 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 trades424
BUY trades424
SELL trades0 (0.0% of all)
Unique markets8
Unique events6
Active calendar days4 of 43
Trades per active day106
BUY notional$3,159,086
SELL notional$0
Gross turnover$3,159,086

Trade-size distribution (USDC per fill)

MetricValue
median$13.20
mean$7450.68
p95$32,741.85
p99$79,787.53
max$908,099.19
Top 5% share of capital82.1%

Inter-trade gap, same (market, outcome)

MetricValue
Median (s)5.0
Mean (s)64.0
P10 (s)0.0
P90 (s)72.5
% under 1s0.0%
% under 10s58.7%
% under 60s85.8%

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

  • Both-sides rate: 0.00% (0 of 8 markets)

Dominance buckets

BucketMarketsDom WRMean PairedAvg Mkt P/L
1.0–1.5x0 - - -
1.5–2.0x0 - - -
2.0–3.0x0 - - -
3.0x+0 - - -

Phase 4 - Entry-Price Analysis

BandBUY tradesResolvedWinsWRCapitalP/LROI
$0.00–$0.100000.0%$0+$00.00%
$0.10–$0.200000.0%$0+$00.00%
$0.20–$0.30202100.0%$4.3K+$9,669+225.19%
$0.30–$0.4090111.1%$286.6K-$282,682-98.63%
$0.40–$0.501010101100.0%$1.35M+$1,462,044+108.56%
$0.50–$0.6053053100.0%$94.0K+$85,144+90.58%
$0.60–$0.70258031.2%$519.3K-$303,449-58.43%
$0.70–$0.800000.0%$0+$00.00%
$0.80–$0.90101100.0%$908.1K+$189,461+20.86%
$0.90–$1.000000.0%$0+$00.00%

Phase 5 - Category & Vertical Breakdown

CategoryBUY tradesBUY $ResolvedWRP/LROI
Other270$1.72M2702.6%-$387,001-22.52%
Soccer154$1.44M154100.0%+$1,547,189+107.39%

Phase 6 - Timing & Execution

Net P/L by hour (UTC)

HourP/LWR
00:00+$0 -
01:00+$0 -
02:00+$0 -
03:00+$0 -
04:00+$0 -
05:00+$0 -
06:00+$0 -
07:00+$0 -
08:00+$0 -
09:00+$0 -
10:00+$0 -
11:00+$0 -
12:00+$0 -
13:00+$0 -
14:00+$0 -
15:00+$601,692100.0%
16:00+$649,85459.0%
17:00-$81,2520.0%
18:00-$217,74826.3%
19:00+$44,758100.0%
20:00+$162,883100.0%
21:00+$0 -
22:00+$0 -
23:00+$0 -

Phase 8 - Rolling Window Consistency

  • Rolling 7-day windows green: 5 of 43 (11.6%)
  • Rolling 7-day P/L range: +$0 → +$1,554,198
  • Rolling 15-day windows green: 5 of 43 (11.6%)
  • Rolling 15-day P/L range: +$0 → +$1,554,198

Weekly P/L

WeekSpanTradesWRP/LCumulative
W342026-08-22 → 2026-08-2257100.0%+$1,254,403+$1,254,403
W352026-08-24 → 2026-08-2636728.3%-$94,216+$1,160,187

Phase 9 - P/L Decomposition

MetricValue
BUY USDC out-$3,159,086
SELL USDC in+$0
Theoretical spread P/L+$0
Hedge-tax outflow$0
Trading P/L (from trade logs)+$1,160,187
Net ROI on BUY notional+36.73%
Maker rebates+$735
Taker rebates+$8,149
Incentive income (measured)+$8,884
Account P/L (Polymarket, all-in)+$1,169,072

Phase 10 - Top Markets by Volume

MarketTradesVolumeResolvedP/L
Will Brentford FC win on 2026-08-22?57$1.14M57+$1,254,403
Will Real Madrid CF win on 2026-08-26?1$908.1K1+$189,461
Will Real Betis Balompié win on 2026-08-25?255$383.2K255-$383,216
Will Valencia CF win on 2026-08-25?8$285.4K8-$285,400
Fulham FC vs. Chelsea FC: O/U 4.544$207.8K44+$207,641
Will Bologna FC 1909 win on 2026-08-24?3$136.1K3+$79,767
Will LASK Linz win on 2026-08-25?53$94.0K53+$85,144
Will SS Lazio win on 2026-08-24?3$5.5K3+$12,387

Top 10 winners by P/L

MarketVolumeNet P/L
Will Brentford FC win on 2026-08-22?$1.14M+$1,254,403
Fulham FC vs. Chelsea FC: O/U 4.5$207.8K+$207,641
Will Real Madrid CF win on 2026-08-26?$908.1K+$189,461
Will LASK Linz win on 2026-08-25?$94.0K+$85,144
Will Bologna FC 1909 win on 2026-08-24?$136.1K+$79,767
Will SS Lazio win on 2026-08-24?$5.5K+$12,387
Will Valencia CF win on 2026-08-25?$285.4K-$285,400
Will Real Betis Balompié win on 2026-08-25?$383.2K-$383,216

Top 10 losers by P/L

MarketVolumeNet P/L
Will Real Betis Balompié win on 2026-08-25?$383.2K-$383,216
Will Valencia CF win on 2026-08-25?$285.4K-$285,400
Will SS Lazio win on 2026-08-24?$5.5K+$12,387
Will Bologna FC 1909 win on 2026-08-24?$136.1K+$79,767
Will LASK Linz win on 2026-08-25?$94.0K+$85,144
Will Real Madrid CF win on 2026-08-26?$908.1K+$189,461
Fulham FC vs. Chelsea FC: O/U 4.5$207.8K+$207,641
Will Brentford FC win on 2026-08-22?$1.14M+$1,254,403

Report generated 2026-08-29 17:52 UTC.

// 005 / Filter strategy

Filter strategy

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

Wallet: 0x34dd4a4b70eaf79a17878f7938263c801d4dfd83 Window: 2026-07-15 to 2026-08-26 (4 active trading days) Baseline: 424 resolved BUYs, 38.0% WR, $3,159,086 turnover, +$1,160,187 trading P/L, +36.7% ROI on turnover Total account P/L: +$1,169,072 (includes $8,884 taker and maker rebates)

Methodology note: All filter results are applied to the resolved-BUY set. ROI denominates against turnover within the filter. The standard PR&R filter battery was designed for traders with many markets and ongoing activity; it applies awkwardly to a four-active-day, eight-market, event-driven book. The most important findings here are structural, not tuning signals.

The headline result

The filters tell you more about what markets to avoid than what to keep. The Soccer-only filter genuinely improves ROI by isolating the winning markets. The hour-exclusion filter produces a superficially clean result (+99.9% ROI, 100% WR) but does so by accidentally dropping the Brentford market - the biggest winner - alongside the losers. The price-band filter modestly helps ROI but cuts absolute P/L by $199K. The high-conviction filter returns zero because there are no both-sides positions to rank.

The most important filter finding is negative: removing hours 15-18 UTC destroys the Brentford P/L while preserving only the Fulham Over position. This looks clean in aggregate (100% WR, $207K profit) but is actually worse than the unfiltered result by -$952K in absolute terms. Do not apply the hour filter to this strategy.

Filter results table

Filter Trades WR Capital P/L ROI vs Baseline
Unfiltered baseline 424 38.0% $3,159,086 +$1,160,187 +36.7% -
Price $0.30-$0.70 421 37.5% $2,246,693 +$961,058 +42.8% -$199,129
High-conviction dom≥2x 0 - $0 $0 - -$1,160,187
Top category (Soccer, pipeline-assigned) 154 100% $1,440,760 +$1,547,189 +107.4% +$387,002
Exclude worst hours (15, 16, 17, 18) 44 100% $207,752 +$207,641 +99.9% -$952,546
Combined (exc. worst hours) 44 100% $207,752 +$207,641 +99.9% -$952,546

Filter-by-filter commentary

1. Price band filter ($0.30-$0.70) → MILD LIFT ON ROI, DESTRUCTIVE ON ABSOLUTE P/L

Applying the $0.30-$0.70 sweet-spot filter removes the two fills outside this range: (a) the $4,294 spent at $0.20-$0.30 on Bologna/Lazio (both winners), and (b) the $908,099 Real Madrid fill at $0.82 (a winner). The filter cuts $912,393 of capital while retaining $2,246,693.

The resulting ROI improves from +36.7% to +42.8% because the Real Madrid position had a lower absolute ROI (+20.9%) than the portfolio average, so removing it lifts the average. The absolute P/L drops by -$199,129 because the Real Madrid win (+$189,461) and the small Bologna win (+$9,668) are excluded.

Verdict: do not apply. The ROI improvement is an artifact of excluding a profitable but lower-multiple position. The -$199K in absolute P/L lost is real and meaningful. A real bettor who filtered out Real Madrid would have left $189,461 on the table. The filter is a mathematical curiosity, not a genuine improvement.

The La Liga loss positions ($0.33-$0.36 for Valencia and $0.63-$0.66 for Real Betis) fall within the $0.30-$0.70 band and are NOT removed by this filter. The filter does not protect against the strategy's actual losses, which is its critical failure for this wallet.

KEY INSIGHTThe $0.30-$0.70 filter fails to exclude either losing position (both Valencia at $0.33-$0.36 and Real Betis at $0.63-$0.66 are inside the band). It only excludes the Real Madrid win at $0.82. For this wallet, the filter protects against nothing and costs $189K.

2. High-conviction filter (dominance ratio ≥ 2x) → NOT APPLICABLE

The dominance filter requires both-sides participation to compute a dominance ratio. This wallet has zero both-sides markets. The filter returns an empty set: 0 trades, $0 capital, $0 P/L.

This is a structural non-starter, not a tuning issue. The strategy is one-sided by design. Applying any version of the dominance filter to a buy-only soccer bettor is a category error.

3. Category filter (Soccer only, pipeline-assigned) → MEANINGFUL LIFT - WITH IMPORTANT CAVEAT

The pipeline-assigned Soccer category contains 154 trades covering Brentford, Fulham Over, Bologna, and Lazio - all four of which won. It excludes the 270 "Other" trades which contain Real Betis (255 trades, total loss), Valencia (8 trades, total loss), and LASK Linz (53 trades, winner). The category filter therefore achieves 100% WR and +107.4% ROI by accidentally separating all winners from two losers.

The result is largely an artifact of the pipeline's categorization. The "Soccer" label was applied to English-league markets (EPL slugs) and missed the La Liga and UCL slugs, which were filed under "Other." In reality, all eight markets are soccer. A replicator who tried to apply "Soccer only" in a forward-looking setting would need to define "Soccer" as "only EPL" or "only markets with epl- slug prefix" - not all soccer.

If the filter is reinterpreted as "EPL only" (epl- slug prefix), it includes Brentford and Fulham and excludes all the La Liga and UCL markets. That version of the filter has a 100% win rate on this sample but only two events, which is insufficient for statistical inference.

The underlying insight - that different leagues may have different edge - is worth investigating with a larger sample. In this five-day window, La Liga (specifically the Valencia vs Betis match) was the entire source of losses.

4. Hour exclusion filter (exclude hours 15, 16, 17, 18) → MISLEADING - DO NOT APPLY

The filter excludes the four hours with the worst aggregate P/L. Hours 17 and 18 are indeed loss-generating: they contain the bulk of the Real Betis and Valencia fills. But hours 15 and 16 contain the Brentford fills - the largest single source of profit in the entire window (+$601,692 in hour 15, +$649,854 in hour 16).

Filtering out hours 15-18 removes 380 of 424 trades, dropping $2,951,334 of capital. The remaining 44 trades are the Fulham Over position (19:59-20:04 UTC), which won 100%. The result looks perfect: 100% WR, +$207,641, +99.9% ROI.

But this filter cost -$952,546 in absolute P/L by excluding Brentford. In forward-looking application, hours 15-18 UTC are when European football matches are typically played. Excluding those hours means not betting on soccer at all. The filter eliminates the strategy, not the losing portion of it.

Verdict: do not apply. The improvement is entirely an artifact of dropping the one losing day (August 25 falls in hours 16-18) together with the best-performing day (August 22 also falls in hours 15-16). The net effect is negative.

5. Combined filter → SAME AS HOUR FILTER - NO ADDITIONAL VALUE

The combined filter is dominated by the hour-exclusion component, which reduces the dataset to 44 trades (Fulham Only). Adding the category filter to this already-small set does not change the result. The combination adds no incremental information over the hour filter alone.

What filters would genuinely help here

The standard PR&R filter battery is not designed for a book with four active days and eight markets. The genuinely useful pre-trade filters for this strategy are not derivable from aggregate statistics; they require event-level information:

Hypothetical filter Why it might help Required data
League filter (EPL/UCL only, exclude La Liga) The only losses in this sample came from a single La Liga match. EPL and UCL markets showed 100% WR on this sample. Market slug parsing (already available: epl-, ucl-, lal-)
Single-event exposure cap The Valencia and Betis losses came from a single event (lal-val-bet-2026-08-25). A cap of "$300K max per event" would have limited each position to ~44% of the actual deployment. Computed from event slug grouping
Avoid betting both teams in same match The wallet was net-short on both outcomes of the Valencia/Betis match simultaneously. A rule against concurrent same-event positions would have prevented one of the two losses. Event slug matching at entry time
Time window (pre-match only, not in-match) The Real Betis position was accumulated over 150 minutes (16:01-18:59), possibly averaging down as the match went against him. A pre-match-only entry rule might prevent in-match averaging down. Match kickoff time + entry timestamp

The first filter (EPL/UCL only) is computable from slug patterns and produces a 100% WR in this sample. It is the most actionable refinement, though the sample is too small for confidence.

Bottom line for replication

Three concrete recommendations:

  1. Avoid taking opposite sides of the same match. The -$668,616 loss came from two positions in the same event that both resolved against the wallet. A simple rule - no buying "A wins" and "B wins" from the same match simultaneously - would have prevented one of the two losses.
  1. Consider league-specific allocation. EPL and UCL positions won; La Liga positions lost. Whether this reflects genuine edge or sample variance is unknown, but tracking league-level P/L separately is the right diagnostic. In a larger sample, you would know whether the La Liga underperformance persists.
  1. Do not apply hour or price-band filters. Both filters cut Brentford (the biggest winner) along with the losers. The genuine filter the data supports is match-selection quality, not entry-time or entry-price gating. The losing positions were entered at prices within the typical winning range ($0.33-$0.66). Price was not the distinguishing variable between winners and losers.
// 006 / Replication playbook

Replication playbook

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

Source wallet: 0x34dd4a4b70eaf79a17878f7938263c801d4dfd83 Strategy: Concentrated event-driven soccer match betting, buy-and-hold to resolution Reference result: $3,159,086 turnover, 8 markets, 4 active days, +$1,160,187 trading P/L, +$1,169,072 total account P/L

One-paragraph operator brief

Deploy large single-sided positions on European club football match outcomes via Polymarket's CLOB, entering in the pre-match or early in-match window through a combination of large taker fills (to build the core position quickly) and resting maker orders (to accumulate at the target price). Hold all shares to settlement with no active exits. Size individual market positions between $100K and $1M depending on conviction and bankroll. The strategy's edge, if any, is entirely derived from soccer prediction quality - accurate assessment of win probabilities relative to market prices. Without that underlying edge, this is high-variance soccer gambling at institutional scale.

1. Market selection

Rule Value
Asset class Polymarket prediction markets, soccer outcomes only
Competition scope European club football
Market types used Match win (Yes/No), totals (Over/Under)
Slug patterns (observed) epl-*, sea-* (Serie A), lal-* (La Liga), ucl-* (UEFA Champions League)
Settlement type Binary, resolves at match completion
Eligibility gate Market is live, match has not yet reached halftime (observed entry pattern)

League prioritization based on observed results:

League Slug prefix P/L Result
EPL epl- +$1,462,044 Both EPL markets won
Serie A sea- +$92,154 Both Serie A markets won
UCL ucl- +$85,144 UCL market won
La Liga lal- -$479,155 Both La Liga positions lost

The La Liga loss dominates the negative side of the ledger. Whether to exclude La Liga in a forward-looking playbook is a judgment call that requires a larger sample. In this window, all losses trace to a single La Liga event.

Match type considerations:

The wallet bet on:

  • Match win outcomes (home or away team wins): Brentford, Bologna, Lazio, Real Betis, Valencia, LASK Linz, Real Madrid
  • Totals (Over/Under): Fulham vs Chelsea O/U 4.5 (Over won)

Both market types worked on the winning side. The totals market had a clean structure: 44 fills at $0.48-$0.49 (the Over side), resolved with Fulham vs Chelsea scoring 5+ total goals. For a bettor with a goals-per-match model alongside a match-result model, both market types are in scope.

What to exclude: Any market that is not a European club football match result or totals line. This wallet never touched crypto, politics, US sports, or any other category. The discipline is absolute.

2. Entry logic

def should_enter(market, current_price, match_kickoff_time):
    # Asset class filter
    if not is_soccer_market(market):
        return None
    
    # Timing gate: enter pre-match or in first half only
    minutes_until_kickoff = (kickoff_time - now()).total_seconds() / 60
    minutes_into_match = (now() - kickoff_time).total_seconds() / 60 if now() > kickoff_time else -1
    
    if minutes_until_kickoff < -45:   # past halftime, don't enter
        return None
    if minutes_until_kickoff > 180:   # too far from match, skip
        return None
    
    # Signal gate: assess true win probability
    my_prob = my_soccer_model(market.home_team, market.away_team,
                               market.date, market.competition)
    market_prob = current_price  # Polymarket CLOB mid
    edge = my_prob - market_prob
    
    if edge < 0.10:   # need at least 10 probability points of edge
        return None
    
    return "Yes"  # one-sided, always Yes on the team you think will win
Threshold Value Rationale
Minimum edge vs market price 10 probability points (estimated) The Brentford entry at $0.45 implies you assessed true probability ≥55%. The Real Madrid entry at $0.82 implies you assessed true probability near 90%+.
Entry price range (winners) $0.29-$0.82 The wallet entered across a wide price range - this is not a price anchor, it is wherever edge exists
Entry price range (losers) $0.33-$0.66 Losers were also in the "reasonable" range - price was not a reliable separator
Match timing at entry Pre-match to early first half All entries appear in 15:00-19:00 UTC windows consistent with European match schedules
Both-sides participation Zero Never buy both outcomes of the same match

Entry execution method - the accumulation pattern:

The wallet uses a two-phase entry:

  1. Phase 1 (taker sweep): Fire large taker fills (100K-800K shares each) to build the core position immediately. Accept the 5% taker fee. Walk the book across multiple taker fills until the desired position size is reached.
  2. Phase 2 (maker absorption): Post maker orders at the same price to absorb any additional flow from other traders. These fills carry zero fees and generate maker rebates. They represent a secondary accumulation layer after the core position is built.

For the Brentford position: phase 1 was 23 taker fills totaling ~$1,138,400, phase 2 was 34 maker fills totaling ~$611. The maker fills added essentially nothing to the position size - they are residual.

# Execution pseudocode for one target market
def build_position(market, target_usdc, target_price):
    remaining = target_usdc
    
    # Phase 1: taker sweeps to build core
    while remaining > 50000:   # while more than $50K left to deploy
        clip = min(remaining, 500000)   # max single taker fill ~$500K
        shares = clip / target_price
        submit_taker_buy(market, shares, max_price=target_price * 1.05)
        remaining -= clip
        time.sleep(30)   # 30-120 second cadence between large fills
    
    # Phase 2: post maker order for remaining
    if remaining > 0:
        post_maker_buy(market, remaining / target_price, target_price)

3. Exit logic

There is no exit logic. The wallet holds every position from entry to resolution with zero sells. Settlement at $1.00 (win) or $0.00 (loss) is the only exit mechanism.

Rule Value
Active exits (sells) None - never sell before resolution
Stop-loss None - a position in a losing match continues to $0, not cut
Take-profit None - winning positions ride to $1.00 per share
Resolution Automatic: shares settle at $1.00 if outcome matches, $0.00 if not
Open window between entry and resolution 90-120 minutes (football match duration)

Why no exits are used: Soccer markets have specific resolution events (the final whistle). The information value of in-match price movements is embedded in the match itself - if Brentford scores first, the "Brentford win" price will rise, but selling into that rise crystalizes a gain smaller than what settlement will pay if Brentford holds on. The wallet's strategy is: if your pre-match model says the probability is high enough, let the match play out. Do not trade against your own model based on in-match noise.

The risk of not exiting is that a trailing position (e.g., Brentford up 2-0 with 10 minutes left, shares now worth $0.98) could theoretically be sold for near-full value before resolution. But the execution cost and taker fee on a $1M+ exit would be meaningful, and the residual risk of a late collapse is small. The no-exit approach is the right one for large positions where liquidity is limited.

4. Sizing model

The observed sizing is not formulaic. It appears to scale with conviction (assessed edge) and total bankroll. For replication purposes, the following framework is derived from the data:

Market My Prob (estimated) Market Price Edge Deployed % of Observed Bankroll
Brentford win ~65-70% $0.45 ~20-25pp $1,139,010 ~72% of $1.58M peak
Fulham Over 4.5 ~65%+ $0.48 ~17pp $207,752 ~13%
LASK Linz win ~60% $0.51 ~9pp $93,997 ~6%
Real Madrid win ~95%+ $0.82 ~13pp $908,099 ~58% of remaining
Real Betis loss ~30%+ (wrong) $0.63 assessed edge (wrong) $383,216 ~24%
Valencia loss ~40%+ (wrong) $0.33 assessed edge (wrong) $285,400 ~18%

A practical sizing framework for replication:

Position size = Bankroll × Kelly_fraction × Confidence_scalar

Kelly_fraction = (edge) / (1 - market_price)
   where edge = my_probability - market_price

Confidence_scalar ∈ [0.25, 1.0]
   0.25 = low confidence in model accuracy for this match type
   1.0  = full Kelly (aggressive, only for highest-confidence calls)

Maximum per-event exposure: 75% of bankroll (from observed behavior)
Maximum per-market exposure: 75% of bankroll (Brentford was ~72%)

For a $1M bankroll:

  • High-conviction call (edge 20pp+): $500K-$750K
  • Medium-conviction call (edge 10-20pp): $100K-$300K
  • Lower-conviction call (edge 5-10pp): $50K-$150K
  • Never exceed $750K on a single market from a $1M bankroll
SIZING RISKThe Brentford position was 72% of the observed peak capital at risk. A loss on Brentford would have produced a -$1,139,010 loss against a ~$1.58M bankroll - a 72% drawdown in a single match. This sizing is aggressive. The Kelly fraction at 20pp edge and $0.45 market price is ~36% - the wallet was betting at roughly 2x Kelly. Full Kelly and beyond sizing accelerates bankroll growth in winning sequences but creates severe drawdown risk when the model is wrong.

5. Sizing for different bankroll tiers

Bankroll Per-market max (75% rule) Typical high-conv position Typical medium-conv position
$100K $75K $40K-$60K $10K-$25K
$500K $375K $200K-$300K $50K-$125K
$1M (reference scale) $750K $400K-$600K $100K-$250K
$2M $1.5M $800K-$1.2M $200K-$500K
$5M+ Capacity-limited See note below -

At $5M+ bankroll, Polymarket soccer markets may not have sufficient depth to absorb positions at the target price without moving the market against you. The Brentford market handled $1.14M of buys at $0.45-$0.47 without severe slippage - the second largest fill alone was 800,000 shares at $0.4698. Larger positions at thinner books would require more extensive walking of the orderbook and would accept worse average prices.

6. Scheduling and operational cadence

When to trade: Match schedule-driven. European club football concentrates on:

  • Saturday 12:30-20:00 UTC (EPL, La Liga, Bundesliga)
  • Sunday 13:00-19:00 UTC (EPL, La Liga, Serie A)
  • Tuesday and Wednesday 19:00-21:00 UTC (UEFA Champions League, Europa League)
  • Monday and Friday 20:00 UTC (EPL Monday Night Football, midweek league matches)

The observed wallet traded on Saturday (Brentford/EPL), Monday (Bologna/Lazio/Fulham), Tuesday (Real Betis/Valencia/LASK - note these are Mon-Tue UTC in the data), and Wednesday (Real Madrid/La Liga).

Entry timing: Enter 30-120 minutes before kickoff (pre-match window) or within the first 20-30 minutes of the first half. The Brentford entry window (15:34-16:21 UTC) suggests approximately 30-60 minutes pre-match for a standard Saturday EPL kickoff.

Avoid averaging down during the match: The Real Betis position was accumulated over 150 minutes (16:01-18:59 UTC). If the match had already started at 16:00 and the score was moving against Betis, some of those later fills may represent in-match averaging down at increasingly bad odds. A cleaner entry rule is: complete the full position before or at kickoff.

7. Risk management

Risk Description Mitigation
Single-match catastrophic loss A $900K bet on one match has a 100% loss scenario if the match result is wrong Size per match at ≤75% of bankroll; use fractional Kelly
Same-event double exposure The wallet lost $668K from a single La Liga event where it held positions on both potential outcomes in a way that left it net-exposed on the wrong side Never hold concurrent positions on both outcomes of the same match
Model failure on specific leagues All losses in this sample came from La Liga. EPL/UCL performed perfectly. Track P/L by league; reduce allocation to leagues where historical model accuracy is lower
In-match price deterioration If a position goes against you during a match, the market price will move away from $1.00, increasing notional loss before resolution No stops or exits in this strategy. The loss is bounded by the original capital deployed
Liquidity/slippage Large taker sweeps move the book price upward. The Brentford entry moved from $0.45 to $0.47 across the buy sequence Accept 2-5% slippage as part of the cost structure for positions above $500K
Fee drag 5% taker fee on all large fills. The wallet paid $58,585 in fees Partially offset by taker rebates (~29bps on taker notional = ~$8,149 in this window)
Event-specific black swans Match cancellations, referee controversies, weather postponements, VAR reversals Review Polymarket resolution rules for each market before entry; confirm resolution is on final official result

Maximum loss per match: Bounded by capital deployed. There is no scenario where you lose more than you put in. The worst case for Brentford at $1.14M deployed would have been a -$1.14M loss. That scenario did not occur, but it was structurally possible.

Per-session risk limit: Consider capping total USDC at risk across all simultaneous open positions at 150% of bankroll (since positions can be entered on the same day for matches at different times). In the August 25 session, the wallet had Real Betis, Valencia, and LASK all open simultaneously, representing ~$763K of concurrent exposure.

8. Fee and rebate structure

Fee type Rate Impact
Taker fee 5.0% per fill (exact: 0.04999-0.05000) Paid on every large taker fill. $58,585 paid on $1.17M of fee-bearing taker notional
Maker fee 0% (zero-fee fills) No fee on maker-role fills
Taker rebate ~28.9bps on taker notional Earned $8,149 on $2.82M of taker notional
Maker rebate ~26bps on maker notional Earned $735 on $280K of maker notional
Net fee cost Fees paid minus rebates = $58,585 - $8,884 = $49,701 Net fee drag of ~1.57% of total turnover

Practical note on rebates: Taker rebates in this wallet totaled $8,149 across 7 rebate payments over the 5-day window. The largest single taker rebate was $4,092 (August 26, the day of the Real Madrid bet). These are meaningful offsets but do not substantially change the economics: the strategy's success or failure is almost entirely a function of match outcomes, not fee optimization.

At scale ($3M+ of taker notional per 5-day window), taker rebates in the $8K-$15K range are a nice secondary benefit but not a meaningful edge on their own.

9. The soccer model requirement

This is the critical gate. Every other element of this playbook - the accumulation execution, the buy-and-hold discipline, the sizing framework, the fee optimization - is copyable by any reasonably technical person. The one element that cannot be copied without independent development effort is a soccer probability model that systematically beats Polymarket's pricing.

Evidence from the data that a model may exist:

  • Brentford priced at $0.45 on August 22 - if the true probability was 65%, that is a large and exploitable mispricing
  • Real Madrid priced at $0.82 on August 26 - a near-certainty that resolved as expected
  • LASK Linz priced at $0.51 and won - slightly mispriced if true probability was 60%+

Evidence that no model may exist (or that the model failed):

  • Real Betis "No" and Valencia "Yes" were both wrong from the same match
  • The combined loss of $668K on one match is consistent with two directional bets on the wrong match outcome
  • Six events is too small a sample for statistical inference on model accuracy

What a working soccer prediction model for this context would need:

  • Historical EPL, La Liga, Serie A, UCL match data
  • Team-level expected goals (xG) models or equivalent
  • Market odds calibration data (knowing when Polymarket prices diverge from sharp bookmaker consensus)
  • Real-time injury, suspension, and lineup information
  • Home/away adjustments and recent form weighting

Without that model, following this wallet's trades is retrospective bet-following, not edge replication.

10. What this playbook deliberately does not include

  • No sell logic. There are zero sells in the reference wallet. Adding a take-profit or stop-loss mechanism introduces complexity that requires a live in-match pricing model. The base strategy is simpler: if your model says enter, enter and hold. If you are wrong, you lose the capital deployed. If you are right, you collect at $1.00.
  • No both-sides hedging. Zero both-sides participation in the reference wallet. Adding a hedge on the opposite side would reduce P/L on winning positions and is inconsistent with the single-outcome betting model.
  • No crypto or non-soccer markets. The wallet never touched anything outside European club football. Do not add crypto markets to this book hoping to diversify - the edge source (soccer knowledge) does not transfer.
  • No systematic Kelly sizing. The actual sizing appears conviction-driven and manually set, not formula-derived. A systematic Kelly calculator is a useful guardrail but should not override operator judgment on particularly high-conviction calls.
  • No in-match averaging down. The Real Betis position may have included in-match averaging down (150-minute accumulation window). This is the riskiest part of the observed behavior: if the market is pricing against your position during a live match, the market may be responding to real information (goals scored, red cards, injury) that your pre-match model cannot see. In-match averaging down into a losing position is the fastest way to convert a moderate loss into a catastrophic one.
  • No same-event double exposure. The single most damaging trade in the window was taking two losing positions from the same match simultaneously. One rule eliminates this risk: never buy "A wins" and "B wins" from the same event at the same time. Pick your team or skip the market.
# Summary: the full decision flow
def vito3_corleone_playbook(current_markets):
    for market in filter_to_soccer_only(current_markets):
        match = lookup_match(market)
        
        # Timing gate
        if too_far_from_kickoff(match) or past_halftime(match):
            continue
        
        # Single-event exposure gate
        if already_have_position_in(match.event_id):
            continue   # never double-expose same event
        
        # Model gate
        my_prob = soccer_model.predict_win(match)
        market_price = market.best_ask()
        edge = my_prob - market_price
        
        if edge < 0.10:
            continue   # insufficient edge
        
        # Size the position
        capital = min(
            bankroll * 0.75,
            kelly_fraction(edge, market_price) * bankroll * 0.5
        )
        
        # Execute: taker sweep + resting maker
        build_position(market, capital, market_price)
        # hold to resolution - no exits
    
    # settle at match completion; repeat next match day

Total bankroll requirement: $500K minimum for meaningful position sizes. $1M-$2M for reference-scale deployment. Above $5M, Polymarket soccer market depth becomes the binding constraint.

Expected return on capital (time-weighted): depends entirely on model accuracy. If your soccer model has genuine 10-20pp edge on 60-70% of positions, returns in excess of 50% on deployed capital per active match window are plausible. The reference wallet showed +$1,160,187 on $3.16M of turnover over 4 active days - an extraordinary result that cannot be projected forward without confidence in the underlying prediction quality.

Other trader breakdowns

Build something like it

Get the data

Join Discord