Best Execution Router
Route a trade to the cheapest venue across platforms
The **Best Execution Router** finds the same outcome trading on multiple prediction-market venues, then tells you which one is cheapest to buy or richest to sell **after fees**. The same "Yes" on a Fed rate decision can cost 61c on Polymarket, 63c on Kalshi, and 59c on Manifold for an economically identical payoff. Routing your order to the right venue is free alpha you leave on the table every time you trade the first book you happen to open.
This is not arbitrage (buying one side and selling the matching side across venues for a locked profit β that lives in the [Arbitrage Finder](/docs/arbitrage)). The Execution Router answers a simpler, more frequent question: *I've already decided to take this position. Where do I get the best fill?*
## What the Execution Router Does
The router continuously ingests order books from four venues:
- **Polymarket** β on-chain CLOB, USDC-denominated, gas/relayer costs
- β’**Kalshi** β CFTC-regulated exchange, USD, per-contract trading fees
- β’**Manifold** β play-money and cash markets, AMM-style pricing
- β’**PredictIt** β USD exchange with deposit, trading, and withdrawal fees
For every event Predite tracks, it identifies which of these venues list a **matched market** β a contract that resolves on the same real-world outcome under compatible rules β and lines up their prices side by side. It then layers each venue's full fee model on top of the raw quote to produce a single **net price** per venue, so you're comparing apples to apples instead of headline numbers that hide very different cost structures.
The output is a ranked table: cheapest net cost to enter at the top (for buys), best net proceeds at the top (for sells), with the price gap to the next-best venue shown explicitly so you know whether switching is worth the friction.
### Why net-of-fees matters
Headline prices lie. Kalshi's trading fee is a curve that peaks near 50c (where uncertainty β and the exchange's take β is highest) and shrinks toward the tails. PredictIt charges 10% on net winnings plus 5% on withdrawals, which can quietly erase an apparent edge. Polymarket's on-chain costs are small but non-zero and vary with network conditions. A venue showing the lowest sticker price is frequently *not* the cheapest once its fee schedule is applied. The router does this arithmetic on every quote so you don't have to keep four fee tables in your head.
## How Matched Markets Are Identified
Lining up "the same market" across venues is the hard part, and it's where most manual cross-venue comparison breaks down. Two contracts can look identical and resolve differently β or look different and be economically the same. Predite identifies matches through a layered pipeline:
1. **Semantic matching.** An embedding model compares the full question text, description, and category of every market against every other venue's markets, surfacing candidate pairs that describe the same underlying event even when the wording differs ("Will the Fed cut rates in March?" vs. "March FOMC: rate decrease"). 2. **Entity and date extraction.** The system pulls structured fields β the entity (a person, team, ticker, agency), the event date, and the threshold or strike β and requires them to agree. A market about *June* CPI never matches one about *July* CPI no matter how similar the wording. 3. **Resolution-criteria check.** Candidate pairs are filtered on **resolution source** and **settlement rules**. Two markets only match if they resolve on the same authority (e.g., the official BLS release, the AP race call) and use the same cutoff. This is what keeps the router honest: a tighter "win by 5+" market is never silently equated with a plain "win" market. 4. **Confidence scoring.** Each surviving pair gets a **match confidence** score. High-confidence pairs flow into the comparison table automatically; borderline pairs are flagged for review and shown with a warning badge rather than hidden, so you can make the call yourself.
The pairs that feed a given comparison are always inspectable β see **Contributing Market Pairs** below. The router never asks you to trust a number you can't trace back to two specific contracts.
### Resolution risk is the thing to watch
Even a high-confidence match can carry **resolution risk** β the chance that two venues settle the same event differently because of an edge case in their rules (timezone of a deadline, what counts as "official," how a void/cancellation is handled). The router shows the matched rules side by side precisely so you can spot these before committing. Treat any flagged or medium-confidence pair as a prompt to read both rulebooks, not as a guaranteed equivalence.
## Using the Router, Step by Step
1. **Open the router.** Go to **/dashboard/execution-router**. You'll land on the live comparison list, sorted by the size of the cross-venue price gap so the biggest savings opportunities surface first. 2. **Find your event.** Search by keyword, or filter by category (Politics, Economics, Crypto, Sports), venue, event date, or minimum liquidity. If you arrived from another feature β say an [EV Scanner](/docs/ev-scanner) opportunity β the event is preselected. 3. **Open the comparison card.** Each card shows the matched outcome with every venue that lists it, displaying for each: raw best bid/ask, the fee applied, the **net price**, available size at top of book, and 24h volume. 4. **Pick your side.** Toggle between **Buy Yes / Buy No** (or the multi-outcome equivalent). The ranking re-sorts: for a buy, lowest net ask wins; for a sell, highest net bid wins. The current best venue is highlighted and the **savings vs. next-best** is shown in cents and basis points. 5. **Set your size.** Enter your intended order size. This is critical β the top-of-book price often only covers a small clip. The router walks each venue's book and shows your **net average fill price for that size**, which can re-rank venues when the cheapest one is thin. A venue that's best for 100 shares may be worst for 5,000. 6. **Check liquidity and depth.** Review the depth bar and slippage estimate. If filling your full size would move the price materially on the winning venue, consider splitting across the top two venues or working the order with [TWAP Orders](/docs/twap-orders) to reduce impact. 7. **Route the order.** On the **Bot plan**, click **Route** to send the order to the winning venue through a connected account. On lower plans, use **Copy details** to grab the venue, side, price, and size, then place it manually in that venue's app. See **Plan Gating** below.
### Reading the comparison table
- **Net price** is the number that decides the ranking. Always compare on this, not the raw quote.
- β’**Spread** per venue tells you the round-trip cost if you might exit soon β a venue with a great entry but a wide spread can be the wrong long-term home.
- β’**Size @ top** is how much you can fill before the price worsens. Small numbers here are the most common reason the "best" venue isn't actually best for your order.
- β’**Match confidence** badge: green = automatic high-confidence match; amber = review recommended; always click through to verify rules before sizing up.
- β’**Last updated** timestamp: quotes are live but venues poll at different rates. If a number looks stale, refresh before routing.
## Contributing Market Pairs
Every comparison is built from one or more **contributing market pairs** β the specific contracts on specific venues that the router determined are equivalent. Click **View pairs** on any card to expand the full provenance:
- The exact market title, venue, and direct link for each leg
- β’The **resolution source** and **settlement deadline** for each
- β’The **match confidence** score and which signal drove it (semantic, entity, date, rules)
- β’Any **rule deltas** the system detected (e.g., "Kalshi settles at 5:00pm ET close; Polymarket uses official agency release")
- β’A manual **override**: if you disagree with a match, exclude a pair from the comparison for your account, or report it so the matching pipeline can improve
This panel is your audit trail. Before you trust a price gap, especially a large one, open the pairs and confirm the two contracts really do resolve identically. **A 5c gap that looks like free money is sometimes a 5c gap because the markets aren't actually the same** β a subtle threshold or deadline difference the headline hides. The contributing-pairs view is where you catch that.
### Why a comparison can have multiple pairs
Sometimes a single economic outcome is expressed by *several* contracts on one venue β e.g., a "candidate wins" outcome that Polymarket runs as one market and Kalshi splits into bracketed sub-markets. The router can combine these so the comparison reflects the true equivalent position. The contributing-pairs view shows exactly how that aggregation was built so the netting is never a black box.
## Tips for Getting the Most Out of It
- **Always size before you decide.** Top-of-book ranking is a starting point; the order that matters is the one for *your* clip. Make a habit of entering size on step 5 every time.
- β’**Watch the curve on Kalshi.** Near 50c, Kalshi's trading fee is at its steepest. For coin-flip markets, an alternative venue often wins on net even at a slightly worse raw price; near the tails Kalshi frequently becomes the cheapest.
- β’**Mind PredictIt's withdrawal drag.** PredictIt can look attractive on entry but its 5% withdrawal fee and 10% on profits mean its net advantage needs to be real and large to be worth parking capital there.
- β’**Account for capital location.** The cheapest venue is only cheapest if you have funds *there*. Moving USDC on-chain or wiring to a new exchange has its own cost and delay; for small edges, trading where your capital already sits can beat chasing a 1c improvement elsewhere.
- β’**Split large orders.** When no single venue has the depth, routing part of your size to the top two venues often beats hammering one book and eating slippage. The depth bars make the split obvious.
- β’**Re-check right before you fire.** Prices move. The router is live, but confirm the winning venue and net price haven't shifted between analysis and execution β particularly around scheduled events on the [News & Calendar](/docs/news-calendar).
## Common Gotchas
- **"Same event" isn't always the same contract.** The single biggest mistake is treating a flagged or amber-confidence match as equivalent. Read both rulebooks first.
- β’**Stale liquidity on thin venues.** Manifold cash markets and niche PredictIt contracts can show a great price on tiny size. Confirm depth before assuming you can get filled.
- β’**Resolution-timing mismatches.** Two venues may agree on the outcome but settle on different dates, which matters for your capital's time value and for events that can be called early.
- β’**Fees change.** Venue fee schedules are updated periodically; the router tracks them, but if you maintain your own spreadsheet, it will drift out of date β trust the live net price.
- β’**Routing requires a connected, funded account.** One-click routing only works where you've linked an account with available balance. An unfunded or unconnected venue can still *win* the comparison; you just can't auto-route to it.
## Plan Gating
- **Starter ($29/mo):** View the comparison list and net-of-fees ranking for top-of-book, with a daily limit on comparisons and standard refresh. Great for spot-checking where to place an occasional trade.
- β’**Pro ($59/mo):** Unlimited comparisons, full depth-walked sizing (net average fill for your clip), the complete contributing-pairs audit view with rule deltas, manual pair overrides, and faster quote refresh. This is the tier most active traders want.
- β’**Bot ($99/mo):** Everything in Pro plus **one-click and programmatic routing** β send the order directly to the winning venue through a connected account, including API-driven routing inside automated strategies. Live order placement of any kind requires the Bot plan; see [Live Trading](/docs/live-trading).
On Starter and Pro you execute manually using **Copy details**; the analysis is identical, only the auto-routing is gated.
## How It Connects to Other Features
The Execution Router is the **execution layer** that sits under the rest of Predite. The [EV Scanner](/docs/ev-scanner) and [AI Probability](/docs/ai-probability) tell you *what* has an edge and *which side* to take; the router decides *where* to put the order on so fees and slippage don't eat that edge. Hand off in one click from a scanner result straight into the comparison.
For sizing, pair it with the [Kelly Calculator](/docs/kelly-calculator) to set your clip, then let the router confirm whether that clip fits the available depth on the cheapest venue. For larger positions, route through [TWAP Orders](/docs/twap-orders) to spread fills over time and minimize impact on whichever venue wins. Automated [Bot Strategies](/docs/bot-strategies) call the router under the hood, so every strategy fill is venue-optimized without manual steps. And when you're flat-out comparing both sides of a market for a locked profit rather than best single-leg execution, switch to the [Arbitrage Finder](/docs/arbitrage).
## Related Docs
- [Arbitrage Finder](/docs/arbitrage)
- β’[EV Scanner](/docs/ev-scanner)
- β’[TWAP Orders](/docs/twap-orders)
- β’[Live Trading](/docs/live-trading)