Strategy and risk

Prediction market liquidity, in one number: a 10.03% net edge that could only take $42

Prediction markets liquidity decides what you can trade. Our scanner logged a 10.03% net edge carrying only $42 of deployable size behind it.

Last checked 5 August 2026 · 5 sources · 1 not yet stamped

Most prediction markets are not tradeable at size, and the percentage on the screen will not tell you which ones are. On a recent run of our own market scanner, the best candidate on the board carried a net edge of 10.03% and a deployable ceiling of $42, because that is where the book ran out. Ten percent of nothing is nothing. At that ceiling the trade is worth $4.21 if the whole $42 fills at the quoted price, against a paper book that currently has $500 deployed across five positions. To turn a 10.03% net edge into $100 you would need $997 of deployable size behind it, and that size was not there.

That is the whole subject. A trader quoted in our community corpus said they "could only find like 10 things that met all the criteria" and nobody ranking on this query has answered them with a number. Below is what our scanner actually filters out, what the fee coefficients set as a floor before depth even matters, and how to check depth yourself on a venue whose public price feed does not publish any.

An edge is a rate. Money is a rate multiplied by a size

Every page ranking on this query teaches the same three metrics: spread, depth, volume. All three are real and none of them is the thing you need, which is a dollar answer to "how much can I put on this before the price I am quoting stops existing". Spread is a price, depth is a quantity at a price, volume is history. The number that decides whether a market is tradeable is the second one multiplied by the first, filtered by the fee, and none of those pages produces it for any specific market.

Our scanner produces it per candidate and calls it the deployable ceiling: the size at which the quoted edge survives. On the run described above the answer was $42. Two things follow immediately, and both are uncomfortable.

A big percentage on a thin book is not automatically worse than a small percentage on a deep one. At 10.03% net, $42 returns $4.21. One of our own real positions, 646548, was opened at a 1.59% edge and models to +$0.88 net on one leg. The thin candidate is the better trade in dollars, and it is still not fillable at slot size. Both statements are true at once, which is exactly why a single percentage threshold cannot rank a board.

Any threshold expressed only as a percentage is unrankable. Our scanner had this defect and it cost us money. It surfaced two candidates at an identical 1.20% claimed edge: 478026 at an entry price of $0.8693, and 4ad1b0 at $0.2965. Same number, opposite economics, because the fee is a parabola and 1.20% falls on opposite sides of break-even depending only on where the entry sits on that curve.

The fee sets a floor under the edge before depth is even relevant

Before you look at a book, arithmetic has already disqualified most of the board. The entry-side fee as a share of your stake is rate x (1 - P), where P is the price in dollars. The contract count cancels out, because C equals stake divided by P.

That single expression is why the cheap end of the board is the expensive end. Figures below are computed from the published per-category coefficients at fee schedule version 2026-08-04.a.

Entry pricePolymarket 0.04 (finance, politics, mentions, tech)Polymarket 0.05 (sports, economics, culture, weather, other)Polymarket 0.07 (crypto) and Kalshi 0.07 takerPolymarket 0.00 (geopolitical)
$0.103.60%4.50%6.30%0%
$0.253.00%3.75%5.25%0%
$0.502.00%2.50%3.50%0%
$0.751.00%1.25%1.75%0%
$0.900.40%0.50%0.70%0%
$0.950.20%0.25%0.35%0%

Polymarket's maker fee is zero, not a discount, at every price in every category. Kalshi's maker rate is unresolved; our scanner models it at 0.0175 as a working assumption. Read the table as the cost of crossing the spread, which is what a thin market forces you to do, because a resting order in a thin market is an order that may never fill.

Our own fee model puts round-trip break-even at 3.63% for a Kalshi leg and for Polymarket crypto, 2.56% for the Polymarket 0.05 categories and 2.04% for the 0.04 categories. Anything under those numbers is not an edge. Our scanner page still publishes a 1.0% minimum edge threshold and has not been fixed. That is a defect in our tool, stated here rather than quietly patched. The two calculators, Kalshi and Polymarket, run the same coefficients if you want to check a specific price, and the fee math guide works the Kalshi formula through in full.

Thin books force order splitting, and on Kalshi that multiplies the rounding penalty

This is the interaction nobody in the ranking set covers, and it is calculable from the published formula rather than asserted.

Kalshi's taker fee is roundup(0.07 x C x P x (1 - P)), rounded up to the next whole cent. A thin book is precisely the situation in which you cannot fill 100 contracts in one order, so you split the order across price levels or across time. Each order rounds up separately.

