Why matching matters
Without matching, you’d see the same market listed twice — once from each provider — with separate volume, separate orderbooks, and no way to compare. Matching lets noma:- Merge market cards — show one card with combined volume instead of duplicates
- Display multi-provider badges — so you know a market is available on both Polymarket and Kalshi
- Enable best execution — route orders to the venue with the best price
- Show accurate market counts — “6 markets” instead of “4 + 5 with 3 duplicates”
The three-layer matching pipeline
Noma uses a three-layer system. Each layer handles a different type of market, and they run in sequence (Layer 1 first, then Layer 2 and 3 in parallel):Layer 1 — Structural matching
Speed: Instant | Confidence: 100% For markets with structured data — a ticker symbol, strike price, direction, and end date — noma can match them deterministically. No AI needed. How it works: Noma joins markets across providers where:- Same ticker (e.g., BTC)
- Same strike price (e.g., $95,000)
- Same direction (above/below)
- End date within 2 minutes of each other
Layer 1 runs first every cycle because it catches the majority of matches for price-based markets. This removes obvious pairs before the AI layers need to run.
Layer 2 — AI classification
Speed: Seconds | Confidence: 0–1.0 score For ticker-based markets that Layer 1 missed — same asset but different question structures — noma uses an AI classifier to determine whether two markets are the same bet. How it works:- Find unmatched markets that share a ticker across providers
- Pre-filter to same market type and end dates within 7 days
- Build cross-provider pairs and classify them in batches
- The AI classifies each pair as
exact,equivalent,similar, ordifferent - Returns a confidence score and reasoning for each pair
Layer 3 — Embedding similarity + AI confirmation
Speed: Slower | Confidence: 0–1.0 score For markets without ticker symbols — event-based markets like “Will the Fed cut rates?” or “Who will win the Super Bowl?” — there are no structured fields to match on. Layer 3 uses semantic similarity to find candidates, then confirms with AI. How it works:Embed all market questions
Every market question is converted into a high-dimensional vector (an embedding). These embeddings capture the semantic meaning of the question, not just keywords. Embeddings are cached and updated when questions change.
Find similar markets via cosine similarity
For each unmatched market, noma computes cosine similarity against markets from other providers. The most similar candidates are shortlisted for AI review.
How embeddings work
An embedding is a list of numbers (a vector) that represents the meaning of a sentence. Two sentences with similar meaning will have vectors pointing in a similar direction — even if they use completely different words. Example: Consider these three market questions:| Question | Embedding (simplified to 3D) |
|---|---|
| “Will the Fed cut interest rates in March?” | [0.82, 0.41, 0.15] |
| ”Federal Reserve rate reduction in March 2026?” | [0.80, 0.43, 0.14] |
| ”Will Bitcoin hit $100K by March?” | [0.12, 0.71, 0.63] |
Match types
| Type | Description | Example |
|---|---|---|
| Exact | Identical bet, same terms | Same strike, same date, same direction |
| Equivalent | Same underlying question, different wording | ”BTC above $95k” vs “Bitcoin ≥ $95,000” |
| Similar | Related but not identical | Same event, different time frame |
| Different | Not the same market | Rejected by the classifier |
Approval flow
| Confidence | Action |
|---|---|
| Above auto-approve threshold | Approved automatically |
| Below threshold | Queued for manual review |
| Classified as “different” | Rejected automatically |
How matched markets appear
Once two markets are linked:- The market card shows provider badges for each venue
- Volume is combined across providers — you see the total liquidity, not just one side
- The market detail page shows orderbooks from both providers when available
- Market count reflects unique bets, not duplicates (e.g., 4 Polymarket + 5 Kalshi - 3 linked = 6 unique markets)
See all providers
Polymarket, Kalshi, and more — how each provider works and what KYC unlocks.