Slippage Simulator
See how much your order moves the price before you send it
The Slippage Simulator answers one question that separates profitable traders from frustrated ones: **what price will I actually get if I send this order right now?** On thin prediction markets, the price you see at the top of the book is rarely the price you fill at. Paste a market token id and a USD size, and Predite walks the live order book exactly the way the matching engine would, then shows you your true average fill price, how far you'd move the market, and whether you should slice the order into a TWAP instead.
Find it at **/dashboard/slippage**.
## Why Slippage Matters in Prediction Markets
Polymarket runs a **CLOB** (central limit order book). Every outcome β the YES token and the NO token β has its own independent book of resting bids and asks. When you submit a market order, you don't fill at the best price; you **walk the book**, consuming the best price first, then the next, then the next, until your size is filled. The more you buy, the deeper into the book you go, and the worse your average price gets.
This matters far more here than on deep equity or crypto markets, because prediction-market books are often shallow. A market trading at 52Β’ might have only $300 resting at 52Β’, then nothing until 55Β’. A naive $2,000 buy looks like it costs 52Β’ in your head β but in reality you pay 52Β’ on the first $300 and progressively worse prices on the rest, dragging your average to 54Β’ or higher. That 2-point drag is **slippage**, and it comes straight out of your edge.
If your **EV Scanner** told you a market had a 3-point edge and you give back 2 points to slippage, you've kept a third of the trade you thought you had. The Slippage Simulator exists so you never discover that *after* you've clicked buy.
## What the Simulator Computes
When you run a simulation, Predite pulls the live order book from the Polymarket CLOB for the token id you provide, then computes:
- **Expected average fill price** β the size-weighted price you'd actually pay (buy) or receive (sell), after walking every level your order touches.
- β’**Top-of-book price** β the best available price before any walking. This is the price you'd *wish* you got.
- β’**Slippage in pp** β the gap between your average fill and the top of book, in percentage points (e.g. 2.3pp). Always shown as a positive cost: buys fill above top, sells fill below it.
- β’**Slippage %** β the same gap expressed as a percentage of the top price, useful for comparing markets at very different price levels.
- β’**Levels consumed** β how many distinct price rungs your order ate through. One level means abundant liquidity; eight levels means you're scraping the bottom of the book.
- β’**Fees** β optional. Polymarket charges **0** taker fees on most markets, so leave this at 0. Kalshi charges roughly **0.5%**, so set it accordingly when modeling a Kalshi-equivalent fill.
- β’**Partial-fill warning** β if the book doesn't have enough depth to cover your full size, the simulator tells you exactly how much would fill and how much more depth you'd need.
## How to Use It, Step by Step
1. **Get the token id.** Each outcome has its own CLOB token id (a long numeric string). The fastest way to grab it is from the **Market Detail** page β open any market in Predite and copy the YES or NO token id from the order-book panel. Picking YES vs NO matters: they are separate books with separate depth. 2. **Paste the token id** into the simulator's input field at the top of /dashboard/slippage. 3. **Choose your side** β Buy or Sell. Buy consumes the **ask** side of the book; Sell consumes the **bid** side. The two sides almost never have the same depth, so always simulate the side you'll actually trade. 4. **Enter your size in USD.** This is dollar notional, not number of shares. Enter `2000` for a $2,000 order. The simulator converts USD to shares at each price level for you. 5. **Set fees if relevant.** Leave at 0 for Polymarket. Enter `0.5` to model Kalshi-style taker fees. 6. **Run it.** Predite fetches the live book and returns your average fill, slippage, levels consumed, and any warnings within a second or two. 7. **Read the verdict.** If slippage is acceptable, you have a green light to send a single market order. If it's high, scroll to the TWAP recommendation (covered below).
Re-run the simulation right before you trade. Books move second to second β a depth read from two minutes ago can be stale, especially around news or resolution events.
## Interpreting Depth and the Slippage Number
The headline number is **slippage in pp**, and Predite color-codes it against the same thresholds the engine uses internally:
- **Under 2pp β fine.** The book is deep enough for your size. A single market order is reasonable. No warning is shown.
- β’**2pp to 5pp β moderate.** You're paying a noticeable premium. The simulator flags this. Ask yourself whether your edge survives the haircut. If your EV was 4 points and slippage is 3, the trade is marginal at best.
- β’**Above 5pp β high.** The simulator warns that your average fill is significantly worse than the top of book. You are the liquidity event here, not a passive participant. Do not send this as one market order β split it, post limit orders, or size down.
Beyond the number, read the **levels consumed**:
- **1β2 levels:** plenty of depth relative to your size. You're a small fish in this pond.
- β’**3β5 levels:** you're a meaningful share of resting liquidity. Slippage is real but manageable with a TWAP.
- β’**6+ levels:** the book is thin for your size. Expect a partial fill or a bad average. This is a strong signal to use TWAP or wait for the book to refill.
A **partial-fill warning** is the loudest signal of all. It means the entire visible book on your side cannot absorb your order. The simulator will say something like "Book exhausted at $1,200 β need 40% more depth." That tells you two things: your true tradable size right now is about $1,200, and the remaining $800 either won't fill or will fill at whatever a market maker quotes next, which can be dramatically worse. Never send a market order that the simulator says will only partially fill β you'll either get a terrible average or leave a resting order hanging at the top of the book, telegraphing your intent to everyone watching.
## When to Use TWAP Instead
The Slippage Simulator is also a **TWAP decision tool**. TWAP (Time-Weighted Average Price) splits one large order into smaller slices executed over time, letting the book refill between slices so each slice fills near the top instead of walking deep every time.
Use TWAP when the simulator shows any of these:
- **Slippage above ~3pp** on the size you want to trade.
- β’**A partial-fill warning** β the book can't take your full size at once, but it will refill if you spread the order out.
- β’**6+ levels consumed** β you're eating too far into the book in a single shot.
Here's the practical workflow: simulate your full size, see unacceptable slippage, then re-simulate at a **fraction** of that size β say one-fifth. If the per-slice slippage drops into the comfortable range, that fraction is roughly your ideal slice size. Take your total divided by that slice size to get your slice count, then configure a TWAP order with that many slices.
TWAP orders in Predite support **3 to 20 slices** at intervals of **1 to 60 minutes**, with a price limit so no slice ever fills above (buy) or below (sell) a price you set. The simulator tells you *that* you should slice and roughly *how finely*; the [TWAP Orders](/docs/twap-orders) page covers configuring and monitoring the actual execution.
One caveat: TWAP trades time risk for impact savings. If you expect the price to move against you faster than the book causes slippage β say a resolution is imminent or news just dropped β a slow TWAP can cost you more than slippage would. The simulator measures impact, not directional risk. Pair its read with your view on how urgently you need the fill.
## Practical Tips
- **Simulate both directions before sizing a round trip.** If you plan to enter and later exit, check the exit side's depth too. Many markets have a deep buy side and a thin sell side; you can get trapped in a position you can't unwind cleanly.
- β’**Use it to reverse-engineer your max size.** Increase the USD amount until slippage crosses 2pp. That number is roughly the largest order this market can absorb cleanly right now β a far better position cap than a number you picked arbitrarily.
- β’**Cross-check with the Kelly Calculator.** The [Kelly Calculator](/docs/kelly-calculator) tells you the optimal size from an edge-and-bankroll standpoint; the Slippage Simulator tells you whether the market can physically absorb that size. The smaller of the two wins.
- β’**Watch for fee asymmetry across platforms.** When comparing a Polymarket fill to a Kalshi one for the same event, set the Kalshi fee to ~0.5% so the comparison is apples to apples. A market that looks 0.3pp cheaper on Kalshi can flip once fees are in.
- β’**Stale-book gotcha.** The CLOB endpoint can rate-limit and the simulator works off a short-lived snapshot. If you've left the page open, re-run before trading rather than trusting an old result.
## Gotchas
- **Token id, not market id.** The simulator needs the per-outcome CLOB token id. A market slug or condition id won't return a book.
- β’**YES and NO are different books.** Buying NO is not the same as selling YES in depth terms, even though they're economically related. Simulate the exact token you'll trade.
- β’**The simulation is not a quote or a guarantee.** It reflects the book at fetch time. Between your simulation and your click, makers can pull or add liquidity. Treat the output as a high-quality estimate, not a locked price.
- β’**Empty book on your side.** If a market has no resting asks (or no bids), the simulator returns a "cannot execute" warning. That's not a bug β there's simply nothing to fill against on that side right now.
## Plan Availability
The Slippage Simulator is a **read-only analysis tool** and is available on **Pro ($59/mo)** and **Bot ($99/mo)** plans. Starter focuses on signals and paper trading; full execution analytics like slippage and the execution router live in Pro and above.
Acting on what the simulator tells you depends on your plan:
- **Paper Trading** (all plans) lets you log simulated fills at the average price the simulator returns, so you can practice sizing without risk.
- β’**Live CLOB trading** on Polymarket and **TWAP order execution** require the **Bot plan**. The simulator runs on Pro, but pushing a real or sliced order to the book is a Bot-tier capability.
In short: Pro lets you *measure* impact; Bot lets you *act* on it with live and TWAP orders.
## Related Docs
- [TWAP Orders](/docs/twap-orders)
- β’[Live Trading](/docs/live-trading)
- β’[Kelly Calculator](/docs/kelly-calculator)
- β’[EV Scanner](/docs/ev-scanner)