# Data: sub-cent taker buys on Polymarket, July to September 2026

This is version 1 of the data behind the Field Notes article on sub-cent taker buys and its methods page. It holds totals only, with no market title, event ID, condition ID, wallet, transaction, or single buy.

## 1. Scope

The data covers taker buys on Polymarket, the international exchange, through both of its V2 exchange contracts on Polygon. A buy here is an allocation: one taker BUY order matched against one maker order inside one match, so a single order can make several allocations at different prices. Taker sells aren't included.

The fills have block times from 2026-07-01T00:00Z to 2026-10-01T00:00Z, and the settlements are `ConditionResolution` events up to 2026-11-03T00:00Z. A buy counts as sub-cent when its price is strictly below 1 cent a contract. That price is the collateral before the fee divided by contracts, taken from the allocation's own maker leg with no rounding.

## 2. Files

| File | Rows | One row |
|---|---|---|
| `subcent_cells_v1.csv` | 405 | One combination of the seven dimensions in section 3 that holds at least one buy. |
| `subcent_core_v1.csv` | 36 | One combination of month, price slice, and the two statuses. It's the cell table summed over fee category and the two flags. |
| `subcent_event_counts_v1.csv` | 32 | Distinct events for one period, price slice, and status filter. |
| `all_taker_buys_by_band_v1.csv` | 24 | All taker buys at every price, for one month and price band. |
| `timing_scopes_v1.csv` | 25 | Settled sub-cent buys for one period and timing scope. |

The folder also holds the article's seven figure tables: `fig1_contracts_vs_money.csv` to `fig5_concentration.csv`, `sidebar_timing.csv`, and `status_reconciliation.csv`. `fields.json` has the labels of the data page, `reconciliation_v1.json` has the checks in section 6, and `PROVENANCE.json` names the sources and the build. `MANIFEST.sha256` lists the SHA-256 of every other file, so `shasum -a 256 -c MANIFEST.sha256` checks the whole folder.

## 3. Dimensions

| Column | Values | Meaning |
|---|---|---|
| `month` | `2026-07`, `2026-08`, `2026-09` | The UTC calendar month of the block time. |
| `price_slice` | `A1_lt0.2c`, `A2_0.2to0.5c`, `A3_0.5to1c` | Below 0.2 cents, 0.2 to below 0.5 cents, and 0.5 to below 1 cent. |
| `fee_category` | 13 labels | The market's fee group in the snapshot of November 3 and 4 (section 4). |
| `status_30d` | `settled`, `unresolved`, `resolved_before_fill` | The status 30 days after the block time (section 4). |
| `status_scan_end` | the same values | The status at the end of the settlement scan, 2026-11-03T00:00Z. |
| `settled_50_50` | `true`, `false` | The market's on-chain payout split evenly between its two outcomes. |
| `disputed_proposal_recorded` | `true`, `false` | The venue's record of the market's proposed result lists "disputed" at least once. |

The study's status rules also define `unknown` and `same_block_order_unknown`, but no sub-cent buy falls in either.

## 4. Columns

Columns ending in `_micro` are in millionths, so divide by 1,000,000 for dollars or contracts. The study counts one unit of collateral as one US dollar.

