On June 7th I wrote that the reframe was "the real shot" — the one theory under which a slow, cron-cadence market-maker could actually win: quote only the slow markets (politics, sports, econ, geopolitics) where high-frequency bots don't bother, complete the combined-cost arbitrage pair, and harvest the maker rebate. I pre-registered two gates and a date. If by ~July 7th, over a clean 14-day window, the bot wasn't completing >50% of its positions into pairs and wasn't net-positive on paper, the answer was shelve plus autopsy. No moving the goalposts.
It's June 29th. Both gates have failed, decisively, a week early. So this is the autopsy, and the cron is off.
The numbers
| Gate (pre-registered 2026-06-07) | Target | Actual | Verdict |
|---|---|---|---|
| Pair completion rate | >50% of fills | 0% (0 pairs / 8 fills, clean window) | FAIL |
| Cumulative paper P&L | > $0 net of fees | −$405.51 | FAIL |
| Rebate capture (7d) | > $0 | $0.00 | FAIL |
| Funnel (quoteable / scanned, 7d) | widen | 13 / 1,029 = 1.3% | FAIL |
Every metric that mattered pointed the same way. The dashboard's cheerful "+$814 projected" headline was always the if-every-quote-filled fantasy number — the one I explicitly told myself to ignore back in May. The honest inventory number, the one that counts only fills that actually happened, is −$405 and it was still dropping.
Root cause: you can't redeem half a pair
The whole strategy rests on one mechanic. A Polymarket binary market has a YES token and a NO token, and the protocol lets you redeem one of each — a complete pair — for exactly $1, always, regardless of how the market resolves. So if you can buy a YES for $0.39 and a NO for $0.57 at the same time, you've paid $0.96 for something worth $1.00. That 4¢ — plus the maker rebate for providing the quotes — is the edge. It is market-neutral. It does not require predicting anything. The academic literature (Othman & Sandholm, CMU) says this CTF-redemption edge is the one reason a prediction-market maker can be non-negative-EV without an information advantage.
The catch is in the words at the same time. You have to get filled on both legs. And here's what the fill log showed, every single time:
market 0xb757… posted [email protected] + [email protected] → only [email protected] filled market 0xf936… posted [email protected] + [email protected] → only [email protected] filled market 0xa667… posted [email protected] + [email protected] → only [email protected] filled market 0x11df… posted [email protected] + [email protected] → only [email protected] filled … 8 fills, 0 completed pairs …
And a naked leg isn't market-neutral — it's a directional bet you never wanted. A YES bought at $0.39 in a market that resolves NO is worth $0. That's the −$405. Eight times the bot reached for a 4¢ arbitrage and instead bought a lottery ticket on the wrong number.
The June 7th reframe even shipped a fix for this — a post-fill hedge that, once a leg sits naked for
25 minutes, takes the opposite leg at the current ask to force the pair closed and cap the loss. It
ran. pairs_closed_24h stayed at 0 the entire window. Either the opposite
ask had already run away to where the hedge was a guaranteed loss, or the markets resolved before the
hedge could complete. Capping the bleed isn't the same as having an edge. The hedge made the losses
smaller; it never made them positive.
Why the slow-market thesis didn't save it
The whole point of the reframe was: avoid the HFT-dominated short crypto markets, fish where a 30-minute cron's latency doesn't matter. That part worked — we successfully stopped losing to Rust bots. But it traded one structural problem for another. The slow markets where HFTs don't compete are slow precisely because order flow is thin and lumpy. Over 7 days the scanner looked at 1,029 markets and found 13 quoteable. That's a 1.3% funnel — and the rare fills that did land were exactly the adverse-selected one-siders above. There was no version of "wait for the good markets" that produced paired flow. The opportunity isn't being executed badly; at this cadence and capital tier, it mostly isn't there.
The honest conclusion
This isn't a tuning failure. There's no confidence floor to nudge, no rebate constant to fix, no
category to add. The mechanism that makes the strategy work is the same mechanism the market structure
prevents from firing. So PolyDoge is shelved — not paused, not "iterating," shelved. The cron is off.
The forensic state (fills, killswitch log, inventory) is frozen and stays public. The
workflow_dispatch trigger remains for replay, but it will not run on a schedule again
without a genuinely new theory of edge — and "try the markets again but harder" is not one.
What this experiment actually bought
Two months, zero real dollars, and a clean answer to a question a lot of people are quietly burning real money on right now: can a retail-cadence bot make money as a Polymarket market-maker? Not like this. The paper harness did its entire job — it let the strategy fail honestly and cheaply, in public, with the loss measured to the cent and the cause traced to a mechanism rather than a vibe. The most valuable thing a research engine produces is a definitive no.
v3.x asked whether an AI could predict Polymarket. The answer was no — every signal was already in the price. v4.0 asked whether it could make markets on Polymarket without predicting. The answer is also no — not at this latency and size, because you can't redeem half a pair. Two honest noes beat one expensive maybe.