> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revalonlabs.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# How Arbitrage Builds the Prediction Market Index

> Learn how Arbitrage turns fragmented prices across seven platforms into a single consensus probability and divergence score for every question.

Arbitrage tracks the same prediction market question across multiple platforms simultaneously. Because "Will BTC reach \$100k by 2026?" might trade on Polymarket at 0.62, on Limitless at 0.58, and on Predict.fun at 0.65, you need a single reference point to understand where the market actually stands — and how much the platforms disagree. That reference point is the **index**.

## Canonical questions

Every market Arbitrage tracks is linked to a **canonical question** — a single logical event that may be listed under different titles across multiple platforms. When you browse Arbitrage, you are always looking at canonical questions, not raw platform markets. The `market_count` and `platform_slugs` fields on each item tell you how many platforms are currently listing that question and which ones.

## Index price

The `index_price` is a **volume-weighted consensus probability** on a 0–1 scale, where 0 means the outcome is considered impossible and 1 means it is considered certain. Platforms with higher 24-hour trading volume contribute more weight to the index, so a high-volume venue like Polymarket carries more influence than a low-volume one.

<Note>
  The index price is not a simple average. Volume-weighting means that thin, illiquid markets have less influence on the consensus than deep, actively traded ones.
</Note>

## Divergence

Divergence measures how far apart the platforms are from each other. Technically, it is the **weighted standard deviation of Yes prices across platforms**. A low divergence means the platforms broadly agree; a high divergence means there is significant disagreement — and potentially an opportunity worth investigating.

Arbitrage groups divergence into three categories:

| Category | Divergence value | What it means                             |
| -------- | ---------------- | ----------------------------------------- |
| `low`    | \< 2%            | Platforms are in close agreement          |
| `medium` | 2–5%             | Meaningful spread worth monitoring        |
| `high`   | > 5%             | Significant disagreement across platforms |

## The DiscoverItem schema

Every item returned by the discovery endpoint includes these fields:

```json theme={null}
{
  "id": "3f2d1c4a-...",
  "title": "Will BTC reach $100k by 2026?",
  "index_price": 0.62,
  "divergence": 0.034,
  "divergence_category": "medium",
  "best_buy_price": 0.58,
  "best_buy_platform": "limitless",
  "spread_bps": 400,
  "market_count": 3,
  "platform_slugs": ["polymarket", "limitless", "predictfun"]
}
```

| Field                 | Type                        | Description                                                    |
| --------------------- | --------------------------- | -------------------------------------------------------------- |
| `id`                  | UUID                        | Canonical question identifier                                  |
| `title`               | string                      | Canonical question title                                       |
| `index_price`         | number (0–1)                | Volume-weighted consensus probability                          |
| `divergence`          | number                      | Weighted standard deviation of prices across platforms         |
| `divergence_category` | `low` \| `medium` \| `high` | Bucketed divergence level                                      |
| `best_buy_price`      | number (0–1)                | Cheapest Yes price available across all platforms              |
| `best_buy_platform`   | string                      | Slug of the platform offering the cheapest price               |
| `spread_bps`          | integer                     | Gap between cheapest and most expensive price, in basis points |
| `market_count`        | integer                     | Number of platforms listing this question                      |
| `platform_slugs`      | string\[]                   | Slugs of all platforms listing this question                   |

## The IndexResult schema

When you fetch a specific question via `GET /api/v1/questions/{id}`, the response includes a detailed `index` object:

```json theme={null}
{
  "index_price": 0.62,
  "divergence": 0.034,
  "divergence_category": "medium",
  "platform_count": 3,
  "best_buy_price": 0.58,
  "best_buy_platform": "limitless",
  "best_sell_price": 0.65,
  "best_sell_platform": "predictfun",
  "spread_bps": 700,
  "platform_prices": {
    "polymarket": 0.62,
    "limitless": 0.58,
    "predictfun": 0.65
  }
}
```

The `platform_prices` map gives you the individual Yes price for each platform, so you can see at a glance exactly where the disagreement lies and which venues are on either end of the spread.