Take 100 contracts at $0.03, the longshot corner of the board where thin books are the norm.

  • One order of 100. 0.07 x 100 x 0.03 x 0.97 = $0.2037, rounded up to $0.21.
  • Ten orders of ten. 0.07 x 10 x 0.03 x 0.97 = $0.02037 each, rounded up to $0.03 each. Ten of those is $0.30.

Splitting the same position across a thin book costs 43% more in fees, and not one cent of that is slippage. The same test mid-board at $0.50 gives $1.75 in one order against $1.80 in ten, because 0.07 x 10 x 0.50 x 0.50 is $0.175 and rounds to $0.18. That is 2.9% more. Same splitting behaviour, roughly fifteen times the penalty at the cheap end. So the two costs of a thin market, worse fills and more orders, both bite hardest exactly where liquidity is thinnest, and they compound instead of adding.

One caveat we have not closed: we have verified the formula and the roundup from Kalshi's own documentation, but we have not verified whether the roundup is applied per order or per fill. If it is per fill, partial fills make the split-order penalty worse than the figures above, not better. It is on the unverified list.

On Polymarket, the public price feed does not publish depth at all

Every competitor page tells you to check the order book depth. On the larger of the two venues, the endpoint most third-party tools are built on does not expose it.

Polymarket's Gamma API returns bestBid and bestAsk for a market. Top of book. No ladder, no size at each level, no cumulative quantity. Our own history collector confirmed this on 31 July 2026, and it arrived from an unexpected direction: we were looking for the YES plus NO under $1.00 trade, and found that the NO side is the arithmetic complement of the YES side, so yes_ask + no_ask = 1 + spread, always at or above $1.00 by construction. Gamma prices sum to exactly $1.00. Intra-market arbitrage on modern Polymarket is dead, and the same field set that kills it also means depth is simply not in the response.

The consequence is direct. If a tool, a dashboard or a blog post is quoting Polymarket depth, it is either hitting the CLOB order book rather than Gamma, or it is inferring depth from volume, which is a different measurement and not a substitute. Ask which. We have not audited any third-party tool's data source and are not naming one. Our own scanner is subject to the same limit, which is one reason the deployable ceiling matters more to us than a depth chart: it is a single conservative number that survives an incomplete feed, rather than a picture implying more resolution than the data has.

What "met all the criteria" actually removes from the board

The trader who found ten things was not being fussy. Here is what one of our own runs looks like, and every count below is a per-run observation, not a rate.

StageCount on a Collector B run
Markets scanned500, across 8 tags
Signals raised29 on one run, 37 on another, 44 on a third
Opportunities written to the snapshot20
Share of the scanned universe reaching the snapshot4.0% on the 20-of-500 run

Two runs with very different signal counts, 29 and 44, both produced 20 opportunities. That is not a stable ratio, it is two observations, and we are not going to publish it as one.

Then the size question runs, and it is brutal in a way the signal count never shows. The 10.03% candidate was in the snapshot. Its ceiling was $42, which is 8.4% of the $500 our paper book has deployed. It qualified on edge and failed on size, and a page that only ever reports the edge would have shown it to you as the best trade on the board.

Note what the scanner is and is not. It detects SPREAD_EDGE, VOLUME_SURGE and PRICE_MOMENTUM. None of those is arbitrage. They are directional bets with no locked outcome, and we say so on the scanner page rather than let the word do work it has not earned.

Our own positions are the worked slippage example, and one of them could never win

Every page in this set illustrates slippage with an order book. Those books are illustrative. They were typed by the author. We are not going to type one.

Here instead are five real open paper positions, all opened 28 July 2026 on $500 deployed, run through the verified per-category coefficients. The two-leg column adds a Kalshi leg at 0.07.

IDMarketEntry priceClaimed edgeBreak-evenNet, 1 legNet, 2 legs
c601f1OpenAI $1t IPO before 2027$0.92963.80%0.28%+$3.52+$3.02
704bdfMamdani freeze NYC rents$0.87842.15%0.49%+$1.66+$0.80
646548No Fed rate cuts in 2026$0.85731.59%0.71%+$0.88minus $0.12
478026Hyperliquid airdrop by Dec 31$0.86931.20%0.91%+$0.29minus $0.63
4ad1b0Bernadette Wilson win AK governor$0.29651.20%2.81%minus $1.61minus $6.54
Total on $500+$4.73minus $3.48

