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

FlippingSharks

On-chain analysis of Polymarket trader FlippingSharks. Active over 12 days with 89,684 trades across 2,883 markets, netting +$4,121 at +0.3% ROI.

Published Jun 03, 2026 ~9 min read By PR&R Research View on Polymarket →
Volume traded
$1.36M
12-day window
Realized return
+0.3%
Cash-flow accounting
Top category share
100%
Crypto of total volume
Both-sides rate
98.3%
Market-maker shape
// 001 / Analysis

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

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

FlippingSharks is a spread-capture market maker on Polymarket's Bitcoin 5-minute Up/Down markets. The wallet buys both sides of 98.3% of all markets it touches, locking in the spread between Up and Down prices before each 5-minute window resolves. This is not a directional trader making calls on BTC's next move. It is a systematic book that extracts a small guaranteed margin from every market where the combined Up + Down price is below $1.00, holds the paired position to settlement, and relies on volume and frequency rather than prediction to accumulate profit.

The scale is enormous. 89,684 trades across 2,883 markets in 12 days at $1.36 million in BUY notional, all concentrated in a single slug prefix: btc-updown-5m-*. That works out to roughly 240 markets per day, one for every 6-minute window. The wallet is not skipping markets. It is systematically entering every sequential 5-minute BTC Up/Down slot, around the clock, every day of the observation window.

The result is a modest but real positive return: +$4,121 on $1.36M deployed, +0.30% ROI in 12 days. That number understates the strategy's economics. The actual P/L engine is the spread locked in at entry on the 50.1% of markets where the combined VWAP is sub-$1.00, not the per-trade win rate. The computed P/L diverges from the Polymarket-reported figure (+$17,755) by $13,634, which the validation pass flags. The computed number is used throughout this report.

The portfolio shape

Everything is one market. Every single trade in the 12-day window hits a btc-updown-5m-* slug. No ETH, no BTC hourly or daily, no sports, no politics. The book is a pure single-instrument operation, and the instrument is the 5-minute BTC Up/Down series on Polymarket.

Within that instrument, the wallet enters both sides 2,835 of 2,883 markets (98.3%). The median time between entering the first and second side of a market is 7 seconds -- the two legs are essentially simultaneous. This is not opportunistic hedging. The two fills go in as a coordinated pair within a single market, at prices that together aim to sit below $1.00. The spread the wallet captures is the difference between 100 cents and the sum of the two VWAPs.

SCALE89,678 BUY fills across 2,883 markets in 12 days. The median fill size is $4.21 USDC. The max is $222.75. This is a granular, high-frequency book, not a whale taking conviction positions.

The dominance ratio table tells the directional-conviction story. When the wallet tilts more heavily to one side (dominance 3.0x or higher, 902 markets), the dominant side wins 95.8% of the time. At 2.0-3.0x tilt (652 markets), the dominant side wins 88.2% of the time. This is not random or incidental. The wallet is reading which side of the book is cheaper at entry and allocating more capital there -- and that cheaper side tends to win. The combination of spread capture and directional skew is what makes this book profitable per-market despite a headline win rate of only 47.9%.

Where the edge appears to come from

Two mechanisms stack on top of each other. First, spread capture: 50.1% of the 2,835 two-sided markets have a combined VWAP below $1.00. On those markets, the wallet is guaranteed a profit regardless of which side resolves. The median paired cost across all markets is $0.9996 -- within a fraction of a cent of $1.00 at the median, confirming the strategy is operating near the theoretical limit of what the orderbook offers.

Second, asymmetric allocation: the wallet does not split 50/50. It reads the current CLOB prices and puts more capital on the side that is priced cheapest (and thus has the most upside if it wins). The 3.0x+ dominance bucket confirms the signal is real: 864 of 902 markets in that bucket resolve in the dominant side's favor.

The core mechanism: Buy both sides of every 5-minute BTC window. Allocate more to the side priced below fair value. Collect the spread on sub-$1.00 markets and the directional win on the rest. Hold to settlement; never sell early.

The practical edge source is information about orderbook mispricing relative to fair value -- not BTC price prediction. When the market prices Up at $0.43 and Down at $0.55, the total is $0.98 (a guaranteed 2-cent profit on every pair of shares) and the allocation tilts toward Down as the cheaper side. The wallet's only real skill is reading the CLOB quickly enough to enter before the spread closes.

What you can copy

The mechanical structure of this strategy is replicable. The slug pattern (btc-updown-5m-*), the both-sides entry, the sub-$1.00 combined cost targeting, the 7-second second-leg lag, and the hold-to-settlement exit are all visible in the data and implementable with a CLOB connection and a few hundred dollars of working capital per market. The dominance skew is also computable from live orderbook prices -- tilt more to the side where the mid price is lower.

The filter analysis shows one genuinely useful insight: excluding the four worst-performing hours (4, 16, 19, 20 UTC) lifts ROI from 0.30% to 0.40% while cutting only 17% of volume. That is a meaningful scheduling improvement available to any replicator.

What you probably can't copy

The zero-sell discipline means holding both-sides positions to settlement with no early exit. That works at the observed scale ($4.21 median clip), but any replicator who wants to run larger notional will need to solve the inventory problem: holding $222 maximum clips across 240 open 5-minute markets simultaneously requires meaningful liquid capital and a nonce manager that can submit two-sided entries in parallel without collisions.

The bigger constraint is competition. The strategy's edge per market is thin -- median paired cost of $0.9996 implies roughly 0.04 cents of locked spread per paired share. As more bots enter the same market, the combined VWAP rises toward $1.00 and the spread disappears. The window where a two-sided entry clears below $1.00 narrows. At current competition levels, 50.1% of markets offer sub-$1.00 paired cost -- but that number is sensitive to how many other spread-capturers are in the book. Watch it monthly.

// 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: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 to 2026-05-31 (12 calendar days, 12 active) Universe: 89,684 trades across 2,883 markets, $1,359,832 gross turnover Net P/L (computed): +$4,121 on $1,359,559 BUY notional = +0.30% ROI in 12 days

P/L methodology: Cash-flow accounting on resolved BUYs. Per-trade P/L = shares settled at $1.00 if the outcome won, $0.00 if it lost. All 89,678 BUY trades are marked resolved. SELL volume is negligible (6 trades, $273 total). There is a known divergence between the computed P/L (+$4,121) and the Polymarket-reported figure (+$17,755); the validation pass failed (difference $13,634). This report uses the computed figure throughout.

The Punchline

FlippingSharks is a fully automated bilateral spread-capture market maker operating exclusively on Polymarket's 5-minute Bitcoin Up/Down series. It buys both sides of 98.3% of all markets it touches, with the two legs entering within a median of 7 seconds of each other, and holds every position to settlement. There is no early exit, no stop loss, and no directional bet in the conventional sense. The strategy makes money because the combined price of Up and Down shares in these markets is frequently below $1.00 at the time of entry, which guarantees a profit on paired shares regardless of which outcome resolves.

The secondary alpha source is asymmetric allocation: the wallet allocates more capital to the side that is priced cheaper (lower implied probability) at entry. Across the 902 markets where one side received 3.0x or more capital than the other, that cheaper side resolved correctly 95.8% of the time. This is not luck. The market is pricing the lower-probability side correctly on average, and the wallet is expressing a directional view through its allocation asymmetry -- it just never makes a single-sided bet.

The economics are thin per market but aggregate across volume. +$4,121 on $1.36M deployed is a 0.30% return over 12 days, which annualizes to roughly +9% on the BUY notional deployed. The actual working capital required is far less than $1.36M because positions cycle every 5 minutes and the wallet is recycling the same dollars across sequential markets. The real yield on peak instantaneous exposure is substantially higher.

What He Trades

The entire book is one instrument:

btc-updown-5m-*    89,678 BUYs    $1,359,559 notional    2,883 markets

Every btc-updown-5m- market slug in the observation window is touched. This is a blanket market-maker, not a selective trader. No other slugs appear. The 2,883 markets correspond closely to the number of 5-minute windows in 12 days (12 days x 288 windows/day = 3,456 theoretical maximum), so the wallet enters roughly 84% of available windows, skipping a portion due to the active-hours scheduling described in Phase 6.

The CSV confirms the pattern. Looking at consecutive rows, the timestamp sequence jumps from one market (e.g., btc-updown-5m-1780271400) to the next (btc-updown-5m-1780271100) as the wallet moves through sequential 5-minute windows. Within each market, both Up and Down fills appear within seconds.

There is no ETH, no BTC hourly/daily, no politics, no sports, no other asset. The universe restriction is as hard as it gets.

The Order of Operations -- One Market, Trade by Trade

This example traces the wallet's activity in Bitcoin Up or Down -- May 19, 8:20PM-8:25PM ET (btc-updown-5m-1779236400), which resolved Down.

Time (UTC) Outcome Price Shares USDC Resolved Side
00:21:02 Down $0.28 14.36 $4.02 Down
00:21:05 Up $0.68 14.36 $9.98 Down
00:22:24 Up $0.55 15.49 $8.52 Down
00:22:26 Up $0.55 2.22 $1.22 Down
00:22:43 Down $0.42 17.70 $7.74 Down
00:23:01 Down $0.63 11.36 $7.16 Down
00:23:06 Up $0.30 11.35 $3.57 Down
00:23:22 Down $0.85 60.21 $51.18 Down
00:23:25 Up $0.141 60.21 $9.01 Down
00:23:38 Down $0.89 25.15 $22.38 Down
00:23:38 Down $0.89 1.23 $1.09 Down
00:23:39 Down $0.89 11.79 $10.49 Down
00:23:39 Up $0.08 25.15 $2.14 Down
00:23:45 Up $0.09 4.67 $0.42 Down
00:23:46 Up $0.09 8.71 $0.78 Down
00:23:46 Up $0.09 3.70 $0.33 Down
00:23:46 Up $0.09 10.99 $0.99 Down
00:23:50 Down $0.91 28.06 $25.70 Down
00:24:06 Up $0.50 varies varies Down
00:24:07 Up $0.50 135.94 $72.09 Down
00:24:07 Down $0.55 29.22 $16.07 Down
00:24:11 Down $0.49 multiple $63.12 Down
00:24:18 Up $0.30 2.40 $0.72 Down
00:24:44 Down $0.81 multiple $70.88 Down
00:24:44 Up $0.17 85.09 $15.30 Down

Walk-through:

The wallet enters this market around 3 minutes before close. It fires both Up and Down buys nearly simultaneously, with the paired-entry lag visible throughout. The first fills (00:21:02 and 00:21:05) are a Down at $0.28 and an Up at $0.68 -- combined cost = $0.96, which guarantees a 4-cent profit per paired share. The wallet then continues to add both sides across the remaining window, walking the book in chunks.

By 00:23:22 the market has drifted dramatically: Down is now $0.85 and Up is $0.14. The combined cost on those fills is $0.99 -- still sub-$1.00, barely profitable on the paired shares, but the allocation has become extremely asymmetric. Down gets 60.21 shares at $0.85 ($51.18) while Up gets 60.21 shares at $0.141 ($9.01). The wallet has a 6:1 allocation skew toward Down.

The market resolves Down at 01:20 ET. The Down shares settle at $1.00 each; the Up shares settle at $0.00. Net: the wallet collects on the heavy Down allocation, loses the small Up allocation, and retains the guaranteed spread on the truly paired (equal-shares) portion. This market was a winner because (a) the spread was locked in on early paired fills, and (b) the directional skew toward Down was correct.

The 7-second median second-side lag is visible here: every time the wallet enters a large Down position, a corresponding (smaller) Up position follows within seconds. The two fills are dispatched nearly simultaneously by the bot; the offset reflects CLOB processing and gas confirmation timing, not decision-making delay.

Why It Works -- The Math

The strategy has two independent P/L sources that stack:

<pre><code>Source 1: Spread capture on sub-$1.00 paired markets pct_markets_sub_1.00 = 50.1% (from both_sides.pct_sub_1 = 0.501) median_paired_cost = $0.9996 profit per paired share = 1.0 - 0.9996 = $0.0004/share

At $4.21 median clip and ~2,835 two-sided markets: Guaranteed spread P/L estimate = (0.501 x 2835) x $0.0004/share x ~30 shares/clip = ~1,421 markets x $0.012 = ~$17 guaranteed / market in the sub-$1.00 subset (rough; actual depends on paired_shares, not trade count)

Source 2: Directional accuracy from allocation skew Dom 1.0-1.5x: 62.7% dominant-side WR (785 markets) Dom 1.5-2.0x: 74.0% dominant-side WR (496 markets) Dom 2.0-3.0x: 88.2% dominant-side WR (652 markets) Dom 3.0x+: 95.8% dominant-side WR (902 markets)

In the 3.0x+ bucket: 864 wins / 902 markets The smaller (hedge) leg costs ~25% of the dominant-leg outlay Expected net per market in this bucket is strongly positive</code></pre>

The two sources are complementary: spread capture works best when both sides are priced near $0.50 (balanced book), while directional skew works best when one side is heavily mispriced. The wallet captures spread when the book is balanced and captures directional wins when it is not -- which means there is a profitable play in essentially every market state.

KEY RATIOThe 3.0x+ dominance bucket (902 markets, 31% of the book) drives an outsized share of directional P/L. At 95.8% win rate on the dominant side vs 48% overall, these high-conviction allocations are the alpha concentrate.

The strategy's vulnerability is the 49.9% of markets where the combined VWAP exceeds $1.00. On those markets, the wallet is paying a guaranteed loss on the paired shares and must rely entirely on the directional skew to be net profitable. If the directional signal degrades (which would show up as lower dominant-side WR in the 2.0x+ buckets), those markets become consistently negative.

Phase 1 -- Trader Profile

Scale and Activity

Metric Value
Total BUY trades 89,678
Total SELL trades 6
BUY notional $1,359,559
SELL notional $273
Unique markets 2,883
Active days 12 of 12
Trades per active day ~7,474
Markets per active day ~240

Six SELL trades in 89,684 total is effectively zero. This is a settlement-only exit strategy.

Trade Size Distribution

Metric Value
Median $4.21
Mean $15.16
P95 $74.81
P99 $146.96
Max $222.75
Top 5% share of capital 38.7%

The median of $4.21 vs mean of $15.16 reflects a highly right-skewed distribution -- many small clips and occasional large ones. The max of $222.75 is only 53x the median, which is moderate concentration by Polymarket standards. The top 5% of trades carry 38.7% of the capital.

SIZE PROFILEMedian fill is $4.21 USDC. No single fill exceeds $223. This is a granular book that fragments position-building into dozens of small clips per market, not a whale taking large single bets.

Execution Signature

Metric Value
Median inter-fill gap 0.0 seconds
P90 inter-fill gap 39 seconds
Pct under 10 seconds 75.9%
Pct under 60 seconds 94.8%
Mean gap 10.9 seconds

75.9% of consecutive fills arrive within 10 seconds. This is a fully automated bot. The 0.0-second median means many fills occur in the same timestamp block (same-second multi-leg fan-out is visible throughout the CSV). The longer tail (P90 = 39s) reflects the inter-market transition time between sequential 5-minute windows.

Second-side lag median: 7 seconds. When the wallet enters a market, the complementary side follows within 7 seconds at the median. This is the paired-entry signature of a spread-capture bot.

