Inspiration
ARBISENSE – Cross-Exchange Arbitrage Oracle + Scanner
Inspiration
Prediction and derivative markets often misprice the same event across platforms, creating “free money” but only for teams with real-time data, robust risk controls, and execution discipline. ARBISENSE was inspired by professional quant arbitrage bots and the desire to bring that level of rigor—multi-agent reasoning, L2 VWAP sizing, circuit breakers, and live dashboards—to cross-exchange prediction markets like Polymarket and Limitless.
What it does
ARBISENSE continuously ingests live orderbooks and prices from multiple venues, scans for structural edges like YES(Platform 1) + NO(Platform 2) < $1.00, and surfaces executable arbitrage opportunities in real time. It calculates optimal trade sizes using orderbook depth (L2 VWAP), scores each opportunity on risk and confidence, runs it through a circuit-breaker risk engine, and streams the final, validated recommendations to a terminal-inspired web dashboard with drill-down analytics.
Example core edge:
Same event, different odds → free money
YES (Platform 1) + NO (Platform 2) < $1
Example:
- Platform 1: YES = $0.68
- Platform 2: NO = $0.28
Total cost = $0.96 → Guaranteed $1 payout (before fees)
How I built it
Backend (Python + FastAPI):
- Advanced arbitrage engine with multi-strategy detection:
- Single-market: YES + NO < $1.00
- Cross-platform: YES(Platform 1) + NO(Platform 2) < $1.00
- Multi-outcome: Σ YES prices < $1.00
- Three-way sports markets.
- L2 VWAP orderbook calculator for size-aware trade construction.
- Circuit-breaker module for production-grade risk management (daily loss limits, position caps, error thresholds).
- Position tracking, Monte Carlo simulation, and Kelly sizing utilities.
- WebSocket + REST APIs for real-time opportunities and analytics.
Data layer & integrations:
- WebSocket and REST services for Polymarket and Limitless data.
- Normalization layer to map heterogeneous exchange data into shared arbitrage models.
- Continuous scanning loop that tracks spreads, liquidity, and stale data thresholds.
- WebSocket and REST services for Polymarket and Limitless data.
Frontend (Next.js + React + TypeScript):
- Terminal-inspired dashboard with live arbitrage tiles and charts.
- Dedicated panels for advanced arbitrage strategies, risk state, P&L, and simulations.
- Shared TypeScript types mirroring the backend’s arbitrage models for end-to-end consistency.
- WebSocket clients for live market data and opportunity updates.
- Terminal-inspired dashboard with live arbitrage tiles and charts.
Challenges I ran into
- Cross-exchange mapping: Aligning “the same event” across platforms with slightly different naming, resolutions, and metadata.
- Latency & freshness: Ensuring orderbook snapshots are fresh enough that L2 VWAP sizing and spread calculations reflect reality, not stale quotes.
- Fees, slippage, and gas: Turning naive “YES + NO < 1” edges into realistic, fee-adjusted opportunities that stay profitable after all frictions.
- Risk system design: Building a circuit-breaker and risk layer that is transparent and easy to reason about while still preventing over-sizing, chasing stale spreads, or doubling exposure across correlated markets.
- Multi-agent orchestration: Combining deterministic quant logic with LLM-style reasoning in a way that’s additive, not confusing, for operators.
Accomplishments that I'm proud of
- End-to-end, production-style arbitrage stack: Not just detection, but sizing, risk validation, and operator UX in one coherent system.
- Preserved audit-grade features from a Rust bot: Multi-outcome detection, L2 VWAP, circuit breakers, and position tracking migrated with feature parity into Python and the frontend.
- Explainable cross-platform trades: Each arbitrage opportunity (like YES @ $0.68 on Platform 1 + NO @ $0.28 on Platform 2) comes with confidence scores, liquidity assumptions, and risk annotations rather than being a black-box signal.
- Live, operator-friendly dashboard: Real-time, WebSocket-powered UI with arbitrage stories, performance summaries, and drill-down views for debugging and research.
What we learned
- Most of the real work in “free money” arbitrage is engineering: stable data pipelines, careful modeling of all frictions, and robust state machines for risk and position management.
- Multi-agent systems shine when you separate roles: deterministic engines handle math and constraints, while language models help narrate trades, explain edges, and assist with higher-level risk reasoning.
- Good UX for quants matters: a clear dashboard that shows spreads, confidence, and risk at a glance accelerates both research and operations.
- Designing for time is as important as designing for price: signal validity windows, stale data checks, and timing assumptions all materially affect realized performance.
What’s next for ARBISENSE: The Cross-Exchange Arbitrage Oracle + Scanner
- More venues & assets: Expand beyond Polymarket and Limitless into additional prediction, crypto, and derivative exchanges for a broader cross-market oracle.
- Cross-conditional arbitrage: Add logic for chains like nomination vs election markets and other structurally linked contracts.
- Auto-execution with strict guards: Introduce optional execution hooks (per-exchange adapters) gated behind the circuit breaker and explicit position/risk caps.
- Backtesting & analytics: Build a historical arbitrage simulator with replays and strategy-level performance metrics.
- Predictive “pre-arb” signals: Use ML and statistical modeling to flag events likely to become mispriced before the spreads actually open.
Operator tooling: Advanced alerting, workflow tools, and configuration UIs so non-developers can manage thresholds, risk settings, and strategy toggles.## How we built it
Backend (Python + FastAPI):
- Advanced arbitrage engine with multi-strategy detection:
- Single-market: YES + NO < $1.00
- Cross-platform: YES(Platform 1) + NO(Platform 2) < $1.00
- Multi-outcome: Σ YES prices < $1.00
- Three-way sports markets.
- L2 VWAP orderbook calculator for size-aware trade construction.
- Circuit-breaker module for production-grade risk management (daily loss limits, position caps, error thresholds).
- Position tracking, Monte Carlo simulation, and Kelly sizing utilities.
- WebSocket + REST APIs for real-time opportunities and analytics.
Data layer & integrations:
- WebSocket and REST services for Polymarket and Limitless data.
- Normalization layer to map heterogeneous exchange data into shared arbitrage models.
- Continuous scanning loop that tracks spreads, liquidity, and stale data thresholds.
- WebSocket and REST services for Polymarket and Limitless data.
Frontend (Next.js + React + TypeScript):
- Terminal-inspired dashboard with live arbitrage tiles and charts.
- Dedicated panels for advanced arbitrage strategies, risk state, P&L, and simulations.
- Shared TypeScript types mirroring the backend’s arbitrage models for end-to-end consistency.
- WebSocket clients for live market data and opportunity updates.
- Terminal-inspired dashboard with live arbitrage tiles and charts.


Log in or sign up for Devpost to join the conversation.