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

# Events, markets & outcomes

> The data model behind Bayse prediction markets

## Hierarchy

Bayse uses a three-level hierarchy:

**Event → Market → Outcome**

* An **event** is the top-level container. It represents a real-world question or topic — for example, "NBA Finals 2025" or "Will it rain in Lagos tomorrow?".
* A **market** is a tradeable question within an event. Each market has exactly **two outcomes** (e.g. YES/NO, or two named options). Prices for the two outcomes always sum to approximately 1.00.
* An **outcome** is one side of a market that you can buy or sell shares in. Each outcome has a unique UUID (`outcomeId`) that you use when placing orders or getting quotes.

## Events

Events group one or more related markets together. Every event has a `type` that determines how its markets relate to each other.

**Key fields:**

* `title` — the headline question or topic.
* `type` — `single`, `combined`, or `grouped` (see [Event types](#event-types)).
* `category` — sports, politics, crypto, entertainment, etc.
* `status` — `open`, `closed`, `resolved`, `cancelled`, `paused`, or `draft`.
* `engine` — `AMM` or `CLOB` (see [Market engines](/concepts/market-engines)).
* `closingDate` — when trading closes.
* `resolutionDate` — when the outcome is determined.

## Markets and outcomes

Each market is a binary question with two outcomes. You trade by buying or selling shares in one of the outcomes.

**Key fields:**

* `title` — the specific question (e.g. "Will Lakers win?").
* `outcome1Id` / `outcome2Id` — UUIDs that uniquely identify each outcome.
* `outcome1Label` / `outcome2Label` — labels for each side (e.g. "YES" / "NO").
* `outcome1Price` / `outcome2Price` — current probability prices (0.00–1.00).
* `rules` — resolution criteria for this market.
* `status` — same set as events.

The `outcomeId` is the canonical way to reference an outcome. When you fetch a market, note the `outcome1Id` and `outcome2Id` — you'll use one of these when placing orders or requesting quotes.

## Event types

<AccordionGroup>
  <Accordion title="Single market" icon="circle-1">
    One event, one market, two outcomes. The event title and market title are typically the same.

    ```json theme={null}
    {
      "title": "Will it rain in Lagos tomorrow?",
      "type": "single",
      "markets": [
        {
          "title": "Will it rain in Lagos tomorrow?",
          "outcome1Id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
          "outcome1Label": "YES",
          "outcome1Price": 0.65,
          "outcome2Id": "d4e5f6a7-b8c9-0123-defa-234567890123",
          "outcome2Label": "NO",
          "outcome2Price": 0.35
        }
      ]
    }
    ```
  </Accordion>

  <Accordion title="Combined market" icon="circle-2">
    Multiple **mutually exclusive** markets under one event. Only one market can resolve YES — when one wins, the others automatically resolve NO.

    ```json theme={null}
    {
      "title": "NBA Finals 2025 Winner",
      "type": "combined",
      "markets": [
        {
          "title": "Will Lakers win?",
          "outcome1Id": "...",
          "outcome1Label": "YES",
          "outcome1Price": 0.35,
          "outcome2Id": "...",
          "outcome2Label": "NO",
          "outcome2Price": 0.65
        },
        {
          "title": "Will Celtics win?",
          "outcome1Id": "...",
          "outcome1Label": "YES",
          "outcome1Price": 0.40,
          "outcome2Id": "...",
          "outcome2Label": "NO",
          "outcome2Price": 0.60
        },
        {
          "title": "Will Nuggets win?",
          "outcome1Id": "...",
          "outcome1Label": "YES",
          "outcome1Price": 0.25,
          "outcome2Id": "...",
          "outcome2Label": "NO",
          "outcome2Price": 0.75
        }
      ]
    }
    ```
  </Accordion>

  <Accordion title="Grouped market" icon="circle-3">
    Multiple **independent** markets under one event. Each market is resolved on its own — multiple markets can resolve YES.

    ```json theme={null}
    {
      "title": "Player stats: Lakers vs Celtics",
      "type": "grouped",
      "markets": [
        {
          "title": "Will LeBron score 30+ points?",
          "outcome1Id": "...",
          "outcome1Label": "YES",
          "outcome1Price": 0.45,
          "outcome2Id": "...",
          "outcome2Label": "NO",
          "outcome2Price": 0.55
        },
        {
          "title": "Will Tatum score 25+ points?",
          "outcome1Id": "...",
          "outcome1Label": "YES",
          "outcome1Price": 0.60,
          "outcome2Id": "...",
          "outcome2Label": "NO",
          "outcome2Price": 0.40
        }
      ]
    }
    ```
  </Accordion>
</AccordionGroup>

## Finding markets

Use the `keyword` query parameter on the [List events](/api-reference/pm/list-events) endpoint to search for events by title:

```bash theme={null}
GET /v1/pm/events?keyword=lagos&status=open
```

You can also filter by `category`, `status`, `trending`, and more. See the [List events](/api-reference/pm/list-events) reference for all available filters.