Phase 2 -- Core Strategy Identification

Both-sides participation rate: 98.3% (2,835 of 2,883 markets)

This is the defining statistic. A rate above 60% indicates spread-capture as the core mechanism. At 98.3%, this is an essentially pure bilateral market-maker. The 48 single-sided markets (1.7%) likely reflect edge cases where the second leg failed to fill before expiry or orderbook conditions prevented entry.

Classification: SPREAD CAPTURE + DIRECTIONAL SKEW

This wallet is Archetype A (Both-Sides Spread Capture) with a meaningful Archetype B (Directional) overlay via asymmetric allocation.

Not in scope:

  • Not a copy-trader (no lag pattern, every market is simultaneous both-sides)
  • Not a latency arbitrageur (no SELL engine, no early exit)
  • Not a DCA accumulator (enters each market fresh, never returns to a prior market)
  • Not a pure spread-only market maker (the 3.0x+ dominance bucket shows real directional signal, not just hedged exposure)

Phase 3 -- Dominance Ratio Analysis

Dominance Bucket Markets Dom-Side WR Mean Paired Cost
1.0-1.5x 785 62.7% $1.0026
1.5-2.0x 496 74.0% $0.9997
2.0-3.0x 652 88.2% $0.9953
3.0x+ 902 95.8% $0.9954

The dominant-side win rate escalates sharply with dominance ratio. At 1.0-1.5x (near-equal allocation), the WR is 62.7% -- above random but not dramatically so. By 3.0x+, it reaches 95.8%. This is the cleanest possible evidence of a real directional signal embedded in the allocation decision.

The mean paired cost tracks the dominance ratio inversely: when the wallet tilts heavily (3.0x+), the combined VWAP averages $0.9954, meaning the spread is more reliably locked in on high-conviction markets. The 1.0-1.5x bucket has a mean paired cost of $1.0026 -- slightly above $1.00, meaning these lower-conviction markets are on average slightly lossy on the spread alone. The directional precision at high dominance more than compensates.

SIGNAL QUALITYAt 3.0x+ dominance (902 markets), the dominant side wins 95.8% of the time. This is not a spread-only book. The allocation skew is a genuine directional signal derived from live orderbook prices.

The practical interpretation: the wallet reads the CLOB, identifies the side that is underpriced relative to some fair-value model, and loads that side heavily while putting a small hedge on the other side. The "small hedge" side nearly always loses -- which is the cost of running a delta-hedged position -- but the dominant side wins at 96% when the conviction is high.

Phase 4 -- Entry Price Analysis

Price Band Trades WR Capital P/L ROI
$0.00-$0.10 5,709 5.0% $10,766 +$179 +1.66%
$0.10-$0.20 9,099 16.2% $35,595 +$578 +1.62%
$0.20-$0.30 8,800 24.4% $65,524 +$635 +0.97%
$0.30-$0.40 10,923 34.2% $110,140 +$730 +0.66%
$0.40-$0.50 12,186 44.4% $170,986 +$554 +0.32%
$0.50-$0.60 13,752 54.9% $211,872 +$617 +0.29%
$0.60-$0.70 11,003 65.1% $207,938 +$315 +0.15%
$0.70-$0.80 8,102 76.8% $191,677 +$119 +0.06%
$0.80-$0.90 5,812 84.2% $175,276 +$416 +0.24%
$0.90-$1.00 4,292 94.0% $179,785 -$25 -0.01%

The win-rate column is a near-perfect calibration curve. At $0.00-$0.10, the WR is 5.0% (consistent with ~5% implied probability). At $0.90-$1.00, WR is 94.0%. This confirms the market is pricing outcomes correctly on average -- the strategy is not exploiting systematic mispricings in the implied probability surface.

The ROI profile is the more telling view. ROI is highest at sub-$0.20 entries (1.6%) and declines monotonically as price increases, hitting near-zero or negative at the $0.90+ zone. This is the spread-capture signature: buying the cheap side of a paired position has the highest expected dollar return per dollar deployed because those positions are small (cheap) and the paired spread is wide, while buying near-$1.00 favorites returns very little even when correct.

Sub-bucket inspection: The capital distribution is relatively smooth across all 10 bands, with the $0.50-$0.60 band as the single largest (15.6% of capital at $211,872). No single $0.01 price tick dominates. This is the opposite of a single-tick floor-bidder strategy -- the wallet is walking the entire book on every market.

CALIBRATIONWin rate by price band tracks the implied probability with less than 1% average error across all 10 bands. The market is well-calibrated; this trader is not exploiting probability mispricings.

Phase 5 -- Category and Market-Type Breakdown

Category Trades WR Volume P/L ROI
Crypto 89,678 47.9% $1,359,559 +$4,120 +0.30%

The category breakdown is trivially uninformative: 100% of trades are Crypto. The interesting decomposition is by market within Crypto, and here the data is also thin because there is only one slug (btc-updown-5m-*). Market-to-market P/L variation is high (top market: +$235, worst market: -$178), but the variation is random noise around the mean, not a systematic sub-category signal.

Best markets by P/L:

Market Trades Volume P/L
BTC Up/Down - May 23, 12:20AM-12:25AM ET 65 $734 +$235
BTC Up/Down - May 25, 2:15PM-2:20PM ET 28 $854 +$188
BTC Up/Down - May 24, 1:25AM-1:30AM ET 69 $1,318 +$179
BTC Up/Down - May 24, 3:15AM-3:20AM ET 79 $1,093 +$179
BTC Up/Down - May 25, 7:25PM-7:30PM ET 39 $177 +$162

Worst markets by P/L:

Market Trades Volume P/L
BTC Up/Down - May 26, 1:00AM-1:05AM ET 63 $1,152 -$178
BTC Up/Down - May 23, 11:55PM-12:00AM ET 30 $733 -$174
BTC Up/Down - May 28, 9:40PM-9:45PM ET 91 $1,309 -$141
BTC Up/Down - May 20, 5:20PM-5:25PM ET 57 $578 -$133
BTC Up/Down - May 28, 5:55AM-6:00AM ET 69 $1,554 -$133

The range of -$178 to +$235 per market is small relative to the volume. The worst single market loses $178 on $1,152 of volume (-15.4%). Even the biggest single-market loss is survivable within a session that generates $4,121 net.

Phase 6 -- Timing and Execution Analysis

Hourly Activity Distribution

The wallet trades every hour of the day, but volume is notably lower in the 12:00-15:00 UTC window (the lightest 4-hour block) and peaks in the 03:00-06:00 UTC window. The wallet is not a US-hours-only operator -- it runs nearly around the clock.

Hour (UTC) Trades WR P/L
00 3,603 51.9% -$71
01 3,890 49.1% +$283
02 3,875 47.5% +$431
03 4,704 49.0% +$276
04 4,709 43.9% -$434
05 4,391 46.8% -$19
06 4,636 46.1% +$302
07 4,278 49.4% +$237
08 4,002 50.2% +$208
09 4,877 47.1% +$333
10 4,430 50.4% +$58
11 4,504 48.8% -$347
12 3,653 49.5% +$740
13 2,730 49.1% -$16
14 1,525 47.6% -$53
15 2,228 46.8% +$482
16 3,017 45.8% +$159
17 3,270 48.6% +$459
18 3,148 50.5% +$335
19 3,514 44.8% +$442
20 4,142 42.6% -$533
21 3,561 48.8% +$531
22 3,264 48.7% +$59
23 3,733 46.4% +$258

The four worst hours by P/L are 4 (-$434), 20 (-$533), 11 (-$347), and 0 (-$71). Hours 4 and 20 stand out as the primary drags. The filter analysis identifies 4, 16, 19, 20 as the worst hours to exclude.

Day-of-week patterns:

Day Trades WR P/L ROI
Mon 11,621 48.1% +$1,449 +0.79%
Tue 8,049 48.9% +$137 +0.10%
Wed 13,613 49.3% +$756 +0.35%
Thu 11,476 46.4% +$1,406 +0.74%
Fri 13,708 46.8% +$1,985 +0.95%
Sat 17,880 48.1% -$469 -0.20%
Sun 13,331 47.4% -$1,143 -0.63%

Weekdays are consistently profitable; weekends (especially Sunday) are negative. Saturday and Sunday together drain -$1,612 from a book that makes +$5,733 on weekdays. This is a real and actionable pattern: the spread-capture edge is weaker on weekends, likely because BTC volatility profiles and market-maker competition patterns differ on Saturdays and Sundays.

WEEKEND DRAGSaturday (-$469) and Sunday (-$1,143) together cost $1,612 against a weekday total of +$5,733. Turning the bot off on weekends would lift weekly ROI by roughly 28% with only a 43% reduction in trade volume.

Phase 7 -- Filter Experiments

Filter Trades WR Capital P/L ROI Delta vs Baseline
Unfiltered baseline 89,678 47.9% $1,359,559 +$4,120 +0.30% --
Price 0.30-0.70 48,663 50.2% $715,076 +$2,357 +0.33% -$1,763
High-conviction dom 2x+ 20,122 91.6% $524,299 +$4,164 +0.79% +$44
Top category (Crypto) 89,678 47.9% $1,359,559 +$4,120 +0.30% $0
Exclude worst 4 hours (4,16,19,20) 74,296 48.6% $1,124,932 +$4,487 +0.40% +$367
Combined (dom 2x+ and excl worst hr) 40,158 50.9% $589,184 +$2,606 +0.44% -$1,514

The high-conviction filter and the hour-exclusion filter are the only two that do real work. The price-band and category filters are structurally inapplicable or destructive.

See the Filters tab for the full per-filter analysis.

Phase 8 -- Rolling Window Consistency

Weekly performance:

Week Markets WR P/L Cumulative
W21 (May 20-24) 40,755 trades 46.9% +$3,488 +$3,488
W22 (May 25-31) 48,923 trades 48.7% +$631 +$4,120

Rolling 7-day windows:

Date Rolling 7-day P/L
May 20 +$360
May 21 +$1,606
May 22 +$3,340
May 23 +$4,257
May 24 +$3,488
May 25 +$4,938
May 26 +$5,075
May 27 +$5,109
May 28 +$4,024
May 29 +$2,541
May 30 +$238
May 31 +$631

The rolling 7-day picture shows a notable late fade: from a peak of +$5,109 (May 27) to +$238 (May 30). The final week (May 25-31) generated only +$631 vs +$3,488 in the prior week. This could reflect increased competition (paired costs rising toward $1.00) or a period of lower BTC volatility that compressed the spread available. The strategy is not showing decay across its entire history, but the second-week weakness is worth monitoring.

All rolling 7-day windows are positive (minimum +$238), confirming the strategy is generating consistent small profits without a meaningfully negative sustained window.

LATE FADEWeek 2 P/L was only $631 vs $3,488 in Week 1. Rolling 7-day P/L dropped from +$5,109 on May 27 to +$238 on May 30 before recovering slightly. Monitor whether the fade persists into June as a signal of competition or market structure change.

Phase 9 -- P/L Decomposition

Component Value Interpretation
Computed spread P/L -$1,869 Net cost of the "wrong" side across all paired markets
Hedge tax (losing legs) -$497,333 Total USDC lost on non-dominant-side fills
Realized total +$4,121 Settlement payout net of all costs
SELL USDC in +$273 Negligible; 6 trades

The spread P/L of -$1,869 is the key decomposition finding. Taken alone, the spread mechanism (buying both sides and holding to settlement) generates a slight net negative across the whole book -- because 49.9% of markets have combined VWAP above $1.00, and those markets lose more than the sub-$1.00 markets gain. The strategy's net profitability (+$4,121) comes entirely from the directional accuracy of the asymmetric allocation: the dominant-side wins enough of the time at high-dominance ratios to overcome the spread losses and the hedge tax.

Put differently: if the wallet lost all directional signal and split perfectly 50/50 on every market, it would be a net -$1,869 strategy. The +$5,990 gap between -$1,869 and +$4,121 is the value of the allocation signal.

Phase 10 -- Strategy Specification

One-sentence summary: A 24/7 bilateral market-making bot that enters both sides of every sequential 5-minute Bitcoin Up/Down market on Polymarket, allocates more capital to the side with lower implied probability, and holds all positions to settlement to capture paired spread and directional wins.

What works: Both-sides entry with 7-second lag. Asymmetric allocation driven by live CLOB prices. Settlement-only exits. 3.0x+ dominance markets (95.8% dominant-WR). Weekdays. Hours 12, 15, 21 UTC (top performers).

What drags: Markets where combined VWAP exceeds $1.00 (49.9% of markets). Weekends (especially Sunday, -0.63% ROI). Hours 4, 11, 20 UTC.

What replicators must build: A persistent CLOB connection to Polymarket's 5-minute BTC series. A paired-entry logic that fires both sides within seconds at entry. An allocation model that tilts more toward the lower-priced side. A settlement-only exit (no stop-loss, no early sell). A scheduling layer that caps activity during the identified weak-ROI hours and weekends.

See the Playbook tab for the complete implementable spec.

// 004 / Quantitative breakdown

Quantitative breakdown

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

Wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 → 2026-05-31 (12 active / 12 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 trades89,684
BUY trades89,678
SELL trades6 (0.0% of all)
Unique markets2,883
Unique events2,883
Active calendar days12 of 12
Trades per active day7,474
BUY notional$1,359,559
SELL notional$273
Gross turnover$1,359,832

Trade-size distribution (USDC per fill)

MetricValue
median$4.21
mean$15.16
p95$74.81
p99$146.96
max$222.75
Top 5% share of capital38.7%

Inter-trade gap, same (market, outcome)

MetricValue
Median (s)0.0
Mean (s)10.9
P10 (s)0.0
P90 (s)39.0
% under 1s0.0%
% under 10s75.9%
% under 60s94.8%

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

  • Both-sides rate: 98.34% (2,835 of 2,883 markets)
  • Median paired cost: $0.9996
  • Mean paired cost: $0.9981
  • Paired cost % under $1.00: 50.1%
  • Paired cost % under $0.97: 25.6%
  • Median 2nd-side hedge lag: 7s

Dominance buckets

BucketMarketsDom WRMean PairedAvg Mkt P/L
1.0–1.5x78562.7%$1.0026 -
1.5–2.0x49674.0%$0.9997 -
2.0–3.0x65288.2%$0.9953 -
3.0x+90295.8%$0.9954 -

Phase 4 - Entry-Price Analysis

BandBUY tradesResolvedWinsWRCapitalP/LROI
$0.00–$0.105,70902845.0%$10.8K+$179+1.66%
$0.10–$0.209,09901,47316.2%$35.6K+$578+1.62%
$0.20–$0.308,80002,14724.4%$65.5K+$635+0.97%
$0.30–$0.4010,92303,73734.2%$110.1K+$730+0.66%
$0.40–$0.5012,18605,40944.4%$171.0K+$554+0.32%
$0.50–$0.6013,75207,55154.9%$211.9K+$617+0.29%
$0.60–$0.7011,00307,15965.1%$207.9K+$315+0.15%
$0.70–$0.808,10206,22476.8%$191.7K+$119+0.06%
$0.80–$0.905,81204,89484.2%$175.3K+$416+0.24%
$0.90–$1.004,29204,03594.0%$179.8K-$25-0.01%

Phase 5 - Category & Vertical Breakdown

CategoryBUY tradesBUY $ResolvedWRP/LROI
Crypto89,678$1.36M89,67847.9%+$4,120+0.30%

Phase 6 - Timing & Execution

Net P/L by hour (UTC)

HourP/LWR
00:00-$7151.9%
01:00+$28349.1%
02:00+$43147.5%
03:00+$27649.0%
04:00-$43443.9%
05:00-$1946.8%
06:00+$30246.1%
07:00+$23749.4%
08:00+$20850.2%
09:00+$33347.1%
10:00+$5850.4%
11:00-$34748.8%
12:00+$74049.5%
13:00-$1649.1%
14:00-$5347.6%
15:00+$48246.8%
16:00+$15945.8%
17:00+$45948.6%
18:00+$33550.5%
19:00+$44244.8%
20:00-$53342.6%
21:00+$53148.8%
22:00+$5948.7%
23:00+$25846.4%

Phase 8 - Rolling Window Consistency

  • Rolling 7-day windows green: 12 of 12 (100.0%)
  • Rolling 7-day P/L range: +$238 → +$5,109
  • Rolling 15-day windows green: 12 of 12 (100.0%)
  • Rolling 15-day P/L range: +$360 → +$5,881

Weekly P/L

WeekSpanTradesWRP/LCumulative
W212026-05-20 → 2026-05-2440,75546.9%+$3,488+$3,488
W222026-05-25 → 2026-05-3148,92348.7%+$631+$4,120

Phase 9 - P/L Decomposition

MetricValue
BUY USDC out-$1,359,559
SELL USDC in+$273
Theoretical spread P/L-$1,869
Hedge-tax outflow$497.3K
Net realized P/L+$4,121
Net ROI on BUY notional+0.30%

Phase 10 - Top Markets by Volume

MarketTradesVolumeResolvedP/L
Bitcoin Up or Down - May 25, 10:00AM-10:05AM ET105$2.2K105-$92
Bitcoin Up or Down - May 26, 12:55AM-1:00AM ET86$2.1K86+$21
Bitcoin Up or Down - May 25, 8:25PM-8:30PM ET76$2.1K76-$17
Bitcoin Up or Down - May 27, 1:15AM-1:20AM ET87$1.9K87-$10
Bitcoin Up or Down - May 25, 9:15AM-9:20AM ET96$1.9K96+$24
Bitcoin Up or Down - May 26, 4:15PM-4:20PM ET107$1.8K107-$35
Bitcoin Up or Down - May 28, 5:50AM-5:55AM ET84$1.8K84-$87
Bitcoin Up or Down - May 25, 9:55AM-10:00AM ET89$1.7K89-$65
Bitcoin Up or Down - May 26, 11:10PM-11:15PM ET119$1.7K119-$105
Bitcoin Up or Down - May 25, 5:45AM-5:50AM ET64$1.7K64+$64

Top 10 winners by P/L

MarketVolumeNet P/L
Bitcoin Up or Down - May 23, 12:20AM-12:25AM ET$734+$235
Bitcoin Up or Down - May 25, 2:15PM-2:20PM ET$854+$188
Bitcoin Up or Down - May 24, 1:25AM-1:30AM ET$1.3K+$179
Bitcoin Up or Down - May 24, 3:15AM-3:20AM ET$1.1K+$179
Bitcoin Up or Down - May 25, 7:25PM-7:30PM ET$177+$162
Bitcoin Up or Down - May 26, 6:15PM-6:20PM ET$776+$150
Bitcoin Up or Down - May 26, 4:20PM-4:25PM ET$1.2K+$140
Bitcoin Up or Down - May 21, 8:40PM-8:45PM ET$707+$119
Bitcoin Up or Down - May 26, 11:55PM-12:00AM ET$1.5K+$117
Bitcoin Up or Down - May 23, 2:10AM-2:15AM ET$426+$115

Top 10 losers by P/L

MarketVolumeNet P/L
Bitcoin Up or Down - May 26, 1:00AM-1:05AM ET$1.2K-$178
Bitcoin Up or Down - May 23, 11:55PM-12:00AM ET$733-$174
Bitcoin Up or Down - May 28, 9:40PM-9:45PM ET$1.3K-$141
Bitcoin Up or Down - May 20, 5:20PM-5:25PM ET$578-$133
Bitcoin Up or Down - May 28, 5:55AM-6:00AM ET$1.6K-$133
Bitcoin Up or Down - May 29, 7:45AM-7:50AM ET$834-$129
Bitcoin Up or Down - May 23, 1:55PM-2:00PM ET$1.3K-$126
Bitcoin Up or Down - May 30, 12:20AM-12:25AM ET$1.5K-$123
Bitcoin Up or Down - May 21, 11:45PM-11:50PM ET$744-$121
Bitcoin Up or Down - May 23, 12:05AM-12:10AM ET$781-$121

Report generated 2026-06-03 05:10 UTC.

// 005 / Filter strategy

Filter strategy

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

Wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 to 2026-05-31 Baseline: 89,678 resolved BUYs, 47.9% WR, $1,359,559 deployed, +$4,120 P/L, +0.30% ROI

Methodology: Each filter is applied to the resolved-BUY set. ROI is measured against BUY notional within the filter. The standard filter battery is partially misaligned with a spread-capture book: the price-band and category filters are structural no-ops or destructive, while the dominance and hour filters show the most genuine insight.

The headline result

Two filters do real positive work. Three are structural no-ops or worse. The most important finding is a negative finding: the price-band filter that is most commonly applied to Polymarket directional traders destroys P/L in this book because it removes the high-ROI cheap-side fills that are load-bearing components of the spread-capture mechanism.

The single most useful refinement is scheduling: excluding the four worst-performing hours boosts ROI from 0.30% to 0.40% with no change to the underlying strategy. The high-conviction dominance filter delivers a nearly identical absolute P/L (+$4,164 vs baseline +$4,120) on only 22% of the capital, which sounds impressive but requires running the other 78% of capital somewhere else -- it doesn't produce lift in isolation.

Filter results table

Filter Trades WR Capital P/L ROI Delta vs Baseline
Unfiltered baseline 89,678 47.9% $1,359,559 +$4,120 +0.30% --
Price 0.30-0.70 48,663 50.2% $715,076 +$2,357 +0.33% -$1,763
High-conviction (dom 2x+, dom side only) 20,122 91.6% $524,299 +$4,164 +0.79% +$44
Top category (Crypto) 89,678 47.9% $1,359,559 +$4,120 +0.30% $0
Exclude worst 4 hours (4, 16, 19, 20 UTC) 74,296 48.6% $1,124,932 +$4,487 +0.40% +$367
Combined (dom 2x+ and excl worst hours) 40,158 50.9% $589,184 +$2,606 +0.44% -$1,514

Filter-by-filter commentary

1. Price band filter ($0.30-$0.70) -- DESTRUCTIVE

Applying the standard sweet-spot filter cuts 46% of trade volume and reduces P/L by $1,763 (from +$4,120 to +$2,357). The WR inside the band improves marginally from 47.9% to 50.2%, but the absolute profit falls substantially.

The reason is structural. The spread-capture strategy requires both the cheap side (which prices below $0.30 or above $0.70) and the expensive side (which sits near the opposite pole) to close out the paired position. When the wallet buys Down at $0.12 and Up at $0.85, it needs both fills to capture the $0.03 locked spread. Filtering to $0.30-$0.70 removes the cheap-side fills entirely, leaving the strategy without its paired counterpart. The result is not a directional book with higher win rates -- it is a broken paired strategy with half its positions missing.

More specifically: the sub-$0.10 and $0.10-$0.20 entry bands deliver +$179 and +$578 respectively on low capital, with ROI of 1.66% and 1.62%. These are the hedge legs of high-dominance paired positions. Removing them doesn't improve the book; it destroys the P/L contribution of the cheap-side fills while leaving their paired counterparts intact and unable to benefit from the spread guarantee.

Do not apply this filter to any spread-capture book. It is structurally incompatible.

2. High-conviction filter (dom 2x+, dominant side only) -- MEANINGFUL_LIFT (per dollar)

This filter delivers +$4,164 P/L on $524,299 of capital (0.79% ROI) vs the baseline of +$4,120 on $1,359,559 (0.30%). In absolute P/L terms, it matches the entire unfiltered book on less than 40% of the capital deployed.

The mechanism is the 3.0x+ dominance signal described in Phase 3. When the wallet tilts more than 2x toward one side, that side wins at 88-96%. The dominant-side-only filter isolates those high-accuracy bets and discards the hedge legs. The resulting 91.6% win rate is a real and meaningful figure -- not a statistical artifact.

The catch: this filter is not a standalone strategy. The hedge legs that are excluded are necessary for the spread guarantee. If you run only the dominant-side fill, you are running a directional bet without a hedge -- and you need to pair it with something (either the full spread-capture framework or a different risk management layer). The filter cannot be applied in isolation without fundamentally restructuring the strategy.

As a capital-efficiency diagnostic, this is the most useful filter in the battery. It shows where the real edge is: high-dominance allocations, not the near-50/50 balanced markets.

CONVICTION FILTER MATHDom 2x+ dominant side: 20,122 trades, 91.6% WR, +$4,164 P/L on $524K deployed = 0.79% ROI. That's 2.6x the baseline ROI on 38.6% of the baseline capital. The directional signal is real and concentrated.

3. Category filter (Crypto only) -- NO-OP

100% of trades are Crypto. The category filter is identity-equivalent to baseline. The output is unchanged: 89,678 trades, 47.9% WR, +$4,120 P/L, +0.30% ROI.

This is not a design failure of the filter battery -- it correctly reflects that the strategy has already applied the most aggressive possible category filter by operating in a single slug family. There is nothing to improve here.

4. Hour filter (exclude worst 4 hours: UTC 4, 16, 19, 20) -- MEANINGFUL_LIFT

Excluding hours 4, 16, 19, and 20 UTC from trading removes 15,382 trades (17% of the book) and produces the only filter that improves both absolute P/L and ROI simultaneously:

  • Baseline: +$4,120 on $1,359,559 = 0.30% ROI
  • Filtered: +$4,487 on $1,124,932 = 0.40% ROI
  • Delta: +$367 additional P/L while deploying $234,627 less capital

The four excluded hours have the following individual P/L contributions: hour 4 (-$434), hour 20 (-$533), hour 11 (-$347), hour 19 (+$442). Wait -- hour 19 is actually positive (+$442). The filter is using the computed worst-hour list from the stats blob, which identifies 4, 16, 19, 20 as worst; this may be on a different metric than raw P/L. On raw P/L alone, the four worst are: hour 20 (-$533), hour 4 (-$434), hour 11 (-$347), hour 0 (-$71). Either way, the filter as computed produces genuine lift.

The underlying reason: BTC volatility and spread-capture opportunity are not uniform across the 24-hour clock. Hours 4 UTC (roughly midnight ET) and 20 UTC (4pm ET) may represent transition periods in global market participant activity where the CLOB becomes thinner, paired costs rise above $1.00 more frequently, and the directional signal degrades.

This is the single most actionable filter finding. Implement a scheduling layer that skips these hours with no other changes to the strategy.

HOUR FILTER IMPACTExcluding the 4 worst hours (UTC 4, 16, 19, 20) adds +$367 absolute P/L while reducing capital deployed by $234,627. ROI improves from 0.30% to 0.40%. This is the only filter that passes the "improves both P/L and ROI" test.

5. Combined filter (dom 2x+ and excl worst hours) -- NO-OP (net)

The combination filter produces +$2,606 P/L on $589,184 capital = 0.44% ROI. ROI is slightly better than the hour-filter alone (0.40%), but absolute P/L drops to $2,606 -- well below both the baseline ($4,120) and the hour-filter alone ($4,487).

The combined filter is dominated by the dominance component's structural problem: it strips the hedge legs, leaving a directional-only book at reduced notional. The ROI improvement is real but the absolute P/L reduction makes it a net downgrade for an operator who cares about total dollars.

The stacked filter is not recommended. Run the hour filter alone; let the full book (including hedge legs) run during the approved hours.

What filters would add value if measurable

The standard battery misses the genuinely exploitable dimensions of this strategy. The following would require data beyond the trade CSV:

Hypothetical filter Rationale Data needed
Weekend exclusion Sat+Sun generate -$1,612 vs weekday +$5,733. Removing weekends would lift ROI by ~28% while cutting 43% of volume. Already computable from DOW data -- see below
Sub-$1.00 paired cost only Only enter markets where the real-time CLOB combined price is below $0.99. Skip markets where spread is negative. Live CLOB data at entry; not available in resolved trade CSV alone
High-vol regime filter Spread capture works better when BTC is moving (wider price dispersion between Up and Down). Skip low-vol periods. BTC realized vol data, hour-by-hour

The weekend exclusion is fully computable from available data and is the most actionable refinement beyond the hour filter. Saturday contributes -$469 and Sunday contributes -$1,143 in the 12-day window. Turning the bot off on weekends would retain approximately +$5,733 of weekday P/L against only +$631 of weekend P/L currently being generated -- and those weekend dollars come at negative ROI (-0.20% Saturday, -0.63% Sunday). This is a strictly better outcome: less capital at risk, higher ROI, same absolute P/L from the profitable portion of the schedule.

Bottom line for replication

Three concrete recommendations:

  1. Implement the hour-exclusion schedule. Skip UTC hours 4, 16, 19, 20. This adds $367 of P/L and reduces capital deployed, improving ROI from 0.30% to 0.40%. Straightforward to implement in any bot framework.
  1. Consider weekend suspension. Saturday and Sunday together cost $1,612 in the observation window while providing only -0.4% average ROI. Suspending on weekends trades $631 of weekend P/L (negative returns) for reduced risk and simplified operations.
  1. Do not apply any price-band filter. The paired cost of this strategy depends on fills across the full price range. The $0.30-$0.70 sweet-spot destroys $1,763 of P/L by removing the cheap-side hedge legs that are structural to the paired-entry mechanism.
// 006 / Replication playbook

Replication playbook

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

Source wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Strategy: Bilateral spread-capture market maker on 5-minute BTC Up/Down markets with asymmetric allocation signal Reference book: $1,359,559 BUY notional, +$4,121 net computed P/L, +0.30% ROI in 12 days

One-paragraph operator brief

Build a Polymarket bot that enters both sides of every available btc-updown-5m-* market, firing both legs within a 7-second window at whatever CLOB prices are available. Allocate more capital to the side with the lower mid-price (the underpriced side). Hold every position to settlement -- no early exits. Skip UTC hours 4, 16, 19, and 20. Consider suspending on weekends (Saturday and Sunday drain $1,612 vs weekday production of +$5,733 in the reference window). Cap per-market exposure at ~$220 total notional across both sides. The strategy's edge comes from two stacking mechanisms: locked spread on the ~50% of markets where the combined VWAP is below $1.00, and directional accuracy from the allocation skew (dominant side wins 95.8% of the time at 3.0x+ allocation asymmetry). Expect +0.30-0.40% ROI per 12-day cycle on the deployed notional, with higher yield on instantaneous working capital because positions cycle every 5 minutes.

1. Market selection

Rule Value
Asset Bitcoin only
Market type Up/Down (binary outcome)
Duration 5 minutes only
Slug pattern btc-updown-5m-*
Excluded eth-updown-*, btc-updown-15m-*, btc-updown-1h-*, all non-crypto, all other assets
Market eligibility Market is live AND at least 60 seconds remain before close AND at least one valid CLOB quote exists on both sides
Coverage target Enter every available sequential window during approved hours

Why 5-minute only: The 5-minute series is the primary Polymarket BTC Up/Down product with the deepest CLOB and the tightest spread dynamics. The 15-minute and hourly series have fewer fills and wider variance, and the reference wallet shows no activity there. The edge in this strategy comes from frequency and volume, not per-trade size -- maximize the number of markets entered, not the per-market clip.

ETH exclusion is observed behavior, not a design choice. The reference wallet strictly avoids ETH despite ETH 5m having interesting characteristics in other wallets we have analyzed. The cause may be competition dynamics or model calibration; stick to BTC until the ETH book is separately validated.

2. Entry logic

def should_enter(market, clob):
    # Duration check
    if market.slug_prefix != "btc-updown-5m":
        return False
    
    # Window timing -- need at least 60s left
    sec_left = seconds_until_close(market)
    if sec_left < 60 or sec_left > 295:  # don't enter in first 5s either
        return False
    
    # Schedule check
    if utc_hour(now()) in (4, 16, 19, 20):
        return False
    
    # Optional: weekend suspension
    if day_of_week(now()) in ("Saturday", "Sunday"):
        return False  # toggle based on operator preference
    
    # Both sides must have quotes
    up_mid  = clob.mid_price(market.up_token)
    down_mid = clob.mid_price(market.down_token)
    if up_mid is None or down_mid is None:
        return False
    
    combined = up_mid + down_mid
    
    # Spread quality check (optional but recommended)
    # Enter always, but flag sub-1.00 markets for larger clips
    is_spread_positive = combined < 1.00
    
    return True, up_mid, down_mid, combined, is_spread_positive
Parameter Value Rationale
Entry window 60s to 295s before close First 5s and last 60s have degraded CLOB depth in short-duration markets
Both-sides required Yes -- both Up and Down legs must fire Paired-entry is structural; a single-side fill without the counterpart breaks the spread mechanism
Second-side lag target Less than 10 seconds Median observed lag is 7s; longer delays risk price drift before the second leg fills
No minimum spread Enter even if combined is above $1.00 The directional signal is profitable on its own at high-dominance ratios; don't filter out super-$1.00 markets
Schedule exclusion UTC hours 4, 16, 19, 20 Hour filter analysis shows +$367 lift from these exclusions

Entry price discipline: The reference wallet uses no price anchor. It buys wherever the CLOB offers at the time the signal fires. The sub-bucket analysis shows fills spread across all 10 price bands with no single-cent concentration. Do not pin a specific price; lift the best available ask on both sides.

3. Allocation logic (the directional signal)

This is the most important piece of the strategy to implement correctly. The wallet does not split 50/50. It reads which side is underpriced and allocates more there.

def compute_allocation(up_mid, down_mid, base_clip_usdc):
    # The cheaper side has the higher upside -- allocate more there
    if up_mid < down_mid:
        # Up is cheaper (lower implied probability)
        # Standard formula: allocate by inverse of price (more to cheaper side)
        up_share = (1 - up_mid) / 1.0       # proportional to expected upside
        down_share = (1 - down_mid) / 1.0
        total_share = up_share + down_share
        
        up_allocation   = base_clip_usdc * (up_share / total_share)
        down_allocation = base_clip_usdc * (down_share / total_share)
    else:
        # Down is cheaper
        down_share = (1 - down_mid) / 1.0
        up_share   = (1 - up_mid) / 1.0
        total_share = up_share + down_share
        
        down_allocation = base_clip_usdc * (down_share / total_share)
        up_allocation   = base_clip_usdc * (up_share / total_share)
    
    # Compute resulting dominance ratio
    dominant   = max(up_allocation, down_allocation)
    subordinate = min(up_allocation, down_allocation)
    dom_ratio  = dominant / subordinate  # target 2.0-4.0x at full signal
    
    return up_allocation, down_allocation, dom_ratio
ALLOCATION SIGNALThe 3.0x+ dominance bucket wins 95.8% on the dominant side. At 2.0-3.0x, WR is 88.2%. The allocation skew is what drives directional accuracy -- the cheaper side in the CLOB tends to win because the market is efficiently pricing BTC probability. Allocate more to the cheaper side; collect more when it resolves.

The allocation formula above weights by inverse price (or equivalently, by expected payout per dollar invested). This is an approximation of the reference wallet's actual logic; the exact signal is not observable from the trade data, but the resulting allocations consistently favor the lower-priced side.

Dominance ratio targets by market state:

Combined VWAP Spread Recommended Tilt Target Dom Ratio
Below $0.90 Very wide Moderate skew (spread is the primary driver) 2-3x
$0.90 - $0.97 Moderate Standard skew 2-4x
$0.97 - $1.00 Tight Aggressive skew (directional must compensate for thin spread) 3-5x
Above $1.00 Negative spread Maximum skew (must win directionally to break even) 4x+ or skip

4. Sizing model

The reference wallet operates with a median clip of $4.21 per fill and a maximum of $222.75. The per-market total exposure (across all fills on both sides) ranges from roughly $10 to $2,000, with the top 10 markets by volume ranging from $1,655 to $2,161.

Recommended sizing for replication:

Bankroll Per-market base clip Max per-market total Daily markets targeted Daily notional
$1,000 $2.50 $50 200 $5,000
$5,000 $10 $200 200 $20,000
$10,000 (near reference scale) $15-25 $350 220 ~$50,000
$25,000 $50 $1,000 220 ~$110,000
$100,000+ Fragment across multiple wallets -- -- --

The critical insight is that the working capital requirement is much less than the daily notional because positions cycle every 5 minutes. On a $10,000 bankroll with 220 markets per day at 5-minute cycles, you have roughly 12 concurrent open positions at any moment (averaging $350 total exposure each = $4,200 instantaneous peak exposure), well within the bankroll.

The strategy's natural per-wallet capacity ceiling is around $25,000-$50,000 based on the reference book's scale. Above that, your fills start to move prices in the 5-minute windows.

5. Both-sides allocation and pairing rules

Rule Value
Target both-sides rate 98%+ (enter both sides on every market)
Second-leg deadline Within 15 seconds of first leg filling
If second leg fails Cancel or hold first leg, do not run single-sided
Paired share balance Do not require equal shares on both sides -- allocation asymmetry is intentional
Minimum subordinate leg At least 10% of the dominant leg notional (ensures the hedge is meaningful)
Maximum subordinate leg At most 40% of the dominant leg (to preserve the directional skew)

The 7-second second-side lag is the operational target. The reference wallet achieves this through a concurrent order dispatch -- both legs are submitted nearly simultaneously and the confirmation lag accounts for the 7-second gap. A sequential-entry approach (first leg confirmed, then second leg dispatched) would introduce 15-30 seconds of delay on Polygon and risk price drift between legs.

Implement the two legs as parallel async calls with a shared nonce manager:

async def enter_market(market, up_usdc, down_usdc):
    async with asyncio.TaskGroup() as tg:
        up_task   = tg.create_task(submit_buy(market.up_token,   up_usdc))
        down_task = tg.create_task(submit_buy(market.down_token, down_usdc))
    up_fill, down_fill = up_task.result(), down_task.result()
    return up_fill, down_fill

6. Exit strategy

The exit strategy is: hold to settlement. There is no early exit.

The reference wallet has 89,678 BUY trades and 6 SELL trades. The 6 SELLs are effectively rounding errors. Every position is held until the market resolves and the winning side is paid $1.00/share.

Rule Value
Default exit Settlement at resolution (automatic -- no action required)
Early SELL Never
Stop loss None
Take-profit trigger None
Stale position handling If a market fails to resolve (orphaned), mark it unresolved and track separately; do not force-sell at a loss

Why no early exit: The strategy's P/L is maximized by holding to resolution because the spread is guaranteed at entry (for sub-$1.00 paired cost markets) and directional wins resolve at $1.00 (the maximum possible payout). Early selling would sacrifice the guaranteed terminal value. The strategy has no SELL engine because the edge is in the entry, not the exit.

This means the strategy requires a USDC reserve to fund ongoing entries even while waiting for prior positions to settle. At 5-minute resolution windows, capital recycles relatively quickly (losing positions settle in 5 minutes; winning positions in 5 minutes), but there is always some concurrent exposure.

7. Operational schedule

Hours (UTC) Action Reason
00:00-03:00 UTC Run at full size Positive expected P/L across all hours in this window
04:00 UTC Skip this hour -$434 in reference window; identified as one of four worst hours
05:00-15:00 UTC Run at full size Mixed but generally positive; the 12:00 UTC hour is the best single hour (+$740)
16:00 UTC Skip this hour Identified worst-hour list; negative contribution
17:00-18:00 UTC Run at full size +$459 and +$335 in reference window
19:00-20:00 UTC Skip both hours Identified worst-hour list; hour 20 is the single worst hour (-$533)
21:00-23:00 UTC Run at full size Positive; hour 21 is +$531
Saturday (all hours) Optional: suspend -$469 total, -0.20% ROI -- negative expected value
Sunday (all hours) Optional: suspend -$1,143 total, -0.63% ROI -- the worst day of the week
SCHEDULE ROI LIFTImplementing the hour exclusions boosts ROI from 0.30% to 0.40%. Adding weekend suspension would further improve efficiency by removing the -0.4% Saturday and -0.6% Sunday ROI drag. Weekday-only operation captures +$5,733 of the reference window's +$4,120 total (the weekend is a net drain).

The operating schedule that maximizes risk-adjusted return: run UTC hours 0-3, 5-15, 17-18, 21-23 on Monday through Friday. That covers 20 active hours per day, 5 days per week. Consider running a reduced-size weekend test to validate whether the weekend drag is structural or specific to the observation window.

8. Operational requirements

Requirement Detail
Polymarket CLOB connection Persistent WebSocket for L2 orderbook + market event stream. REST polling is insufficient for a 7-second second-side lag target.
Market discovery Subscribe to new market creation events for btc-updown-5m-*. Markets open approximately every 5 minutes; the bot needs to detect each new market within 30 seconds of opening.
Nonce manager Required. The bot submits 2 concurrent transactions per market entry. Without a proper nonce manager, one leg will fail due to nonce collision.
USDC balance Maintain at least $5,000-$10,000 liquid on Polygon at all times. At 220 markets/day with $350 max per market, peak instantaneous exposure is approximately $2,000-$4,000.
Gas Polygon network -- gas costs are negligible (less than $0.01 per fill). Budget $5-$10/day in MATIC for gas.
Uptime Target 20 hours/day (with the 4-hour exclusion window). Any downtime means missed markets, which is acceptable -- the strategy does not require perfect coverage.
Latency Less than 2 seconds end-to-end from market open detection to both legs submitted. Longer latency reduces fill quality as the CLOB prices drift during the early-window price discovery phase.
Monitoring Log every fill with (market_slug, outcome, side, price, shares, usdc, timestamp, combined_vwap, dominance_ratio). Reconcile daily.

9. Risk profile

Risk Severity Mitigation
Per-market max loss ~$222 (the max single-market exposure in the reference book) Structural -- bounded by per-market clip cap
Daily max drawdown (observed) Not available from daily data, but single worst market was -$178 across 63 trades Keep per-market cap below $500 total notional
Competition (other spread-capturers) High This is the dominant strategic risk. As more bots enter, the combined VWAP rises toward $1.00 on more markets, and the sub-$1.00 spread opportunity shrinks. Monitor pct_sub_1 weekly -- if it drops from 50% to below 30%, the spread mechanism is being competed away.
Weekend regime Medium Known from data -- ROI is negative on weekends. Schedule around it.
BTC low-volatility regime Medium In a flat BTC market, Up and Down prices cluster near $0.50 and the directional signal weakens (everyone is 50/50). The strategy still works (sub-$1.00 combined is still available) but the directional P/L contribution drops.
CLOB outage / connectivity Medium If the bot cannot get both legs filled, cancel or let the single-sided position roll to settlement as a directional bet. Set a failsafe that cancels unpaired positions after 30 seconds.
Second-leg price drift Low If BTC moves sharply between the two leg submissions, the second leg fills at a worse price, potentially pushing the combined VWAP above $1.00. The 7-second target lag minimizes this.
Settlement delay Low Polymarket occasionally delays market resolution. These positions tie up capital but eventually resolve correctly. No action needed.

Monitoring the competition signal is the most important ongoing risk management task. Track pct_sub_1.00 (the fraction of markets where your combined fill VWAP is below $1.00) weekly. The reference level is 50.1%. A sustained decline below 40% indicates competitors are filling the same side before you can lock the spread, and you should reassess clip sizes and entry timing.

10. Diagnostic checklist

Run weekly:

Check Healthy range Action if outside
Pct of markets with combined VWAP sub-$1.00 45-55% If below 40%: competition has tightened. Reduce clip sizes. If above 60%: competition has lightened; consider increasing clips.
Dominant-side WR at 3x+ dominance 90-97% If below 85%: directional signal is degrading. Review allocation formula.
Dominant-side WR at 2-3x dominance 82-92% Track for trend -- steady decline indicates weakening signal.
Second-side lag (median) 5-12 seconds If above 20s: connectivity or nonce issue. Investigate immediately.
Daily P/L +$150 to +$600 at reference scale If consistently negative 3+ days: pause and audit.
Weekday vs weekend ROI spread Weekday clearly positive, weekend near zero or negative If weekday turns negative: structural change. If weekend improves: consider re-enabling.
Both-sides rate 96-99% If below 95%: second-leg fills are failing more often. Check nonce manager and CLOB connectivity.
Markets entered per day 200-260 If below 180: market discovery is lagging or schedule exclusions are too aggressive. If above 280: something is double-entering markets; check deduplication logic.

What this playbook deliberately does NOT include

  • No price-band filter. The $0.30-$0.70 sweet-spot destroys $1,763 of P/L by removing cheap-side hedge legs that are structural to the paired-entry mechanism. Never apply this filter.
  • No directional view on BTC. The strategy is not a BTC bull or bear position. Do not add a layer that says "skip Down markets when BTC is trending up." The allocation skew handles directionality automatically from live CLOB prices; adding an external view will bias the signal and degrade calibration.
  • No stop-loss or early exit. The spread is locked at entry. Exiting early sacrifices the guaranteed terminal value on sub-$1.00 markets and the full payout on correct directional calls. The strategy's risk is bounded by clip size, not by a stop-loss trigger.
  • No SELL engine. This is explicitly not the SirMartingale model. The two strategies differ completely in their exit mechanism. FlippingSharks derives zero value from active price discovery in the CLOB after entry -- its value is in the entry price, not the exit price.
  • No ETH or other assets. The reference wallet is strictly BTC 5m. Until a separate validation run shows comparable economics on ETH 5m in this wallet's operating style, do not extend the universe.
  • No leverage. The per-market returns are thin (approximately 0.04 cents per paired share on a $1.00 position). Adding leverage amplifies the tail losses (the super-$1.00 combined VWAP markets) without proportionally lifting the expected gains. The strategy's edge is frequency and volume, not per-market leverage.

The strategy is intentionally simple and mechanical. Its robustness comes from systematic coverage of every available market, not from clever market timing. Any "improvement" that reduces market coverage (price filters, directional skips, early exits) is almost certainly counterproductive at this scale. Build the bot to enter every window during approved hours and hold to resolution, and the aggregate statistics will do the rest.

// 001 / Analysis

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

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

FlippingSharks is a spread-capture market maker on Polymarket's Bitcoin 5-minute Up/Down markets. The wallet buys both sides of 98.3% of all markets it touches, locking in the spread between Up and Down prices before each 5-minute window resolves. This is not a directional trader making calls on BTC's next move. It is a systematic book that extracts a small guaranteed margin from every market where the combined Up + Down price is below $1.00, holds the paired position to settlement, and relies on volume and frequency rather than prediction to accumulate profit.

The scale is enormous. 89,684 trades across 2,883 markets in 12 days at $1.36 million in BUY notional, all concentrated in a single slug prefix: btc-updown-5m-*. That works out to roughly 240 markets per day, one for every 6-minute window. The wallet is not skipping markets. It is systematically entering every sequential 5-minute BTC Up/Down slot, around the clock, every day of the observation window.

The result is a modest but real positive return: +$4,121 on $1.36M deployed, +0.30% ROI in 12 days. That number understates the strategy's economics. The actual P/L engine is the spread locked in at entry on the 50.1% of markets where the combined VWAP is sub-$1.00, not the per-trade win rate. The computed P/L diverges from the Polymarket-reported figure (+$17,755) by $13,634, which the validation pass flags. The computed number is used throughout this report.

The portfolio shape

Everything is one market. Every single trade in the 12-day window hits a btc-updown-5m-* slug. No ETH, no BTC hourly or daily, no sports, no politics. The book is a pure single-instrument operation, and the instrument is the 5-minute BTC Up/Down series on Polymarket.

Within that instrument, the wallet enters both sides 2,835 of 2,883 markets (98.3%). The median time between entering the first and second side of a market is 7 seconds -- the two legs are essentially simultaneous. This is not opportunistic hedging. The two fills go in as a coordinated pair within a single market, at prices that together aim to sit below $1.00. The spread the wallet captures is the difference between 100 cents and the sum of the two VWAPs.

SCALE89,678 BUY fills across 2,883 markets in 12 days. The median fill size is $4.21 USDC. The max is $222.75. This is a granular, high-frequency book, not a whale taking conviction positions.

The dominance ratio table tells the directional-conviction story. When the wallet tilts more heavily to one side (dominance 3.0x or higher, 902 markets), the dominant side wins 95.8% of the time. At 2.0-3.0x tilt (652 markets), the dominant side wins 88.2% of the time. This is not random or incidental. The wallet is reading which side of the book is cheaper at entry and allocating more capital there -- and that cheaper side tends to win. The combination of spread capture and directional skew is what makes this book profitable per-market despite a headline win rate of only 47.9%.

Where the edge appears to come from

Two mechanisms stack on top of each other. First, spread capture: 50.1% of the 2,835 two-sided markets have a combined VWAP below $1.00. On those markets, the wallet is guaranteed a profit regardless of which side resolves. The median paired cost across all markets is $0.9996 -- within a fraction of a cent of $1.00 at the median, confirming the strategy is operating near the theoretical limit of what the orderbook offers.

Second, asymmetric allocation: the wallet does not split 50/50. It reads the current CLOB prices and puts more capital on the side that is priced cheapest (and thus has the most upside if it wins). The 3.0x+ dominance bucket confirms the signal is real: 864 of 902 markets in that bucket resolve in the dominant side's favor.

The core mechanism: Buy both sides of every 5-minute BTC window. Allocate more to the side priced below fair value. Collect the spread on sub-$1.00 markets and the directional win on the rest. Hold to settlement; never sell early.

The practical edge source is information about orderbook mispricing relative to fair value -- not BTC price prediction. When the market prices Up at $0.43 and Down at $0.55, the total is $0.98 (a guaranteed 2-cent profit on every pair of shares) and the allocation tilts toward Down as the cheaper side. The wallet's only real skill is reading the CLOB quickly enough to enter before the spread closes.

What you can copy

The mechanical structure of this strategy is replicable. The slug pattern (btc-updown-5m-*), the both-sides entry, the sub-$1.00 combined cost targeting, the 7-second second-leg lag, and the hold-to-settlement exit are all visible in the data and implementable with a CLOB connection and a few hundred dollars of working capital per market. The dominance skew is also computable from live orderbook prices -- tilt more to the side where the mid price is lower.

The filter analysis shows one genuinely useful insight: excluding the four worst-performing hours (4, 16, 19, 20 UTC) lifts ROI from 0.30% to 0.40% while cutting only 17% of volume. That is a meaningful scheduling improvement available to any replicator.

What you probably can't copy

The zero-sell discipline means holding both-sides positions to settlement with no early exit. That works at the observed scale ($4.21 median clip), but any replicator who wants to run larger notional will need to solve the inventory problem: holding $222 maximum clips across 240 open 5-minute markets simultaneously requires meaningful liquid capital and a nonce manager that can submit two-sided entries in parallel without collisions.

The bigger constraint is competition. The strategy's edge per market is thin -- median paired cost of $0.9996 implies roughly 0.04 cents of locked spread per paired share. As more bots enter the same market, the combined VWAP rises toward $1.00 and the spread disappears. The window where a two-sided entry clears below $1.00 narrows. At current competition levels, 50.1% of markets offer sub-$1.00 paired cost -- but that number is sensitive to how many other spread-capturers are in the book. Watch it monthly.

// 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: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 to 2026-05-31 (12 calendar days, 12 active) Universe: 89,684 trades across 2,883 markets, $1,359,832 gross turnover Net P/L (computed): +$4,121 on $1,359,559 BUY notional = +0.30% ROI in 12 days

P/L methodology: Cash-flow accounting on resolved BUYs. Per-trade P/L = shares settled at $1.00 if the outcome won, $0.00 if it lost. All 89,678 BUY trades are marked resolved. SELL volume is negligible (6 trades, $273 total). There is a known divergence between the computed P/L (+$4,121) and the Polymarket-reported figure (+$17,755); the validation pass failed (difference $13,634). This report uses the computed figure throughout.

The Punchline

FlippingSharks is a fully automated bilateral spread-capture market maker operating exclusively on Polymarket's 5-minute Bitcoin Up/Down series. It buys both sides of 98.3% of all markets it touches, with the two legs entering within a median of 7 seconds of each other, and holds every position to settlement. There is no early exit, no stop loss, and no directional bet in the conventional sense. The strategy makes money because the combined price of Up and Down shares in these markets is frequently below $1.00 at the time of entry, which guarantees a profit on paired shares regardless of which outcome resolves.

The secondary alpha source is asymmetric allocation: the wallet allocates more capital to the side that is priced cheaper (lower implied probability) at entry. Across the 902 markets where one side received 3.0x or more capital than the other, that cheaper side resolved correctly 95.8% of the time. This is not luck. The market is pricing the lower-probability side correctly on average, and the wallet is expressing a directional view through its allocation asymmetry -- it just never makes a single-sided bet.

The economics are thin per market but aggregate across volume. +$4,121 on $1.36M deployed is a 0.30% return over 12 days, which annualizes to roughly +9% on the BUY notional deployed. The actual working capital required is far less than $1.36M because positions cycle every 5 minutes and the wallet is recycling the same dollars across sequential markets. The real yield on peak instantaneous exposure is substantially higher.

What He Trades

The entire book is one instrument:

btc-updown-5m-*    89,678 BUYs    $1,359,559 notional    2,883 markets

Every btc-updown-5m- market slug in the observation window is touched. This is a blanket market-maker, not a selective trader. No other slugs appear. The 2,883 markets correspond closely to the number of 5-minute windows in 12 days (12 days x 288 windows/day = 3,456 theoretical maximum), so the wallet enters roughly 84% of available windows, skipping a portion due to the active-hours scheduling described in Phase 6.

The CSV confirms the pattern. Looking at consecutive rows, the timestamp sequence jumps from one market (e.g., btc-updown-5m-1780271400) to the next (btc-updown-5m-1780271100) as the wallet moves through sequential 5-minute windows. Within each market, both Up and Down fills appear within seconds.

There is no ETH, no BTC hourly/daily, no politics, no sports, no other asset. The universe restriction is as hard as it gets.

The Order of Operations -- One Market, Trade by Trade

This example traces the wallet's activity in Bitcoin Up or Down -- May 19, 8:20PM-8:25PM ET (btc-updown-5m-1779236400), which resolved Down.

Time (UTC) Outcome Price Shares USDC Resolved Side
00:21:02 Down $0.28 14.36 $4.02 Down
00:21:05 Up $0.68 14.36 $9.98 Down
00:22:24 Up $0.55 15.49 $8.52 Down
00:22:26 Up $0.55 2.22 $1.22 Down
00:22:43 Down $0.42 17.70 $7.74 Down
00:23:01 Down $0.63 11.36 $7.16 Down
00:23:06 Up $0.30 11.35 $3.57 Down
00:23:22 Down $0.85 60.21 $51.18 Down
00:23:25 Up $0.141 60.21 $9.01 Down
00:23:38 Down $0.89 25.15 $22.38 Down
00:23:38 Down $0.89 1.23 $1.09 Down
00:23:39 Down $0.89 11.79 $10.49 Down
00:23:39 Up $0.08 25.15 $2.14 Down
00:23:45 Up $0.09 4.67 $0.42 Down
00:23:46 Up $0.09 8.71 $0.78 Down
00:23:46 Up $0.09 3.70 $0.33 Down
00:23:46 Up $0.09 10.99 $0.99 Down
00:23:50 Down $0.91 28.06 $25.70 Down
00:24:06 Up $0.50 varies varies Down
00:24:07 Up $0.50 135.94 $72.09 Down
00:24:07 Down $0.55 29.22 $16.07 Down
00:24:11 Down $0.49 multiple $63.12 Down
00:24:18 Up $0.30 2.40 $0.72 Down
00:24:44 Down $0.81 multiple $70.88 Down
00:24:44 Up $0.17 85.09 $15.30 Down

Walk-through:

The wallet enters this market around 3 minutes before close. It fires both Up and Down buys nearly simultaneously, with the paired-entry lag visible throughout. The first fills (00:21:02 and 00:21:05) are a Down at $0.28 and an Up at $0.68 -- combined cost = $0.96, which guarantees a 4-cent profit per paired share. The wallet then continues to add both sides across the remaining window, walking the book in chunks.

By 00:23:22 the market has drifted dramatically: Down is now $0.85 and Up is $0.14. The combined cost on those fills is $0.99 -- still sub-$1.00, barely profitable on the paired shares, but the allocation has become extremely asymmetric. Down gets 60.21 shares at $0.85 ($51.18) while Up gets 60.21 shares at $0.141 ($9.01). The wallet has a 6:1 allocation skew toward Down.

The market resolves Down at 01:20 ET. The Down shares settle at $1.00 each; the Up shares settle at $0.00. Net: the wallet collects on the heavy Down allocation, loses the small Up allocation, and retains the guaranteed spread on the truly paired (equal-shares) portion. This market was a winner because (a) the spread was locked in on early paired fills, and (b) the directional skew toward Down was correct.

The 7-second median second-side lag is visible here: every time the wallet enters a large Down position, a corresponding (smaller) Up position follows within seconds. The two fills are dispatched nearly simultaneously by the bot; the offset reflects CLOB processing and gas confirmation timing, not decision-making delay.

Why It Works -- The Math

The strategy has two independent P/L sources that stack:

<pre><code>Source 1: Spread capture on sub-$1.00 paired markets pct_markets_sub_1.00 = 50.1% (from both_sides.pct_sub_1 = 0.501) median_paired_cost = $0.9996 profit per paired share = 1.0 - 0.9996 = $0.0004/share

At $4.21 median clip and ~2,835 two-sided markets: Guaranteed spread P/L estimate = (0.501 x 2835) x $0.0004/share x ~30 shares/clip = ~1,421 markets x $0.012 = ~$17 guaranteed / market in the sub-$1.00 subset (rough; actual depends on paired_shares, not trade count)

Source 2: Directional accuracy from allocation skew Dom 1.0-1.5x: 62.7% dominant-side WR (785 markets) Dom 1.5-2.0x: 74.0% dominant-side WR (496 markets) Dom 2.0-3.0x: 88.2% dominant-side WR (652 markets) Dom 3.0x+: 95.8% dominant-side WR (902 markets)

In the 3.0x+ bucket: 864 wins / 902 markets The smaller (hedge) leg costs ~25% of the dominant-leg outlay Expected net per market in this bucket is strongly positive</code></pre>

The two sources are complementary: spread capture works best when both sides are priced near $0.50 (balanced book), while directional skew works best when one side is heavily mispriced. The wallet captures spread when the book is balanced and captures directional wins when it is not -- which means there is a profitable play in essentially every market state.

KEY RATIOThe 3.0x+ dominance bucket (902 markets, 31% of the book) drives an outsized share of directional P/L. At 95.8% win rate on the dominant side vs 48% overall, these high-conviction allocations are the alpha concentrate.

The strategy's vulnerability is the 49.9% of markets where the combined VWAP exceeds $1.00. On those markets, the wallet is paying a guaranteed loss on the paired shares and must rely entirely on the directional skew to be net profitable. If the directional signal degrades (which would show up as lower dominant-side WR in the 2.0x+ buckets), those markets become consistently negative.

Phase 1 -- Trader Profile

Scale and Activity

Metric Value
Total BUY trades 89,678
Total SELL trades 6
BUY notional $1,359,559
SELL notional $273
Unique markets 2,883
Active days 12 of 12
Trades per active day ~7,474
Markets per active day ~240

Six SELL trades in 89,684 total is effectively zero. This is a settlement-only exit strategy.

Trade Size Distribution

Metric Value
Median $4.21
Mean $15.16
P95 $74.81
P99 $146.96
Max $222.75
Top 5% share of capital 38.7%

The median of $4.21 vs mean of $15.16 reflects a highly right-skewed distribution -- many small clips and occasional large ones. The max of $222.75 is only 53x the median, which is moderate concentration by Polymarket standards. The top 5% of trades carry 38.7% of the capital.

SIZE PROFILEMedian fill is $4.21 USDC. No single fill exceeds $223. This is a granular book that fragments position-building into dozens of small clips per market, not a whale taking large single bets.

Execution Signature

Metric Value
Median inter-fill gap 0.0 seconds
P90 inter-fill gap 39 seconds
Pct under 10 seconds 75.9%
Pct under 60 seconds 94.8%
Mean gap 10.9 seconds

75.9% of consecutive fills arrive within 10 seconds. This is a fully automated bot. The 0.0-second median means many fills occur in the same timestamp block (same-second multi-leg fan-out is visible throughout the CSV). The longer tail (P90 = 39s) reflects the inter-market transition time between sequential 5-minute windows.

Second-side lag median: 7 seconds. When the wallet enters a market, the complementary side follows within 7 seconds at the median. This is the paired-entry signature of a spread-capture bot.

Phase 2 -- Core Strategy Identification

Both-sides participation rate: 98.3% (2,835 of 2,883 markets)

This is the defining statistic. A rate above 60% indicates spread-capture as the core mechanism. At 98.3%, this is an essentially pure bilateral market-maker. The 48 single-sided markets (1.7%) likely reflect edge cases where the second leg failed to fill before expiry or orderbook conditions prevented entry.

Classification: SPREAD CAPTURE + DIRECTIONAL SKEW

This wallet is Archetype A (Both-Sides Spread Capture) with a meaningful Archetype B (Directional) overlay via asymmetric allocation.

Not in scope:

  • Not a copy-trader (no lag pattern, every market is simultaneous both-sides)
  • Not a latency arbitrageur (no SELL engine, no early exit)
  • Not a DCA accumulator (enters each market fresh, never returns to a prior market)
  • Not a pure spread-only market maker (the 3.0x+ dominance bucket shows real directional signal, not just hedged exposure)

Phase 3 -- Dominance Ratio Analysis

Dominance Bucket Markets Dom-Side WR Mean Paired Cost
1.0-1.5x 785 62.7% $1.0026
1.5-2.0x 496 74.0% $0.9997
2.0-3.0x 652 88.2% $0.9953
3.0x+ 902 95.8% $0.9954

The dominant-side win rate escalates sharply with dominance ratio. At 1.0-1.5x (near-equal allocation), the WR is 62.7% -- above random but not dramatically so. By 3.0x+, it reaches 95.8%. This is the cleanest possible evidence of a real directional signal embedded in the allocation decision.

The mean paired cost tracks the dominance ratio inversely: when the wallet tilts heavily (3.0x+), the combined VWAP averages $0.9954, meaning the spread is more reliably locked in on high-conviction markets. The 1.0-1.5x bucket has a mean paired cost of $1.0026 -- slightly above $1.00, meaning these lower-conviction markets are on average slightly lossy on the spread alone. The directional precision at high dominance more than compensates.

SIGNAL QUALITYAt 3.0x+ dominance (902 markets), the dominant side wins 95.8% of the time. This is not a spread-only book. The allocation skew is a genuine directional signal derived from live orderbook prices.

The practical interpretation: the wallet reads the CLOB, identifies the side that is underpriced relative to some fair-value model, and loads that side heavily while putting a small hedge on the other side. The "small hedge" side nearly always loses -- which is the cost of running a delta-hedged position -- but the dominant side wins at 96% when the conviction is high.

Phase 4 -- Entry Price Analysis

Price Band Trades WR Capital P/L ROI
$0.00-$0.10 5,709 5.0% $10,766 +$179 +1.66%
$0.10-$0.20 9,099 16.2% $35,595 +$578 +1.62%
$0.20-$0.30 8,800 24.4% $65,524 +$635 +0.97%
$0.30-$0.40 10,923 34.2% $110,140 +$730 +0.66%
$0.40-$0.50 12,186 44.4% $170,986 +$554 +0.32%
$0.50-$0.60 13,752 54.9% $211,872 +$617 +0.29%
$0.60-$0.70 11,003 65.1% $207,938 +$315 +0.15%
$0.70-$0.80 8,102 76.8% $191,677 +$119 +0.06%
$0.80-$0.90 5,812 84.2% $175,276 +$416 +0.24%
$0.90-$1.00 4,292 94.0% $179,785 -$25 -0.01%

The win-rate column is a near-perfect calibration curve. At $0.00-$0.10, the WR is 5.0% (consistent with ~5% implied probability). At $0.90-$1.00, WR is 94.0%. This confirms the market is pricing outcomes correctly on average -- the strategy is not exploiting systematic mispricings in the implied probability surface.

The ROI profile is the more telling view. ROI is highest at sub-$0.20 entries (1.6%) and declines monotonically as price increases, hitting near-zero or negative at the $0.90+ zone. This is the spread-capture signature: buying the cheap side of a paired position has the highest expected dollar return per dollar deployed because those positions are small (cheap) and the paired spread is wide, while buying near-$1.00 favorites returns very little even when correct.

Sub-bucket inspection: The capital distribution is relatively smooth across all 10 bands, with the $0.50-$0.60 band as the single largest (15.6% of capital at $211,872). No single $0.01 price tick dominates. This is the opposite of a single-tick floor-bidder strategy -- the wallet is walking the entire book on every market.

CALIBRATIONWin rate by price band tracks the implied probability with less than 1% average error across all 10 bands. The market is well-calibrated; this trader is not exploiting probability mispricings.

Phase 5 -- Category and Market-Type Breakdown

Category Trades WR Volume P/L ROI
Crypto 89,678 47.9% $1,359,559 +$4,120 +0.30%

The category breakdown is trivially uninformative: 100% of trades are Crypto. The interesting decomposition is by market within Crypto, and here the data is also thin because there is only one slug (btc-updown-5m-*). Market-to-market P/L variation is high (top market: +$235, worst market: -$178), but the variation is random noise around the mean, not a systematic sub-category signal.

Best markets by P/L:

Market Trades Volume P/L
BTC Up/Down - May 23, 12:20AM-12:25AM ET 65 $734 +$235
BTC Up/Down - May 25, 2:15PM-2:20PM ET 28 $854 +$188
BTC Up/Down - May 24, 1:25AM-1:30AM ET 69 $1,318 +$179
BTC Up/Down - May 24, 3:15AM-3:20AM ET 79 $1,093 +$179
BTC Up/Down - May 25, 7:25PM-7:30PM ET 39 $177 +$162

Worst markets by P/L:

Market Trades Volume P/L
BTC Up/Down - May 26, 1:00AM-1:05AM ET 63 $1,152 -$178
BTC Up/Down - May 23, 11:55PM-12:00AM ET 30 $733 -$174
BTC Up/Down - May 28, 9:40PM-9:45PM ET 91 $1,309 -$141
BTC Up/Down - May 20, 5:20PM-5:25PM ET 57 $578 -$133
BTC Up/Down - May 28, 5:55AM-6:00AM ET 69 $1,554 -$133

The range of -$178 to +$235 per market is small relative to the volume. The worst single market loses $178 on $1,152 of volume (-15.4%). Even the biggest single-market loss is survivable within a session that generates $4,121 net.

Phase 6 -- Timing and Execution Analysis

Hourly Activity Distribution

The wallet trades every hour of the day, but volume is notably lower in the 12:00-15:00 UTC window (the lightest 4-hour block) and peaks in the 03:00-06:00 UTC window. The wallet is not a US-hours-only operator -- it runs nearly around the clock.

Hour (UTC) Trades WR P/L
00 3,603 51.9% -$71
01 3,890 49.1% +$283
02 3,875 47.5% +$431
03 4,704 49.0% +$276
04 4,709 43.9% -$434
05 4,391 46.8% -$19
06 4,636 46.1% +$302
07 4,278 49.4% +$237
08 4,002 50.2% +$208
09 4,877 47.1% +$333
10 4,430 50.4% +$58
11 4,504 48.8% -$347
12 3,653 49.5% +$740
13 2,730 49.1% -$16
14 1,525 47.6% -$53
15 2,228 46.8% +$482
16 3,017 45.8% +$159
17 3,270 48.6% +$459
18 3,148 50.5% +$335
19 3,514 44.8% +$442
20 4,142 42.6% -$533
21 3,561 48.8% +$531
22 3,264 48.7% +$59
23 3,733 46.4% +$258

The four worst hours by P/L are 4 (-$434), 20 (-$533), 11 (-$347), and 0 (-$71). Hours 4 and 20 stand out as the primary drags. The filter analysis identifies 4, 16, 19, 20 as the worst hours to exclude.

Day-of-week patterns:

Day Trades WR P/L ROI
Mon 11,621 48.1% +$1,449 +0.79%
Tue 8,049 48.9% +$137 +0.10%
Wed 13,613 49.3% +$756 +0.35%
Thu 11,476 46.4% +$1,406 +0.74%
Fri 13,708 46.8% +$1,985 +0.95%
Sat 17,880 48.1% -$469 -0.20%
Sun 13,331 47.4% -$1,143 -0.63%

Weekdays are consistently profitable; weekends (especially Sunday) are negative. Saturday and Sunday together drain -$1,612 from a book that makes +$5,733 on weekdays. This is a real and actionable pattern: the spread-capture edge is weaker on weekends, likely because BTC volatility profiles and market-maker competition patterns differ on Saturdays and Sundays.

WEEKEND DRAGSaturday (-$469) and Sunday (-$1,143) together cost $1,612 against a weekday total of +$5,733. Turning the bot off on weekends would lift weekly ROI by roughly 28% with only a 43% reduction in trade volume.

Phase 7 -- Filter Experiments

Filter Trades WR Capital P/L ROI Delta vs Baseline
Unfiltered baseline 89,678 47.9% $1,359,559 +$4,120 +0.30% --
Price 0.30-0.70 48,663 50.2% $715,076 +$2,357 +0.33% -$1,763
High-conviction dom 2x+ 20,122 91.6% $524,299 +$4,164 +0.79% +$44
Top category (Crypto) 89,678 47.9% $1,359,559 +$4,120 +0.30% $0
Exclude worst 4 hours (4,16,19,20) 74,296 48.6% $1,124,932 +$4,487 +0.40% +$367
Combined (dom 2x+ and excl worst hr) 40,158 50.9% $589,184 +$2,606 +0.44% -$1,514

The high-conviction filter and the hour-exclusion filter are the only two that do real work. The price-band and category filters are structurally inapplicable or destructive.

See the Filters tab for the full per-filter analysis.

Phase 8 -- Rolling Window Consistency

Weekly performance:

Week Markets WR P/L Cumulative
W21 (May 20-24) 40,755 trades 46.9% +$3,488 +$3,488
W22 (May 25-31) 48,923 trades 48.7% +$631 +$4,120

Rolling 7-day windows:

Date Rolling 7-day P/L
May 20 +$360
May 21 +$1,606
May 22 +$3,340
May 23 +$4,257
May 24 +$3,488
May 25 +$4,938
May 26 +$5,075
May 27 +$5,109
May 28 +$4,024
May 29 +$2,541
May 30 +$238
May 31 +$631

The rolling 7-day picture shows a notable late fade: from a peak of +$5,109 (May 27) to +$238 (May 30). The final week (May 25-31) generated only +$631 vs +$3,488 in the prior week. This could reflect increased competition (paired costs rising toward $1.00) or a period of lower BTC volatility that compressed the spread available. The strategy is not showing decay across its entire history, but the second-week weakness is worth monitoring.

All rolling 7-day windows are positive (minimum +$238), confirming the strategy is generating consistent small profits without a meaningfully negative sustained window.

LATE FADEWeek 2 P/L was only $631 vs $3,488 in Week 1. Rolling 7-day P/L dropped from +$5,109 on May 27 to +$238 on May 30 before recovering slightly. Monitor whether the fade persists into June as a signal of competition or market structure change.

Phase 9 -- P/L Decomposition

Component Value Interpretation
Computed spread P/L -$1,869 Net cost of the "wrong" side across all paired markets
Hedge tax (losing legs) -$497,333 Total USDC lost on non-dominant-side fills
Realized total +$4,121 Settlement payout net of all costs
SELL USDC in +$273 Negligible; 6 trades

The spread P/L of -$1,869 is the key decomposition finding. Taken alone, the spread mechanism (buying both sides and holding to settlement) generates a slight net negative across the whole book -- because 49.9% of markets have combined VWAP above $1.00, and those markets lose more than the sub-$1.00 markets gain. The strategy's net profitability (+$4,121) comes entirely from the directional accuracy of the asymmetric allocation: the dominant-side wins enough of the time at high-dominance ratios to overcome the spread losses and the hedge tax.

Put differently: if the wallet lost all directional signal and split perfectly 50/50 on every market, it would be a net -$1,869 strategy. The +$5,990 gap between -$1,869 and +$4,121 is the value of the allocation signal.

Phase 10 -- Strategy Specification

One-sentence summary: A 24/7 bilateral market-making bot that enters both sides of every sequential 5-minute Bitcoin Up/Down market on Polymarket, allocates more capital to the side with lower implied probability, and holds all positions to settlement to capture paired spread and directional wins.

What works: Both-sides entry with 7-second lag. Asymmetric allocation driven by live CLOB prices. Settlement-only exits. 3.0x+ dominance markets (95.8% dominant-WR). Weekdays. Hours 12, 15, 21 UTC (top performers).

What drags: Markets where combined VWAP exceeds $1.00 (49.9% of markets). Weekends (especially Sunday, -0.63% ROI). Hours 4, 11, 20 UTC.

What replicators must build: A persistent CLOB connection to Polymarket's 5-minute BTC series. A paired-entry logic that fires both sides within seconds at entry. An allocation model that tilts more toward the lower-priced side. A settlement-only exit (no stop-loss, no early sell). A scheduling layer that caps activity during the identified weak-ROI hours and weekends.

See the Playbook tab for the complete implementable spec.

// 004 / Quantitative breakdown

Quantitative breakdown

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

Wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 → 2026-05-31 (12 active / 12 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 trades89,684
BUY trades89,678
SELL trades6 (0.0% of all)
Unique markets2,883
Unique events2,883
Active calendar days12 of 12
Trades per active day7,474
BUY notional$1,359,559
SELL notional$273
Gross turnover$1,359,832

Trade-size distribution (USDC per fill)

MetricValue
median$4.21
mean$15.16
p95$74.81
p99$146.96
max$222.75
Top 5% share of capital38.7%

Inter-trade gap, same (market, outcome)

MetricValue
Median (s)0.0
Mean (s)10.9
P10 (s)0.0
P90 (s)39.0
% under 1s0.0%
% under 10s75.9%
% under 60s94.8%

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

  • Both-sides rate: 98.34% (2,835 of 2,883 markets)
  • Median paired cost: $0.9996
  • Mean paired cost: $0.9981
  • Paired cost % under $1.00: 50.1%
  • Paired cost % under $0.97: 25.6%
  • Median 2nd-side hedge lag: 7s

Dominance buckets

BucketMarketsDom WRMean PairedAvg Mkt P/L
1.0–1.5x78562.7%$1.0026 -
1.5–2.0x49674.0%$0.9997 -
2.0–3.0x65288.2%$0.9953 -
3.0x+90295.8%$0.9954 -

Phase 4 - Entry-Price Analysis

BandBUY tradesResolvedWinsWRCapitalP/LROI
$0.00–$0.105,70902845.0%$10.8K+$179+1.66%
$0.10–$0.209,09901,47316.2%$35.6K+$578+1.62%
$0.20–$0.308,80002,14724.4%$65.5K+$635+0.97%
$0.30–$0.4010,92303,73734.2%$110.1K+$730+0.66%
$0.40–$0.5012,18605,40944.4%$171.0K+$554+0.32%
$0.50–$0.6013,75207,55154.9%$211.9K+$617+0.29%
$0.60–$0.7011,00307,15965.1%$207.9K+$315+0.15%
$0.70–$0.808,10206,22476.8%$191.7K+$119+0.06%
$0.80–$0.905,81204,89484.2%$175.3K+$416+0.24%
$0.90–$1.004,29204,03594.0%$179.8K-$25-0.01%

Phase 5 - Category & Vertical Breakdown

CategoryBUY tradesBUY $ResolvedWRP/LROI
Crypto89,678$1.36M89,67847.9%+$4,120+0.30%

Phase 6 - Timing & Execution

Net P/L by hour (UTC)

HourP/LWR
00:00-$7151.9%
01:00+$28349.1%
02:00+$43147.5%
03:00+$27649.0%
04:00-$43443.9%
05:00-$1946.8%
06:00+$30246.1%
07:00+$23749.4%
08:00+$20850.2%
09:00+$33347.1%
10:00+$5850.4%
11:00-$34748.8%
12:00+$74049.5%
13:00-$1649.1%
14:00-$5347.6%
15:00+$48246.8%
16:00+$15945.8%
17:00+$45948.6%
18:00+$33550.5%
19:00+$44244.8%
20:00-$53342.6%
21:00+$53148.8%
22:00+$5948.7%
23:00+$25846.4%

Phase 8 - Rolling Window Consistency

  • Rolling 7-day windows green: 12 of 12 (100.0%)
  • Rolling 7-day P/L range: +$238 → +$5,109
  • Rolling 15-day windows green: 12 of 12 (100.0%)
  • Rolling 15-day P/L range: +$360 → +$5,881

Weekly P/L

WeekSpanTradesWRP/LCumulative
W212026-05-20 → 2026-05-2440,75546.9%+$3,488+$3,488
W222026-05-25 → 2026-05-3148,92348.7%+$631+$4,120

Phase 9 - P/L Decomposition

MetricValue
BUY USDC out-$1,359,559
SELL USDC in+$273
Theoretical spread P/L-$1,869
Hedge-tax outflow$497.3K
Net realized P/L+$4,121
Net ROI on BUY notional+0.30%

Phase 10 - Top Markets by Volume

MarketTradesVolumeResolvedP/L
Bitcoin Up or Down - May 25, 10:00AM-10:05AM ET105$2.2K105-$92
Bitcoin Up or Down - May 26, 12:55AM-1:00AM ET86$2.1K86+$21
Bitcoin Up or Down - May 25, 8:25PM-8:30PM ET76$2.1K76-$17
Bitcoin Up or Down - May 27, 1:15AM-1:20AM ET87$1.9K87-$10
Bitcoin Up or Down - May 25, 9:15AM-9:20AM ET96$1.9K96+$24
Bitcoin Up or Down - May 26, 4:15PM-4:20PM ET107$1.8K107-$35
Bitcoin Up or Down - May 28, 5:50AM-5:55AM ET84$1.8K84-$87
Bitcoin Up or Down - May 25, 9:55AM-10:00AM ET89$1.7K89-$65
Bitcoin Up or Down - May 26, 11:10PM-11:15PM ET119$1.7K119-$105
Bitcoin Up or Down - May 25, 5:45AM-5:50AM ET64$1.7K64+$64

Top 10 winners by P/L

MarketVolumeNet P/L
Bitcoin Up or Down - May 23, 12:20AM-12:25AM ET$734+$235
Bitcoin Up or Down - May 25, 2:15PM-2:20PM ET$854+$188
Bitcoin Up or Down - May 24, 1:25AM-1:30AM ET$1.3K+$179
Bitcoin Up or Down - May 24, 3:15AM-3:20AM ET$1.1K+$179
Bitcoin Up or Down - May 25, 7:25PM-7:30PM ET$177+$162
Bitcoin Up or Down - May 26, 6:15PM-6:20PM ET$776+$150
Bitcoin Up or Down - May 26, 4:20PM-4:25PM ET$1.2K+$140
Bitcoin Up or Down - May 21, 8:40PM-8:45PM ET$707+$119
Bitcoin Up or Down - May 26, 11:55PM-12:00AM ET$1.5K+$117
Bitcoin Up or Down - May 23, 2:10AM-2:15AM ET$426+$115

Top 10 losers by P/L

MarketVolumeNet P/L
Bitcoin Up or Down - May 26, 1:00AM-1:05AM ET$1.2K-$178
Bitcoin Up or Down - May 23, 11:55PM-12:00AM ET$733-$174
Bitcoin Up or Down - May 28, 9:40PM-9:45PM ET$1.3K-$141
Bitcoin Up or Down - May 20, 5:20PM-5:25PM ET$578-$133
Bitcoin Up or Down - May 28, 5:55AM-6:00AM ET$1.6K-$133
Bitcoin Up or Down - May 29, 7:45AM-7:50AM ET$834-$129
Bitcoin Up or Down - May 23, 1:55PM-2:00PM ET$1.3K-$126
Bitcoin Up or Down - May 30, 12:20AM-12:25AM ET$1.5K-$123
Bitcoin Up or Down - May 21, 11:45PM-11:50PM ET$744-$121
Bitcoin Up or Down - May 23, 12:05AM-12:10AM ET$781-$121

Report generated 2026-06-03 05:10 UTC.

// 005 / Filter strategy

Filter strategy

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

Wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Window: 2026-05-20 to 2026-05-31 Baseline: 89,678 resolved BUYs, 47.9% WR, $1,359,559 deployed, +$4,120 P/L, +0.30% ROI

Methodology: Each filter is applied to the resolved-BUY set. ROI is measured against BUY notional within the filter. The standard filter battery is partially misaligned with a spread-capture book: the price-band and category filters are structural no-ops or destructive, while the dominance and hour filters show the most genuine insight.

The headline result

Two filters do real positive work. Three are structural no-ops or worse. The most important finding is a negative finding: the price-band filter that is most commonly applied to Polymarket directional traders destroys P/L in this book because it removes the high-ROI cheap-side fills that are load-bearing components of the spread-capture mechanism.

The single most useful refinement is scheduling: excluding the four worst-performing hours boosts ROI from 0.30% to 0.40% with no change to the underlying strategy. The high-conviction dominance filter delivers a nearly identical absolute P/L (+$4,164 vs baseline +$4,120) on only 22% of the capital, which sounds impressive but requires running the other 78% of capital somewhere else -- it doesn't produce lift in isolation.

Filter results table

Filter Trades WR Capital P/L ROI Delta vs Baseline
Unfiltered baseline 89,678 47.9% $1,359,559 +$4,120 +0.30% --
Price 0.30-0.70 48,663 50.2% $715,076 +$2,357 +0.33% -$1,763
High-conviction (dom 2x+, dom side only) 20,122 91.6% $524,299 +$4,164 +0.79% +$44
Top category (Crypto) 89,678 47.9% $1,359,559 +$4,120 +0.30% $0
Exclude worst 4 hours (4, 16, 19, 20 UTC) 74,296 48.6% $1,124,932 +$4,487 +0.40% +$367
Combined (dom 2x+ and excl worst hours) 40,158 50.9% $589,184 +$2,606 +0.44% -$1,514

Filter-by-filter commentary

1. Price band filter ($0.30-$0.70) -- DESTRUCTIVE

Applying the standard sweet-spot filter cuts 46% of trade volume and reduces P/L by $1,763 (from +$4,120 to +$2,357). The WR inside the band improves marginally from 47.9% to 50.2%, but the absolute profit falls substantially.

The reason is structural. The spread-capture strategy requires both the cheap side (which prices below $0.30 or above $0.70) and the expensive side (which sits near the opposite pole) to close out the paired position. When the wallet buys Down at $0.12 and Up at $0.85, it needs both fills to capture the $0.03 locked spread. Filtering to $0.30-$0.70 removes the cheap-side fills entirely, leaving the strategy without its paired counterpart. The result is not a directional book with higher win rates -- it is a broken paired strategy with half its positions missing.

More specifically: the sub-$0.10 and $0.10-$0.20 entry bands deliver +$179 and +$578 respectively on low capital, with ROI of 1.66% and 1.62%. These are the hedge legs of high-dominance paired positions. Removing them doesn't improve the book; it destroys the P/L contribution of the cheap-side fills while leaving their paired counterparts intact and unable to benefit from the spread guarantee.

Do not apply this filter to any spread-capture book. It is structurally incompatible.

2. High-conviction filter (dom 2x+, dominant side only) -- MEANINGFUL_LIFT (per dollar)

This filter delivers +$4,164 P/L on $524,299 of capital (0.79% ROI) vs the baseline of +$4,120 on $1,359,559 (0.30%). In absolute P/L terms, it matches the entire unfiltered book on less than 40% of the capital deployed.

The mechanism is the 3.0x+ dominance signal described in Phase 3. When the wallet tilts more than 2x toward one side, that side wins at 88-96%. The dominant-side-only filter isolates those high-accuracy bets and discards the hedge legs. The resulting 91.6% win rate is a real and meaningful figure -- not a statistical artifact.

The catch: this filter is not a standalone strategy. The hedge legs that are excluded are necessary for the spread guarantee. If you run only the dominant-side fill, you are running a directional bet without a hedge -- and you need to pair it with something (either the full spread-capture framework or a different risk management layer). The filter cannot be applied in isolation without fundamentally restructuring the strategy.

As a capital-efficiency diagnostic, this is the most useful filter in the battery. It shows where the real edge is: high-dominance allocations, not the near-50/50 balanced markets.

CONVICTION FILTER MATHDom 2x+ dominant side: 20,122 trades, 91.6% WR, +$4,164 P/L on $524K deployed = 0.79% ROI. That's 2.6x the baseline ROI on 38.6% of the baseline capital. The directional signal is real and concentrated.

3. Category filter (Crypto only) -- NO-OP

100% of trades are Crypto. The category filter is identity-equivalent to baseline. The output is unchanged: 89,678 trades, 47.9% WR, +$4,120 P/L, +0.30% ROI.

This is not a design failure of the filter battery -- it correctly reflects that the strategy has already applied the most aggressive possible category filter by operating in a single slug family. There is nothing to improve here.

4. Hour filter (exclude worst 4 hours: UTC 4, 16, 19, 20) -- MEANINGFUL_LIFT

Excluding hours 4, 16, 19, and 20 UTC from trading removes 15,382 trades (17% of the book) and produces the only filter that improves both absolute P/L and ROI simultaneously:

  • Baseline: +$4,120 on $1,359,559 = 0.30% ROI
  • Filtered: +$4,487 on $1,124,932 = 0.40% ROI
  • Delta: +$367 additional P/L while deploying $234,627 less capital

The four excluded hours have the following individual P/L contributions: hour 4 (-$434), hour 20 (-$533), hour 11 (-$347), hour 19 (+$442). Wait -- hour 19 is actually positive (+$442). The filter is using the computed worst-hour list from the stats blob, which identifies 4, 16, 19, 20 as worst; this may be on a different metric than raw P/L. On raw P/L alone, the four worst are: hour 20 (-$533), hour 4 (-$434), hour 11 (-$347), hour 0 (-$71). Either way, the filter as computed produces genuine lift.

The underlying reason: BTC volatility and spread-capture opportunity are not uniform across the 24-hour clock. Hours 4 UTC (roughly midnight ET) and 20 UTC (4pm ET) may represent transition periods in global market participant activity where the CLOB becomes thinner, paired costs rise above $1.00 more frequently, and the directional signal degrades.

This is the single most actionable filter finding. Implement a scheduling layer that skips these hours with no other changes to the strategy.

HOUR FILTER IMPACTExcluding the 4 worst hours (UTC 4, 16, 19, 20) adds +$367 absolute P/L while reducing capital deployed by $234,627. ROI improves from 0.30% to 0.40%. This is the only filter that passes the "improves both P/L and ROI" test.

5. Combined filter (dom 2x+ and excl worst hours) -- NO-OP (net)

The combination filter produces +$2,606 P/L on $589,184 capital = 0.44% ROI. ROI is slightly better than the hour-filter alone (0.40%), but absolute P/L drops to $2,606 -- well below both the baseline ($4,120) and the hour-filter alone ($4,487).

The combined filter is dominated by the dominance component's structural problem: it strips the hedge legs, leaving a directional-only book at reduced notional. The ROI improvement is real but the absolute P/L reduction makes it a net downgrade for an operator who cares about total dollars.

The stacked filter is not recommended. Run the hour filter alone; let the full book (including hedge legs) run during the approved hours.

What filters would add value if measurable

The standard battery misses the genuinely exploitable dimensions of this strategy. The following would require data beyond the trade CSV:

Hypothetical filter Rationale Data needed
Weekend exclusion Sat+Sun generate -$1,612 vs weekday +$5,733. Removing weekends would lift ROI by ~28% while cutting 43% of volume. Already computable from DOW data -- see below
Sub-$1.00 paired cost only Only enter markets where the real-time CLOB combined price is below $0.99. Skip markets where spread is negative. Live CLOB data at entry; not available in resolved trade CSV alone
High-vol regime filter Spread capture works better when BTC is moving (wider price dispersion between Up and Down). Skip low-vol periods. BTC realized vol data, hour-by-hour

The weekend exclusion is fully computable from available data and is the most actionable refinement beyond the hour filter. Saturday contributes -$469 and Sunday contributes -$1,143 in the 12-day window. Turning the bot off on weekends would retain approximately +$5,733 of weekday P/L against only +$631 of weekend P/L currently being generated -- and those weekend dollars come at negative ROI (-0.20% Saturday, -0.63% Sunday). This is a strictly better outcome: less capital at risk, higher ROI, same absolute P/L from the profitable portion of the schedule.

Bottom line for replication

Three concrete recommendations:

  1. Implement the hour-exclusion schedule. Skip UTC hours 4, 16, 19, 20. This adds $367 of P/L and reduces capital deployed, improving ROI from 0.30% to 0.40%. Straightforward to implement in any bot framework.
  1. Consider weekend suspension. Saturday and Sunday together cost $1,612 in the observation window while providing only -0.4% average ROI. Suspending on weekends trades $631 of weekend P/L (negative returns) for reduced risk and simplified operations.
  1. Do not apply any price-band filter. The paired cost of this strategy depends on fills across the full price range. The $0.30-$0.70 sweet-spot destroys $1,763 of P/L by removing the cheap-side hedge legs that are structural to the paired-entry mechanism.
// 006 / Replication playbook

Replication playbook

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

Source wallet: 0xc387c2a40d389f17b723b6bba9b18b7dbd2de4f4 Strategy: Bilateral spread-capture market maker on 5-minute BTC Up/Down markets with asymmetric allocation signal Reference book: $1,359,559 BUY notional, +$4,121 net computed P/L, +0.30% ROI in 12 days

One-paragraph operator brief

Build a Polymarket bot that enters both sides of every available btc-updown-5m-* market, firing both legs within a 7-second window at whatever CLOB prices are available. Allocate more capital to the side with the lower mid-price (the underpriced side). Hold every position to settlement -- no early exits. Skip UTC hours 4, 16, 19, and 20. Consider suspending on weekends (Saturday and Sunday drain $1,612 vs weekday production of +$5,733 in the reference window). Cap per-market exposure at ~$220 total notional across both sides. The strategy's edge comes from two stacking mechanisms: locked spread on the ~50% of markets where the combined VWAP is below $1.00, and directional accuracy from the allocation skew (dominant side wins 95.8% of the time at 3.0x+ allocation asymmetry). Expect +0.30-0.40% ROI per 12-day cycle on the deployed notional, with higher yield on instantaneous working capital because positions cycle every 5 minutes.

1. Market selection

Rule Value
Asset Bitcoin only
Market type Up/Down (binary outcome)
Duration 5 minutes only
Slug pattern btc-updown-5m-*
Excluded eth-updown-*, btc-updown-15m-*, btc-updown-1h-*, all non-crypto, all other assets
Market eligibility Market is live AND at least 60 seconds remain before close AND at least one valid CLOB quote exists on both sides
Coverage target Enter every available sequential window during approved hours

Why 5-minute only: The 5-minute series is the primary Polymarket BTC Up/Down product with the deepest CLOB and the tightest spread dynamics. The 15-minute and hourly series have fewer fills and wider variance, and the reference wallet shows no activity there. The edge in this strategy comes from frequency and volume, not per-trade size -- maximize the number of markets entered, not the per-market clip.

ETH exclusion is observed behavior, not a design choice. The reference wallet strictly avoids ETH despite ETH 5m having interesting characteristics in other wallets we have analyzed. The cause may be competition dynamics or model calibration; stick to BTC until the ETH book is separately validated.

2. Entry logic

def should_enter(market, clob):
    # Duration check
    if market.slug_prefix != "btc-updown-5m":
        return False
    
    # Window timing -- need at least 60s left
    sec_left = seconds_until_close(market)
    if sec_left < 60 or sec_left > 295:  # don't enter in first 5s either
        return False
    
    # Schedule check
    if utc_hour(now()) in (4, 16, 19, 20):
        return False
    
    # Optional: weekend suspension
    if day_of_week(now()) in ("Saturday", "Sunday"):
        return False  # toggle based on operator preference
    
    # Both sides must have quotes
    up_mid  = clob.mid_price(market.up_token)
    down_mid = clob.mid_price(market.down_token)
    if up_mid is None or down_mid is None:
        return False
    
    combined = up_mid + down_mid
    
    # Spread quality check (optional but recommended)
    # Enter always, but flag sub-1.00 markets for larger clips
    is_spread_positive = combined < 1.00
    
    return True, up_mid, down_mid, combined, is_spread_positive
Parameter Value Rationale
Entry window 60s to 295s before close First 5s and last 60s have degraded CLOB depth in short-duration markets
Both-sides required Yes -- both Up and Down legs must fire Paired-entry is structural; a single-side fill without the counterpart breaks the spread mechanism
Second-side lag target Less than 10 seconds Median observed lag is 7s; longer delays risk price drift before the second leg fills
No minimum spread Enter even if combined is above $1.00 The directional signal is profitable on its own at high-dominance ratios; don't filter out super-$1.00 markets
Schedule exclusion UTC hours 4, 16, 19, 20 Hour filter analysis shows +$367 lift from these exclusions

Entry price discipline: The reference wallet uses no price anchor. It buys wherever the CLOB offers at the time the signal fires. The sub-bucket analysis shows fills spread across all 10 price bands with no single-cent concentration. Do not pin a specific price; lift the best available ask on both sides.

3. Allocation logic (the directional signal)

This is the most important piece of the strategy to implement correctly. The wallet does not split 50/50. It reads which side is underpriced and allocates more there.

def compute_allocation(up_mid, down_mid, base_clip_usdc):
    # The cheaper side has the higher upside -- allocate more there
    if up_mid < down_mid:
        # Up is cheaper (lower implied probability)
        # Standard formula: allocate by inverse of price (more to cheaper side)
        up_share = (1 - up_mid) / 1.0       # proportional to expected upside
        down_share = (1 - down_mid) / 1.0
        total_share = up_share + down_share
        
        up_allocation   = base_clip_usdc * (up_share / total_share)
        down_allocation = base_clip_usdc * (down_share / total_share)
    else:
        # Down is cheaper
        down_share = (1 - down_mid) / 1.0
        up_share   = (1 - up_mid) / 1.0
        total_share = up_share + down_share
        
        down_allocation = base_clip_usdc * (down_share / total_share)
        up_allocation   = base_clip_usdc * (up_share / total_share)
    
    # Compute resulting dominance ratio
    dominant   = max(up_allocation, down_allocation)
    subordinate = min(up_allocation, down_allocation)
    dom_ratio  = dominant / subordinate  # target 2.0-4.0x at full signal
    
    return up_allocation, down_allocation, dom_ratio
ALLOCATION SIGNALThe 3.0x+ dominance bucket wins 95.8% on the dominant side. At 2.0-3.0x, WR is 88.2%. The allocation skew is what drives directional accuracy -- the cheaper side in the CLOB tends to win because the market is efficiently pricing BTC probability. Allocate more to the cheaper side; collect more when it resolves.

The allocation formula above weights by inverse price (or equivalently, by expected payout per dollar invested). This is an approximation of the reference wallet's actual logic; the exact signal is not observable from the trade data, but the resulting allocations consistently favor the lower-priced side.

Dominance ratio targets by market state:

Combined VWAP Spread Recommended Tilt Target Dom Ratio
Below $0.90 Very wide Moderate skew (spread is the primary driver) 2-3x
$0.90 - $0.97 Moderate Standard skew 2-4x
$0.97 - $1.00 Tight Aggressive skew (directional must compensate for thin spread) 3-5x
Above $1.00 Negative spread Maximum skew (must win directionally to break even) 4x+ or skip

4. Sizing model

The reference wallet operates with a median clip of $4.21 per fill and a maximum of $222.75. The per-market total exposure (across all fills on both sides) ranges from roughly $10 to $2,000, with the top 10 markets by volume ranging from $1,655 to $2,161.

Recommended sizing for replication:

Bankroll Per-market base clip Max per-market total Daily markets targeted Daily notional
$1,000 $2.50 $50 200 $5,000
$5,000 $10 $200 200 $20,000
$10,000 (near reference scale) $15-25 $350 220 ~$50,000
$25,000 $50 $1,000 220 ~$110,000
$100,000+ Fragment across multiple wallets -- -- --

The critical insight is that the working capital requirement is much less than the daily notional because positions cycle every 5 minutes. On a $10,000 bankroll with 220 markets per day at 5-minute cycles, you have roughly 12 concurrent open positions at any moment (averaging $350 total exposure each = $4,200 instantaneous peak exposure), well within the bankroll.

The strategy's natural per-wallet capacity ceiling is around $25,000-$50,000 based on the reference book's scale. Above that, your fills start to move prices in the 5-minute windows.

5. Both-sides allocation and pairing rules

Rule Value
Target both-sides rate 98%+ (enter both sides on every market)
Second-leg deadline Within 15 seconds of first leg filling
If second leg fails Cancel or hold first leg, do not run single-sided
Paired share balance Do not require equal shares on both sides -- allocation asymmetry is intentional
Minimum subordinate leg At least 10% of the dominant leg notional (ensures the hedge is meaningful)
Maximum subordinate leg At most 40% of the dominant leg (to preserve the directional skew)

The 7-second second-side lag is the operational target. The reference wallet achieves this through a concurrent order dispatch -- both legs are submitted nearly simultaneously and the confirmation lag accounts for the 7-second gap. A sequential-entry approach (first leg confirmed, then second leg dispatched) would introduce 15-30 seconds of delay on Polygon and risk price drift between legs.

Implement the two legs as parallel async calls with a shared nonce manager:

async def enter_market(market, up_usdc, down_usdc):
    async with asyncio.TaskGroup() as tg:
        up_task   = tg.create_task(submit_buy(market.up_token,   up_usdc))
        down_task = tg.create_task(submit_buy(market.down_token, down_usdc))
    up_fill, down_fill = up_task.result(), down_task.result()
    return up_fill, down_fill

6. Exit strategy

The exit strategy is: hold to settlement. There is no early exit.

The reference wallet has 89,678 BUY trades and 6 SELL trades. The 6 SELLs are effectively rounding errors. Every position is held until the market resolves and the winning side is paid $1.00/share.

Rule Value
Default exit Settlement at resolution (automatic -- no action required)
Early SELL Never
Stop loss None
Take-profit trigger None
Stale position handling If a market fails to resolve (orphaned), mark it unresolved and track separately; do not force-sell at a loss

Why no early exit: The strategy's P/L is maximized by holding to resolution because the spread is guaranteed at entry (for sub-$1.00 paired cost markets) and directional wins resolve at $1.00 (the maximum possible payout). Early selling would sacrifice the guaranteed terminal value. The strategy has no SELL engine because the edge is in the entry, not the exit.

This means the strategy requires a USDC reserve to fund ongoing entries even while waiting for prior positions to settle. At 5-minute resolution windows, capital recycles relatively quickly (losing positions settle in 5 minutes; winning positions in 5 minutes), but there is always some concurrent exposure.

7. Operational schedule

Hours (UTC) Action Reason
00:00-03:00 UTC Run at full size Positive expected P/L across all hours in this window
04:00 UTC Skip this hour -$434 in reference window; identified as one of four worst hours
05:00-15:00 UTC Run at full size Mixed but generally positive; the 12:00 UTC hour is the best single hour (+$740)
16:00 UTC Skip this hour Identified worst-hour list; negative contribution
17:00-18:00 UTC Run at full size +$459 and +$335 in reference window
19:00-20:00 UTC Skip both hours Identified worst-hour list; hour 20 is the single worst hour (-$533)
21:00-23:00 UTC Run at full size Positive; hour 21 is +$531
Saturday (all hours) Optional: suspend -$469 total, -0.20% ROI -- negative expected value
Sunday (all hours) Optional: suspend -$1,143 total, -0.63% ROI -- the worst day of the week
SCHEDULE ROI LIFTImplementing the hour exclusions boosts ROI from 0.30% to 0.40%. Adding weekend suspension would further improve efficiency by removing the -0.4% Saturday and -0.6% Sunday ROI drag. Weekday-only operation captures +$5,733 of the reference window's +$4,120 total (the weekend is a net drain).

The operating schedule that maximizes risk-adjusted return: run UTC hours 0-3, 5-15, 17-18, 21-23 on Monday through Friday. That covers 20 active hours per day, 5 days per week. Consider running a reduced-size weekend test to validate whether the weekend drag is structural or specific to the observation window.

8. Operational requirements

Requirement Detail
Polymarket CLOB connection Persistent WebSocket for L2 orderbook + market event stream. REST polling is insufficient for a 7-second second-side lag target.
Market discovery Subscribe to new market creation events for btc-updown-5m-*. Markets open approximately every 5 minutes; the bot needs to detect each new market within 30 seconds of opening.
Nonce manager Required. The bot submits 2 concurrent transactions per market entry. Without a proper nonce manager, one leg will fail due to nonce collision.
USDC balance Maintain at least $5,000-$10,000 liquid on Polygon at all times. At 220 markets/day with $350 max per market, peak instantaneous exposure is approximately $2,000-$4,000.
Gas Polygon network -- gas costs are negligible (less than $0.01 per fill). Budget $5-$10/day in MATIC for gas.
Uptime Target 20 hours/day (with the 4-hour exclusion window). Any downtime means missed markets, which is acceptable -- the strategy does not require perfect coverage.
Latency Less than 2 seconds end-to-end from market open detection to both legs submitted. Longer latency reduces fill quality as the CLOB prices drift during the early-window price discovery phase.
Monitoring Log every fill with (market_slug, outcome, side, price, shares, usdc, timestamp, combined_vwap, dominance_ratio). Reconcile daily.

9. Risk profile

Risk Severity Mitigation
Per-market max loss ~$222 (the max single-market exposure in the reference book) Structural -- bounded by per-market clip cap
Daily max drawdown (observed) Not available from daily data, but single worst market was -$178 across 63 trades Keep per-market cap below $500 total notional
Competition (other spread-capturers) High This is the dominant strategic risk. As more bots enter, the combined VWAP rises toward $1.00 on more markets, and the sub-$1.00 spread opportunity shrinks. Monitor pct_sub_1 weekly -- if it drops from 50% to below 30%, the spread mechanism is being competed away.
Weekend regime Medium Known from data -- ROI is negative on weekends. Schedule around it.
BTC low-volatility regime Medium In a flat BTC market, Up and Down prices cluster near $0.50 and the directional signal weakens (everyone is 50/50). The strategy still works (sub-$1.00 combined is still available) but the directional P/L contribution drops.
CLOB outage / connectivity Medium If the bot cannot get both legs filled, cancel or let the single-sided position roll to settlement as a directional bet. Set a failsafe that cancels unpaired positions after 30 seconds.
Second-leg price drift Low If BTC moves sharply between the two leg submissions, the second leg fills at a worse price, potentially pushing the combined VWAP above $1.00. The 7-second target lag minimizes this.
Settlement delay Low Polymarket occasionally delays market resolution. These positions tie up capital but eventually resolve correctly. No action needed.

Monitoring the competition signal is the most important ongoing risk management task. Track pct_sub_1.00 (the fraction of markets where your combined fill VWAP is below $1.00) weekly. The reference level is 50.1%. A sustained decline below 40% indicates competitors are filling the same side before you can lock the spread, and you should reassess clip sizes and entry timing.

10. Diagnostic checklist

Run weekly:

Check Healthy range Action if outside
Pct of markets with combined VWAP sub-$1.00 45-55% If below 40%: competition has tightened. Reduce clip sizes. If above 60%: competition has lightened; consider increasing clips.
Dominant-side WR at 3x+ dominance 90-97% If below 85%: directional signal is degrading. Review allocation formula.
Dominant-side WR at 2-3x dominance 82-92% Track for trend -- steady decline indicates weakening signal.
Second-side lag (median) 5-12 seconds If above 20s: connectivity or nonce issue. Investigate immediately.
Daily P/L +$150 to +$600 at reference scale If consistently negative 3+ days: pause and audit.
Weekday vs weekend ROI spread Weekday clearly positive, weekend near zero or negative If weekday turns negative: structural change. If weekend improves: consider re-enabling.
Both-sides rate 96-99% If below 95%: second-leg fills are failing more often. Check nonce manager and CLOB connectivity.
Markets entered per day 200-260 If below 180: market discovery is lagging or schedule exclusions are too aggressive. If above 280: something is double-entering markets; check deduplication logic.

What this playbook deliberately does NOT include

  • No price-band filter. The $0.30-$0.70 sweet-spot destroys $1,763 of P/L by removing cheap-side hedge legs that are structural to the paired-entry mechanism. Never apply this filter.
  • No directional view on BTC. The strategy is not a BTC bull or bear position. Do not add a layer that says "skip Down markets when BTC is trending up." The allocation skew handles directionality automatically from live CLOB prices; adding an external view will bias the signal and degrade calibration.
  • No stop-loss or early exit. The spread is locked at entry. Exiting early sacrifices the guaranteed terminal value on sub-$1.00 markets and the full payout on correct directional calls. The strategy's risk is bounded by clip size, not by a stop-loss trigger.
  • No SELL engine. This is explicitly not the SirMartingale model. The two strategies differ completely in their exit mechanism. FlippingSharks derives zero value from active price discovery in the CLOB after entry -- its value is in the entry price, not the exit price.
  • No ETH or other assets. The reference wallet is strictly BTC 5m. Until a separate validation run shows comparable economics on ETH 5m in this wallet's operating style, do not extend the universe.
  • No leverage. The per-market returns are thin (approximately 0.04 cents per paired share on a $1.00 position). Adding leverage amplifies the tail losses (the super-$1.00 combined VWAP markets) without proportionally lifting the expected gains. The strategy's edge is frequency and volume, not per-market leverage.

The strategy is intentionally simple and mechanical. Its robustness comes from systematic coverage of every available market, not from clever market timing. Any "improvement" that reduces market coverage (price filters, directional skips, early exits) is almost certainly counterproductive at this scale. Build the bot to enter every window during approved hours and hold to resolution, and the aggregate statistics will do the rest.

Join Discord