Daily P&L History
| Date | P&L ?Net profit or loss for that day across all settled trades. | Trades ?Total number of trades executed that day. | Cost ?Total dollar amount spent buying contracts that day. | Fees ?Total exchange fees paid on that day's trades. |
|---|
24-Hour P&L
| # | Profile | Scan ?When this near-miss was recorded. | Event ?The Kalshi event ticker and title. Click to open on Kalshi. | Markets ?Number of open markets (options) in this event. | Best K ?Smallest number of top options whose implied probabilities sum to ≥ coverage threshold. | Coverage Prob ?Probability that one of the top-K options wins. | Cost ?Total cost to buy YES on the best K options. Must be < $1.00 for a profitable dutch. | Gap ?How far coverage probability is from the threshold. | Liquidity ?Estimated dollar value of open interest across all markets. | Filters Failed ?Which qualifying filters this event didn't pass. |
|---|
Filter Dictionary — What each status means
| All passed | Event meets all qualifying filters — it's a live dutching candidate. |
| Only N markets (need M) | The event has fewer open options than the Min Options in Market setting requires. |
| Low liquidity $X (threshold $Y) | Total liquidity is below the threshold. The event still qualifies but the position size will be capped to available order-book depth. |
| Coverage X% < Y% (top K) | The top K options' implied probabilities don't cover enough of the outcome space. |
| Cost $X >= $1.00 | Buying YES on the top K options costs $1.00 or more — guaranteed loss. |
| Zero implied probability | None of the markets have meaningful price data. |
| Tail probability X% > Y% | Too much probability sits in the uncovered long-tail options. |
| Time | Profile | Event | Options | Outcome | Edge | Coverage | Scan→Decision | Reason |
|---|
Database Tables
| Table | Rows | Purge Strategy |
|---|
Recent Errors & Warnings
Cross-Exchange Matches
| Status | Kalshi Market | Polymarket Market | Category | Similarity | Confidence | Confirmed At |
|---|---|---|---|---|---|---|
| Loading... | ||||||
📖 Cross-Exchange Arbitrage
Arbitrage exploits price disagreements for the same event across two exchanges. On any binary prediction market, a YES contract and a NO contract are two sides of the same coin — exactly one of them will pay out $1.00. When Kalshi and Polymarket misprice opposite sides, a guaranteed profit window opens.
The Core Idea
Every binary market has two contracts: YES and NO. Exactly one resolves to $1.00; the other resolves to $0.00.
The arbitrage trade is:
- Buy YES on one exchange
- Buy NO on the other exchange (for the same event)
No matter what happens, exactly one of your two contracts pays $1.00. If the total cost of both was less than $1.00, the difference is your guaranteed profit.
How It Works — Step by Step
- Scan — The bot continuously pulls markets from both Kalshi and Polymarket.
- Match — Using AI embeddings & Gemini verification, it finds markets on both exchanges that resolve on the same real-world outcome.
- Compare Prices — For each matched pair, it looks at the YES price on one exchange and the NO price on the other.
- Detect the Gap — If YES on Exchange A + NO on Exchange B < $1.00, that's an arbitrage opportunity.
- Execute — Buy YES on one exchange and NO on the other. One contract is guaranteed to pay $1.00.
Worked Example
Suppose both exchanges list:
"Will the Fed cut rates in June 2026?"
Kalshi thinks rate cuts are unlikely (YES is cheap). Polymarket thinks they're more likely (YES is expensive, so NO is cheap). The two exchanges disagree — that's the opportunity.
| Exchange | Contract | Price |
|---|---|---|
| Kalshi | YES — Fed cuts rates | $0.38 |
| Polymarket | NO — Fed does not cut rates | $0.55 |
💰 Total cost (YES on Kalshi + NO on Polymarket):
$0.38 + $0.55 = $0.93
🏆 Payout — no matter what happens:
IF FED CUTS (YES wins)
Kalshi YES pays $1.00
Poly NO pays $0.00
Payout = $1.00
IF FED DOESN'T CUT (NO wins)
Kalshi YES pays $0.00
Poly NO pays $1.00
Payout = $1.00
📈 Guaranteed profit per contract (before fees):
$1.00 − $0.93 = $0.07 (7.5% return)
⚠️ Why Speed Matters
Arbitrage windows are fleeting. Other traders and bots are watching the same prices. The gap might last only seconds. The bot needs to:
1. Detect the pricing mismatch
2. Place orders on both exchanges simultaneously
3. Get both fills before the prices converge
If only one side fills, you're left with a naked directional bet — not arbitrage. That's why the matching pipeline runs continuously, and execution must be fast.
🔑 Key Takeaway
The formula: YES price (Exchange A) + NO price (Exchange B) < $1.00.
Buy YES on one side, NO on the other. Exactly one always pays $1.00 — the other pays $0.00. If your combined cost was less than $1.00, the difference is pure profit regardless of the outcome.
The smaller the sum, the larger the edge. The bot's job is to find confirmed market pairs, watch for these pricing gaps, and execute before they close.
Triage Actions
Recommendation Audit
Track how well triage recommendations performed. Shows whether each sell recommendation was validated by the eventual market outcome and the P&L impact of acting on or ignoring the advice.