Read the last row twice. As a cross-venue strategy this book is negative by $3.48 before the market moves at all. And 4ad1b0 was a guaranteed loss at the moment of entry: an entry price of $0.2965 puts the fee alone at 2.81% of stake, and it was entered on a claimed 1.20% edge. That is not a bad outcome, it is bad arithmetic, and our scanner produced it because its threshold was price-blind.

Four of the five positions cluster between $0.8573 and $0.9296, which is where rate x (1 - P) is small. That clustering is the fee curve doing the selecting, not skill. The one position outside it is the one that cannot win. Our full paper log stands at 10 trades, 6 closed, net minus $28.30 on $500 deployed as of 4 August 2026.

How to check depth before you trust a number

Six checks, in the order that kills candidates fastest.

  1. Compute the fee floor first. Work rate x (1 - P) for the entry, using the category's own rate, not a single site-wide coefficient. On Polymarket that is 0.04, 0.05, 0.07 or 0.00 depending on category. If the claimed edge does not clear it, stop. You have not spent any time on the book.
  2. Ask what size the quoted price is good for. Not the spread in cents, the dollar quantity. If the source cannot answer, the number is decoration.
  3. Ask which endpoint the number came from. On Polymarket, Gamma gives you top of book only. Depth requires the CLOB order book. Volume is not depth, and a volume-derived depth estimate should be labelled as one.
  4. Compare the ceiling to your own position size, not to zero. A $42 ceiling is not "illiquid" in the abstract. It is unusable for a $100 position and fine for a $25 one.
  5. Count the orders you will need. On Kalshi each order rounds up to a whole cent separately. Ten small orders at $0.03 cost 43% more in fees than one order of the same total size.
  6. Price the exit, not just the entry. You will need depth on the other side, later, when the market has moved and the crowd that provided your fill has an opinion. A ceiling measured today is a fact about today.

If you post rather than cross, read the maker and taker arithmetic in the fee math guide alongside this, because a zero Polymarket maker fee is only free if the order fills, and adverse selection is the price of a fill in a thin book. The vocabulary here, thin book, half-spread, quote lag, adverse selection, dead brackets, is defined in the glossary.

Where the two venues differ, and where we do not know

We can compare what each venue discloses, which is a different and more honest claim than comparing how deep they are. We have not measured comparative depth on either venue and will not imply that we have.

KalshiPolymarket
Taker rate0.07, one rate0.04 to 0.07 by category, 0.00 for geopolitical
Maker rateUnresolved. We assume 0.0175Zero. Makers are never charged
Fee roundingRounds up to the next whole centNo roundup rule in our model
Public price feed we have readDeveloper documentationGamma returns bestBid and bestAsk only
Depth exposed on that feedNot verified by usNo
Depth we have measured ourselvesNoneNone beyond our scanner's per-candidate ceiling

The practical difference for sizing is the rounding rule and the category rates, both of which change the floor your edge has to clear. Everything below that floor is identical on both venues: you cannot trade a price you cannot get filled at. Platform-level context sits in the Kalshi review and the Polymarket review; where the money physically sits is a separate question. If your plan for thin markets was to sell the unlikely side of everything, we tested that.

What we could not verify

This section is the point of the page.

  • Which market the 10.03% and $42 candidate was. Our note preserves the net edge and the deployable ceiling. It does not record the market name, its tag, or its fee category, so we cannot show you the fee arithmetic on that specific candidate.
  • The exact run date of that scan. Collector B has run on a 30-minute cycle since 31 July 2026 19:30 UTC. The note says "recent" and we are not going to guess a timestamp.
  • How our scanner computes the ceiling. We know it reports one per candidate. We have not published the function, and until we do you should treat the $42 as our number rather than a verifiable one.
  • An arithmetic conflict inside our own notes. One run is recorded as 29 signals with a breakdown of 6 spread, 22 volume and 3 momentum, which sums to 31. We have not reconciled the two figures. The 20-opportunity count on that run is unaffected either way.
  • Whether Kalshi's roundup applies per order or per fill. The split-order calculation above assumes per order. Per fill would make it worse.
  • Comparative depth between the two venues. Not measured by us. Anyone publishing a ranking should be asked for the endpoint and the sample size.
  • The originating source of the "10 things that met all the criteria" quote. It sits in our community corpus of 17 sources. The note does not preserve which one, or the date. Reddit was blocked at domain level throughout that research, so it is not from there.
  • The search demand for this page's own keyword. Our keyword file maps 103,149 terms across the Kalshi and Polymarket seeds, pulled 29 July 2026, and prediction markets liquidity is not in it. We have no Volume, Traffic Potential or Keyword Difficulty reading for it and are not going to estimate one.
  • Whether any of this generalises. Five open positions and a handful of runs. The sample is small enough that every figure on this page is published as an observation with its arithmetic attached, never as a rate.

