Polymarket · Independent measurement
Polymarket ranks its builders by volume. Volume is not revenue — and the gap between them is where the whole business hides.
Of the 25 largest builders, this many collect 0 bps. The volume leader routes millions a week and earns nothing from it.
The documented taker maximum is 100 bps. The published ceiling is not enforced.
The unit that actually governs a builder's income. Not capital, not trading skill — people routing orders.
Fee rates are not published anywhere. Each one below is inferred from the builder's own attributed executions: the implied rate of a fill can only fall below the configured rate (payouts truncate), so the maximum observed rate is the estimator, not the median. The ▲ column shows how far a builder moves when the ranking switches from volume to revenue.
| Builder | Volume (1m) | Users | Taker | Maker | Effective | Revenue (1m) | Per user |
|---|
Polymarket's documentation states a maximum taker fee of 100 bps and a maker maximum of 50 bps. Two builders exceed it by a factor of four.
This is not a rounding artefact. Across 261 MetaMask executions the implied rate is flat to three decimals — dispersion 0.000 — which is also what proves the fee base is USDC notional rather than shares.
Read the same fills against shares instead of notional and the implied rate scatters from 68 to 303 bps. Only one reading is constant, which settles what "notional" means in the fee formula — a question the documentation leaves open, and one that changes the answer by a factor of 1/price.
Everything here comes from three public endpoints that need no key. The method matters more than the numbers, because the numbers move daily.
Builder fee = USDC notional × bps. Settled by comparing dispersion of the implied rate under both readings: 0.000–0.49 against notional, 0.80–2.34 against shares, with no overlap across 16 builder-side pairs.
The maximum implied rate, not the median. Payouts truncate downward, so small fills understate the setting. Observed maxima are all round numbers — 5, 10, 25, 50, 100, 400 — while medians are not.
Separate, and it does not reach the builder. Taker-only, and shaped by variance: rate × shares × p × (1−p), not min(p, 1−p). Dispersion 1.03 against 1.91 across 774 taker fills. The rate is per-market, 0.0280 to 0.0720.
The unit of the published volume field is unverified — confirming it would mean draining a builder's full history, and even the smallest of the top 50 exceeds 12,000 executions. Every revenue figure here is therefore an estimate, not a reading.
Builders can reconfigure. The endpoint mixes epochs without dating them, so a rate shown here is the highest ever observed, not necessarily today's. Rows where two round tiers appear are flagged in the source data.
Two pages of attributed executions per builder, 300 rows each. Fills below $5 of notional are excluded from rate inference — at 400 bps a $1 fill pays $0.04, and some pay $0.000000 outright.