| Column | Adds up | Meaning |
|---|---|---|
| `status_30d` | | `settled` means the settlement came at or before the block time plus 30 days, and `unresolved` means it hadn't come by then. `resolved_before_fill` means the settlement came before the buy in chain order (block, then log index). The article calls these buys "bought after settlement", and they stay out of every return. |
| `status_scan_end` | | The same rules, with the horizon moved to November 3. A row that's `unresolved` at 30 days and `settled` here belongs to a market that settled after 30 days but by November 3, so "not settled in 30 days" doesn't mean "still open". |
| `fee_category` | | The market's `feeType` in the Gamma snapshot of November 3 and 4, mapped to a label: `sports_fees…` is "Sports", `crypto_fees…` is "Crypto", and `finance…` is "Finance". `weather_fees`, `politics_fees`, `culture_fees`, `tech_fees`, `economics_fees`, `mentions_fees`, and `general_fees` take their own names, and `zero_fees` is "Fee-free". An empty value is "No fee type", and a market without a Gamma row is "Unknown (no Gamma row)". The venue assigns this group for its fee schedule, so it can differ from the group at the time of a trade and from an editorial topic. |
| `settled_50_50` | | Each contract paid half a dollar on either side. A 50-50 payout isn't a long shot that won. |
| `disputed_proposal_recorded` | | Taken from `umaResolutionStatuses` in the Gamma snapshot, and `false` when a market has no list. A dispute shows that someone challenged a proposed result. It doesn't show that the final result was wrong, who disputed it, or what any buyer knew. |
| `allocations` | yes | The number of taker-buy allocations. |
| `contracts_micro` | yes | Contracts bought. |
| `paid_before_fee_micro` | yes | Collateral paid before the fee. |
| `fee_micro` | yes | The taker fee. The chain records one fee for each match, and the study divides it across the match's allocations in proportion to their collateral, so a value can include a fraction of a unit. Rebates are off-chain, so all fees are gross. |
| `payout_micro` | yes | Contracts times the payout fraction of the bought outcome. It's filled in whenever the market settled by November 3, whatever the 30-day status. |
| `events_in_cell_do_not_sum` | **no** | Distinct events with at least one buy in the row. An event can appear in many rows, so don't add this column across rows. `subcent_event_counts_v1.csv` has the exact counts. |

In `subcent_event_counts_v1.csv`, an event is one group of related markets on the venue. An event with buys in two months counts once in the quarter, so the monthly counts don't add up to the quarter.

The price bands in `all_taker_buys_by_band_v1.csv`:

| Band | Price a contract |
|---|---|
| A | below 1 cent |
| B | 1 to below 2 cents |
| C | 2 to below 5 cents |
| D | 5 to below 10 cents |
| E | 10 to below 50 cents |
| F | 50 to below 90 cents |
| G | 90 to below 99 cents |
| H | 99 cents and above |

A single match can hold buys in more than one band, so `matches_do_not_sum` doesn't add up across bands.

In `timing_scopes_v1.csv`, three scopes add up to `all settled`: `fixed cutoff, before cutoff`, `fixed cutoff, cutoff to settlement`, and `no established cutoff`. The scope `without cutoff-to-settlement buys` is `all settled` minus the cutoff-to-settlement buys. A market has a fixed cutoff only under the rules of the methods page. Rows add up only across those three parts within one period, and `events_do_not_sum` never adds up.

## 5. Rebuilding the article's values

Paid is `paid_before_fee_micro + fee_micro`. The return per dollar held to settlement is the sum of `payout_micro` divided by the sum of paid, minus one, over the rows with `status_30d = settled`. A share of contracts or of money divides the sub-cent sum by the sum of all bands in `all_taker_buys_by_band_v1.csv` for the same months.

The article's two scenarios for buys not settled in 30 days work the same way. If those buys were worth nothing, the return is the settled payout divided by the settled and unresolved paid together, minus one. If they paid the settled payout per contract, add the unresolved contracts times that rate to the payout before you divide.

Every return here is hypothetical. It values a purchase at its settlement payout, after the taker fee, as if the buyer held it to the end. A real buyer can sell earlier, and the study doesn't follow wallets.

## 6. Checks

`reconciliation_v1.json` rebuilds these published values from the files in this folder alone, and all 348 checks agree:

- The contracts, money, and shares in Figure 1.
- The values and scenarios of Figure 2.
- The status table.
- The dollar-weighted value and the event counts of Figure 3.
- The timing sidebar.
- The scenario and later-settlement tables of the methods page.
- The settlement-history table of the methods page.
- The core table, as a sum of the cells.

Two kinds of values can't be rebuilt from these files. The Figure 2 ranges come from event resampling that draws one random stream across all price bands. The event values in Figures 3, 4, and 5 need each event's totals, and one event can have buys in many rows. The study checked those values against its own table of event totals, which isn't published, and all 124 checks agree.

## 7. Limits

The data covers only Polymarket's international exchange. The token map, the event of each market, the fee category, and the dispute states come from one snapshot, read on November 3 and 4, 2026. No column measures what any buyer or seller knew.

## 8. Versions

These are version 1 files, and they won't change. A correction will come as a new version in its own folder, with `_v2` file names and a list of every changed value that shows the old value, the new value, and the reason.