Nobody pays us for this page

PredictionEdge currently takes no referral revenue, and whether it ever will is undecided. A Polymarket code exists on the scanner page and has earned nothing. There is no signup link on this page.

Our own paper trade log is public and it is losing: 10 trades, 6 closed, net minus $28.30 on $500 deployed. One of those positions was arithmetically unwinnable at entry, because our own scanner used a price-blind percentage threshold, which is the exact failure this page is about. The entry gate has since been changed to edge > rate x (1 - P) and the alert threshold was raised from 2.0% to 4.0%, but the scanner page still publishes a 1.0% minimum and the trade stays in the log.

If a page tells you a market has a 10% edge and cannot tell you how many dollars that edge is good for, the missing number is the whole answer.

Questions people actually type

How much liquidity does a prediction market need before it is tradeable? Enough that the quoted price survives your position size, which is a dollar answer and not a cent spread. Our scanner reports a deployable ceiling per candidate. One recent candidate with a 10.03% net edge had a ceiling of $42, so it was unusable for a $100 position and perfectly fine for a $25 one.

Why does a market show a big edge if I cannot fill any size? Because the edge is quoted at the top of the book and the size behind it is a separate number. A 10.03% net edge with a $42 ceiling returns $4.21 if the whole ceiling fills at the quoted price. To net $100 at that edge you would need $997 of deployable size, and it was not there.

Can I see order book depth from Polymarket's API? Not from the Gamma endpoint. Gamma returns bestBid and bestAsk, which is top of book with no size ladder and no cumulative quantity. Our own history collector confirmed this on 31 July 2026. Depth requires the CLOB order book instead. Volume is a different measurement and is not a substitute.

What edge do I need just to cover fees? The entry-side fee as a share of stake is rate x (1 - P). At a $0.50 entry that is 2.00% on Polymarket's 0.04 categories, 2.50% on the 0.05 categories and 3.50% on crypto or a Kalshi taker leg. Our model's round-trip break-evens are 2.04%, 2.56% and 3.63% respectively.

Are cheap contracts a good way into thin markets? No, that is the worst combination available. Break-even as a share of stake is highest at low prices: 6.30% at a $0.10 entry on a 0.07 rate. Add Kalshi's whole-cent roundup and ten small orders at $0.03 cost $0.30 against $0.21 for a single order of the same size, a 43% increase.

How many markets actually pass a size filter? On one of our runs, 500 markets scanned produced 29 signals and 20 opportunities written to the snapshot, which is 4.0% of that run's universe. The size question then runs on top of that. Treat every count as a per-run observation: another run produced 44 signals and the same 20 opportunities.

Does trading only deep markets guarantee a profit? No. Four of our five open positions sit between $0.8573 and $0.9296, where fees are smallest, and the book still models to minus $3.48 as a two-leg strategy before any market movement. Our full log stands at 10 trades, 6 closed, net minus $28.30 on $500 deployed.

Sources

1 of these 5 entries are held in our notes but the primary document has not been re-read and linked yet. They are marked below rather than mixed in with the rest.

  1. https://docs.polymarket.com/ Polymarket fee documentation. Per-category taker rates and the zero maker fee. Read 29 Jul 2026, re-verified at source 5 Aug 2026.
  2. https://docs.kalshi.com/ Kalshi developer documentation. Taker fee formula and the roundup to the next whole cent. Underpins the fee model at schedule version 2026-08-04.a.
  3. Polymarket Gamma API market responses, field set including bestBid and bestAsk : observed by our own history collector from 31 Jul 2026 16:15 UTC. Endpoint URL and a re-read date to be stamped before publish.not yet stamped
  4. PredictionEdge Collector B outputs, snapshot.json and trade_log.csv : per-run signal and opportunity counts, the deployable ceiling figure, and the five open positions. Internal artefacts, run dates 31 Jul to 4 Aug 2026, not public URLs.
  5. PredictionEdge community-language corpus, 17 sources : the "could only find like 10 things that met all the criteria" quote. The originating source and date were not preserved in the note.