Polymarket VWAP Data: Computing Volume-Weighted Averages from the 250ms Record
Polymarket VWAP Data: Computing Volume-Weighted Averages from the 250ms Record
VWAP on Polymarket is not served as a number — it is computed from the fills, at the same 250ms grid the archive captures. The honest construction matters more than the formula: the fill record is the numerator.
Figures measured as of 2026-10-02 on the published PolyOrderbooks archive.
Compute
The right construction
- VWAP over a window = sum(price x shares) / sum(shares), computed per market from the trades series; the archive timestamps each fill, so any window is reproducible.
- Sort fills by their trade timestamp within the market; do not approximate price from the mid — the mid is frequently non-executable and the ladder is what trades.
- Cross-check the denominator against the 250ms frame volume column for the same window; persistent disagreement means a fill got dropped in your filter, not that the data is wrong.
- For a per-minute VWAP series, group fills into minute buckets and recompute per bucket; the bucket is where candle granularity and VWAP finally meet.
Watch
What the number says
On a one-sided book, VWAP drifts toward the executable side: if 90%+ of frames have ask size near zero and the median trade is 42,254 shares, the volume-weighted price is a buyer's price for most of a reprice, not a neutral center.
VWAP heterogeneity by window is the signal, not the noise: a 5-minute Up/Down market VWAP vs a 4h VWAP measures how far price discovery lives in the last minute of each contract.
Use
What it is for
VWAP is an execution-quality yardstick: for a market order of the median size 42,254 shares, realized fill against the window VWAP tells you whether you are paying the book or beating it.
It is not a price-discovery claim and should not be advertised as one — it is a flow-weighted reference that the fills themselves define.
The same fills compute it for any market, so one aggregate and one pipeline serve the whole record.
Practices
Workbook
- Pick a liquid market, pull its trade history for a day, and compute a per-minute VWAP series by grouping fills into sixty-second buckets.
- Cross-check at least three buckets against the frame-level volume column for the same window; the sum of fill sizes and the frame volume must agree.
- Add a fill-vs-VWAP column: per-fill price minus the bucket VWAP is the per-fill slippage to your execution benchmark.
- Repeat on a second market of a different type (Up/Down vs sports) and record the ratio of spread to VWAP movement — the honest comparison of market quality.
Straight answers
What these rows are worth
VWAP answers one question precisely: what does volume-weighted flow look like over the window — and on Polymarket the answer is cheaper to reach than on most venues because the entire tape is timestamped at 250ms.
It does not answer where price is going. The ladder reprices (a 99.6-cent move observed in one second) faster than the tape can average, so VWAP is an execution and flow metric, never a prediction.
The clean claim is the benchmark one: your realized fill against the window VWAP, and against the executable floor, is a measurable number that the archive hands you directly.
In the stack
Where it sits
Inside the stack, VWAP sits between the tape (inputs) and the trade-level report (output); compute it in DuckDB or R from the fill rows and cache the minute buckets.
The 4-hour-data crowd uses VWAP as the volume-weight center for their horizon; the 250ms crowd uses it per bucket. Both read the same fill series, and that is the design point.
Conclusion
The bottom line
The workflow that will not mislead you is short: pulls, cross-check, benchmark. Pull the tape, reconcile its sum to frame volume, and compare your fills to the same-window VWAP — the numbers will tell you where you execute relative to flow.
The distinction to keep front of mind is that VWAP is a benchmark, not a price: on a book that is one-sided most of the time, the volume-weighted number is a buyers' market artifact as often as a neutral center.
Across the family of pages, this one is the execution-quality seat: the tape (trade-history-data) feeds it, the candles (ohlc-data) approximate it, and the executable-floor studies from order-book-history-data validate it against what was actually takeable.
Commit to the per-minute VWAP table as the honest derivative, and publish the floor-vs-VWAP distance with every execution claim — that single number is the one the archive exists to make true.
FAQ
Does Polymarket serve VWAP?
No; VWAP must be computed from the trade history. The archive ships fills with timestamps on the 250ms grid, so any window VWAP is reproducible from the raw record.
What window should I use?
The one that matches your execution horizon: minute bars for intraday fills, the full contract life for settlement studies. Every window re-computes from the same fill series.
Is VWAP a good hedge reference?
As an execution benchmark, yes; as a market center, no — the mid is more representative of executable quotes, and VWAP is flow-weighted by construction.