Prediction-market indices and reference rates, with Kalshi on the tier you can test.
Tools That Cover More Than One Venue
Fourteen cards put the same question from several venues in one schema. Every one of them flattens a difference to do it — the question is which.
Last updated
What the flag claims
capabilities.cross_venue means one thing on these fourteen cards: the product puts prices for
the same question, from more than one venue, in front of you in one shape. It is not a claim that
something can speak two APIs — a single-venue SDK does that — and it is not a claim about breadth
of features.
It is also not a claim that the matching is done for you, and that is the first fork in this
listing. Predictefy publishes a /v1/clusters endpoint that matches
equivalent markets across venues and a discrepancy endpoint over the result.
Brier.fyi matches by embeddings, then refines with tags, keywords and duration
overlap, then has a person approve the pair, against a stated bar: two markets may be grouped only
if their differences would not have more than a one-percent chance of changing the resolution.
Adjacent goes further and publishes the combination as a series — a reference
rate takes the same underlying question priced on more than one venue and returns one number.
At the other end, CCXT and PMXT hand you many catalogues behind one verb family and leave the matching exactly where it started. That is a legitimate reading of the flag and a completely different product.
What has to be erased
In this catalogue the venues disagree about everything that decides whether a number means anything. Who resolves the question, and against what. Who may legally hold the account. How the price is made — a funded curve, a resting order, a pool. What you are paid in, if anything. A schema with one row shape over all of them has to pick a value for each of those or drop the field, and both choices lose something.
Our own frontmatter shows the strain. DepthFeed and
Predexon each leave markets.settlement out entirely, with a comment in the
file saying that either value would be a false claim about the rest of the coverage. Adjacent and
Predictefy do carry a value and both say in their bodies to read it as a property of the
underlying venues, not of the feed. FinFeedAPI covers nine venues and groups
them as regulated, decentralized, social and on-chain outcome markets — a grouping which is
itself an admission that a Manifold price and a Kalshi price are not the same kind of object.
Every card here has resolution_source: null, because none of these products resolves anything;
the rules belong to the venue that wrote them. Read
who decides the outcome before you treat two matched rows as
the same question, and where the liquidity comes from before
you treat two matched prices as comparable quotes.
Price formation is the axis that is easiest to normalise and worst to normalise away. A number
from a central limit order book is somebody's resting order, and you can ask how much is behind
it. A number from an automated market maker is a curve quoting you, and it moves against you as
your own order grows. Both arrive in a price field, and once they are in the same column nothing
in the row says which kind it was — which is why a product that flags a reconstructed top-of-book
as synthetic, as Predictefy does, is doing something the schema does not do by itself.
Access is the third axis and it is the one that bites fastest. Synthesis puts Polymarket and Kalshi in one browser desk and its own terms name the United States first in a list of places barred from using the site to trade, with no exceptions and a ban on using a VPN to get around it. The unified view is real; the eligibility behind it is not unified at all. That is the subject of a guide of its own: why a venue is unavailable where you are.
Where the normalisation is honest
The useful pattern is a product that returns the difference as data instead of averaging it away.
- Predictefy documents coverage per capability rather than in a lump: which venues serve real
order-book depth and which return a reconstructed top-of-book flagged
synthetic: true, which publish a public trade tape and which answerNOT_SUPPORTEDrather than an empty array, which have stored history and which reporthistory: false. A total can benullmeaning not counted, never zero, and a derived candle is distinguishable from a real one. Its cluster similarity score is explicitly not offered as a calibrated probability of equivalence. - Adjacent returns a reference rate together with the
spreadbetween its sources, and its own documentation warns that a wide spread means the single number is hiding a disagreement rather than summarising one. - Artemis carries thirteen venues on one metrics framework and publishes a data-start date for each — Polymarket from September 2020, Kalshi from June 2021, Limitless from April 2024, Myriad from February 2025 — so a chart that begins in the middle is legible as coverage rather than as a collapse in volume.
- Predexon states plainly that its coverage is not uniform: five venues on the REST feed, a tick archive over three of them, and the WebSocket, the wallet analytics and the oracle feed Polymarket-only.
- Brier.fyi publishes its matching rule, which is the part most cross-venue accuracy comparisons skip entirely. It is also the one card here to read with a date in hand: its last commit is 24 January 2026, the one before it is titled "infra, pause nightly data pipeline", and its public API answered 502 when the card was written. A frozen archive with a good methodology page is still worth reading — as an archive.
Where it hides the difference
- DepthFeed records Polymarket off its CLOB WebSocket, Kalshi by paced full-depth REST polling up to a hundred levels a side, and Limitless through its push socket. Three capture methods arrive in one archive shape, and a book sampled by polling is not the same evidence as a book reconstructed from every delta.
- Adjacent's free tier is not a small version of the paid one. On 19 September 2026 every one of the 1,694 markets its public endpoints returned was Kalshi, and a request filtered to Polymarket came back empty. The tier a reader can check does not demonstrate the coverage the paid tier is bought for.
- Lychee documents its Polymarket ingestion as the Gamma API plus the CLOB WebSocket and names no upstream source at all for its much larger Kalshi archive.
- The Apify store actors are not one product. A search on 19 September 2026 returned 35 actors naming both Kalshi and Polymarket, from 32 different accounts, each with its own schema, pricing and maintenance — and Apify's terms say that unless stated otherwise the actors are not part of what Apify provides.
- PMXT is candid about the cost of its own abstraction: the README's event–market–outcome hierarchy is the shape everything is bent into, and a venue that does not fit it fits it anyway.
- CCXT's seven prediction venues are uneven behind the unified verbs. All seven do orders,
cancellation, positions and books over REST; Limitless declares
fetchBalancefalse, Binance's prediction class has no candles, and live streaming exists for Polymarket, Myriad and Opinion only. - Synthesis shows Kalshi markets in its discovery listing and binds you to Kalshi's member agreement, and whether an order is actually routed there is not something we opened an account to confirm.
Picking one
For a live read across many venues in one schema, the choice is coverage against what you can check: FinFeedAPI's nine venues with no recurring free allowance, Predictefy's sixteen with nothing at all readable before you have a key, Adjacent's two plus indices and news with a delayed free tier. For recorded order books, DepthFeed and Predexon are the archive specialists and neither covers every venue it names. For the normalisation as code you keep rather than rent, CCXT, PMXT and Prediction Market Analysis — the last of which is a 36 GiB Parquet snapshot plus its own indexers, not a feed. To read without writing any code, Lychee, Artemis, Polyrama and Synthesis. To compare accuracy rather than price, Brier.fyi, frozen.
Whichever you take, there are four questions worth asking of any combined number before you quote it at anyone. Does the row say which venue it came from — Adjacent prefixes every id with its venue, and that is the cheap version of the answer. Does the product return the disagreement as well as the summary. Can the free or trial tier demonstrate the coverage the paid tier is sold for. And is the licence one you can actually use: Adjacent's pricing page excludes redistribution and use in a financial product on both paid plans, Artemis's programmatic access sits on a tier the documentation prices from 50,000 US dollars a year, and PMXT's plans are personal use only.
The previous unified API over Polymarket and Kalshi is now an alternatives page, which is the other thing to weigh: a rented normalisation layer can be acquired and switched off, and yours cannot.
Nothing in this collection has been run by this site against a funded account. Venue counts, coverage claims and capability tables above are read from each vendor's own documentation and dated on the cards.
All 14 of them
Showing 14 of 14
A store of third-party actors that normalize Kalshi and Polymarket into one row shape.
Daily volume, open interest and fees across thirteen event venues, with methodology.
Brier scores and letter grades for matched questions across four platforms.
One client for seven prediction venues, inside a 104-exchange crypto library.
The recorded bid-ask ladder for crypto up-or-down markets, which no venue keeps itself.
Nine event venues normalized into one REST schema, billed by usage credit.
No-code queries, charts and backtests over Kalshi and Polymarket history.
CCXT-shaped client for prediction markets, with a hosted API and a self-hosted mode.
Polymarket and Kalshi in one terminal, with wallet analytics and a REST API.
Tick-level book history as Parquet, billed by the gigabyte, plus a mempool-aware feed.
Sixteen venues behind one verb family, priced in credits, with nothing readable for free.
Open-source Kalshi and Polymarket dataset, indexers and analysis scripts.
Polymarket and Kalshi in one browser desk, with copytrading and a shared portfolio.
FAQ
What does the cross-venue flag on a card actually claim?
That the product puts prices for the same question from more than one venue side by side, in one shape. It is not a claim that the product can call two APIs — plenty of single-venue clients do that. It is also not a claim that the matching is done for you. Predictefy publishes a cluster endpoint and Brier.fyi has a person approve each pair, while CCXT and PMXT hand you fifteen catalogues in one verb family and leave the matching where it started, with you.
Why do some of these cards leave the settlement field empty?
Because one value would be a false claim about the rest of the coverage. DepthFeed and Predexon both omit it, each with a comment in the file saying so — they cover venues that do not share a settlement type. Adjacent and Predictefy do carry a value and both say in their bodies to read it as a property of the underlying venues rather than of the feed. That is the flattening problem showing up inside our own frontmatter.
Can I trade on several venues through one of these?
Fewer than can read on several. PMXT's hosted writes cover Polymarket, Opinion and Limitless, and Kalshi writes need the self-hosted path. Polyrama places real Polymarket orders and is read-only on Kalshi, with live Kalshi orders described as planned. CCXT implements order placement on all seven venues in its prediction namespace. The rest of this collection is data.
Is a price gap between two venues a trade?
Often it is two different questions. Predictefy's own documentation only labels a row executable when live non-synthetic asks, full depth at the requested size, open market status, a verified fee model and resolution equivalence all pass, and everything else stays an indicative price discrepancy with a machine-readable reason. A gap that survives those checks still has to survive fees on both legs and the capital tied up until both resolve — see the guide on what a trade actually costs.