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.
  • 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.

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.
  • 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.

Built With

  • dnd
  • docker
  • framer-motion
  • limitless-pool-api
  • next.js
  • openrouter
  • polymarket-clob-api
  • python
  • render
  • rust
  • z.ai
Share this project:

Updates