📡 Data Flow

1. Fetching Prediction Markets

LUMI fetches real-time market data from Polymarket's Gamma API:

// src/services/polymarket.js
const POLYMARKET_API_BASE = '/api/polymarket-proxy';

export async function fetchMarkets(options = {}) {
  const { limit = 100, active = true, closed = false } = options;

  const params = new URLSearchParams({
    endpoint: '/markets',
    limit: limit.toString(),
    active: active.toString(),
    closed: closed.toString(),
    _t: Date.now().toString() // Cache buster
  });

  const response = await fetch(`${POLYMARKET_API_BASE}?${params}`, {
    headers: { 'Accept': 'application/json' },
    cache: 'no-cache'
  });

  const markets = await response.json();
  return markets.filter(m => m.question && m.outcomePrices).map(normalizeMarket);
}

2. Market Data Structure

Each market from Polymarket contains:

3. LUMI Prediction Generation

When a market is displayed, LUMI generates its own probability assessment:

Last updated