The same real-world question — will the Fed hold rates in July 2026? — traded in two completely different venues at once:
- HyperLiquid HIP-4, a builder-deployed venue where the outcome is coins
#5100/#5101on an on-chain L2 order book. - Polymarket, an EVM CLOB where the same outcome is a pair of conditional tokens.
Two books, one truth. When they disagree, that gap — the basis — is an arbitrage. This post measures it from Onchain Divers data, then zooms all the way into the FOMC resolution to separate what looks like easy money from what actually was.
Data — fills first
| Signal | Source | Volume over the window |
|---|---|---|
| Polymarket price & trades | on-chain polymarket_order_filled_v3 | 13,685 “no change” fills |
| HIP-4 continuous price | /root/hip4/data.log L2 book (#5100) | 7,250 book updates |
| HIP-4 executions | HyperLiquid raw_node_fills_by_block | 1,370 fills |
| Token ids | indexer raw_market_meta (condition_id ↔ clob_token_id) | — |
We build everything on fills. On Polymarket that means the on-chain order_filled_v3 tape — settled on Ethereum, so it is complete by construction: there is no market-data feed to drop or miss, every trade is there with price, size, wallet and timestamp.
One honest methodology note. HIP-4’s fills are bursty — the median gap between trades is ~1s but the 90th percentile is ~2 minutes and the worst is ~1.7 hours. A “last traded price” would go stale for long stretches, so for HIP-4’s continuous price we use its L2 book mid (7,250 updates, always fresh). Polymarket’s fills are dense enough (90th-percentile gap ~27s) to carry its price directly. So the basis below is Polymarket’s last trade minus HIP-4’s book mid — each venue’s best available price signal. That mixes a trade against a mid, so a slice of the raw basis is just half-spread microstructure, not pure mispricing; the order-book capture (end of post) is what tightens that.
Mapping. HIP-4 exposes the decision as events 510/511/512, each a Yes/No pair #<event><side> (0=Yes,1=No). By nearest live mid: 510 → No change, 511 → 50+ bps increase, 512 → 25 bps increase. We track “no change” — HIP-4 #5100 vs the Polymarket “No change → Yes” token.
The basis, over ~36 hours

The basis is not pinned to zero. Pre-event it carries a ~1.9¢ standard deviation, ranges from about −6¢ to +7¢, and sits more than 2¢ away from parity 26% of the time (right panel). Two cents on a market that settles at $1 is a 2% gross edge — above HIP-4 taker fees and Polymarket gas, though not hugely so once you net out the trade-vs-mid half-spread baked into the measurement. The sign flips: each venue takes turns being rich, so a basis strategy is symmetric — lean against the stretched leg, unwind on convergence.
There are clear regimes: Polymarket ran ~4–6¢ rich through the Jul-28 afternoon, then flipped cheap overnight. That slow drift is the tradeable part. The needle-thin +13¢ spike at the right edge is a different animal entirely — the resolution — and it is not free money. Here’s why.
The resolution, second-by-second
At 2:00 PM ET (18:00:00 UTC) the FOMC held rates.

- Both trade tapes priced the hold within ~8 seconds. HIP-4’s first ≥0.90 buy hit at 18:00:04; Polymarket’s fills cleared 0.99 by 18:00:08. Polymarket’s first post-statement minute alone did $1.9M on this one token — 496 fills, a single $246k print, and one Ethereum block that cleared 518k shares. Neither venue meaningfully “led”; both snapped at the statement.
- HIP-4’s book lagged its own trades by ~90 seconds. HIP-4 is a thin CLOB — the book mid (red) stayed choppy in the 0.80–0.92 band and didn’t settle at 0.99 until 18:01:34 (shaded). That lag is what produced the +13¢ basis spike above: Polymarket had already traded to $1 while HIP-4’s quote was still catching up.
That shaded window looks like a 90-second gift. It mostly isn’t — which is the whole point of the next chart.
Where the money actually was

This is cumulative mark-to-$1 value accruing to everyone who bought HIP-4 “no change.” It answers “who made money and when,” and it splits cleanly at 18:00:
- ~$38k of it was booked before the statement. One wallet,
0x27388d…, bought 194k contracts at ~0.808 between 17:51 and 17:52 — eight minutes ahead of the announcement. That is a directional bet that the Fed would hold, and it paid ~19¢ per contract. Real money, but it is conviction, not arbitrage — the outcome was genuinely uncertain when it was placed. - The post-statement riskless snipe was only ~$6.9k. Across 62 aggressive buys after 18:00, buyers lifted HIP-4’s laggard book for ~$7k total (top sniper
0xc9b3ef…: 49k contracts at ~0.90 for ~$4.9k). The 90-second window was real, but the book was thin — the offers below fair value dried up almost immediately, so there was no size to sweep.
That is the lesson the raw basis hides: the exploitable, low-risk edge at resolution was tiny (~$7k) because depth, not time, is the binding constraint. The eye-catching money came from taking a view early, not from arbing the lag.
Why fills-first — and why order books make the next pass easier
Everything above is built on settled fills — HIP-4’s from the node, Polymarket’s from order_filled_v3. Nothing depends on a websocket staying up, which is exactly the property you want when a single event can move millions in a minute.
We also run a full Polymarket order-book capture (snapshots + quote deltas). It isn’t load-bearing for any number here — the fills already tell the story — but it is a strict superset of information, so it turns this basis signal into a real execution backtest:
- the quoted basis (bid/ask vs bid/ask), which strips out the trade-vs-mid half-spread we had to tolerate above;
- spread and depth at every instant — so “the book was too thin to sweep” becomes a number you size against, not a post-hoc excuse;
- price-impact and queue modelling for fills you could actually get.
That’s the next post.
Takeaways
- The basis is real and persistent — >2¢ wide a quarter of the time, in both directions — but part of the raw figure is microstructure; the net edge is thinner than it looks.
- At resolution, both venues repriced in seconds. HIP-4’s book lagged ~90s, yet the riskless snipe was only ~$7k — thin depth, not latency, was the limit.
- Don’t confuse conviction with arbitrage. The ~$38k came from a directional pre-bet at 0.81, not from the lag.
- Build on fills first. They’re the settled, complete record; order books are the add-on that makes the execution backtest possible — reproducible end-to-end from Onchain Divers data.
Built on Onchain Divers infrastructure. Come talk data: