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

# Prediction Metadata

Returns servable Hyperliquid prediction questions and registered open or resolved Polymarket conditions. The `predictionMeta` WebSocket channel uses the same payload. The standalone `outcomeMarkets` request has been removed.

## Endpoint

```text theme={null}
POST /info
```

## Request Body

```json theme={null}
{ "type": "predictionMeta" }
```

## Response

```json theme={null}
{
  "outcomeMarkets": []
}
```

## Prediction markets

The `outcomeMarkets` field is an array. Each row preserves its venue’s identity and settlement fields.
For example, a Hyperliquid question in that array looks like:

```json theme={null}
[
  {
    "venue": "hyperliquid",
    "questionId": 820,
    "name": "May CPI year-over-year",
    "description": "One-decimal BLS CPI year-over-year value for May 2026.",
    "fallbackOutcome": 10217,
    "namedOutcomes": [10218],
    "settledNamedOutcomes": [],
    "outcomes": [
      {
        "outcomeId": 10218,
        "name": "Below 4.3%",
        "description": "Resolves Yes if May CPI is below 4.3%.",
        "quoteToken": "USDC",
        "sides": [
          {
            "sideIndex": 0,
            "label": "Yes",
            "assetId": "0004000005f77024",
            "hlEncoding": 100102180,
            "settleFraction": null
          },
          {
            "sideIndex": 1,
            "label": "No",
            "assetId": "0004000005f77025",
            "hlEncoding": 100102181,
            "settleFraction": null
          }
        ]
      }
    ]
  }
]
```

Polymarket conditions are listed in the same array under `venue: "polymarket"`, one question per
condition with one binary outcome. Only `open` (tradable) and `resolved` (redeemable) conditions
are listed. Names are not stored on the node, so `name`, `description` and side `label` are `null`:

```json theme={null}
{
  "venue": "polymarket",
  "questionId": "0xabababababababababababababababababababababababababababababababab",
  "name": null,
  "description": null,
  "lifecycle": "open",
  "outcomes": [
    {
      "conditionId": "0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd",
      "name": null,
      "description": null,
      "quoteToken": "pUSD",
      "sides": [
        {
          "sideIndex": 0,
          "label": null,
          "assetId": "10010000000000000000000000000000000000000000000000000000000000000064",
          "tokenId": "100",
          "settleFraction": null
        },
        {
          "sideIndex": 1,
          "label": null,
          "assetId": "10010000000000000000000000000000000000000000000000000000000000000065",
          "tokenId": "101",
          "settleFraction": null
        }
      ]
    }
  ]
}
```

Polymarket sides carry `tokenId` (the venue identity, as `hlEncoding` is for Hyperliquid) and the
outcome carries `conditionId` (as `outcomeId` is for Hyperliquid). `settleFraction` is `null` before resolution. For a resolved condition with a recorded redemption
resolution, it is the stored payout numerator divided by the payout denominator, truncated to 20
decimal places for display. Redemption accounting uses the original exact ratio. If no resolution
record is available, the fraction remains `null`.

### Question (Hyperliquid)

| Field | Meaning |
| - | - |
| `venue` | `"hyperliquid"` |
| `questionId` | Hyperliquid question ID, e.g., `820` |
| `name` | Question name, e.g., `"May CPI year-over-year"` |
| `description` | Resolution description |
| `fallbackOutcome` | Fallback outcome ID, e.g., `10217` |
| `namedOutcomes` | Outcome IDs belonging to the question, e.g., `[10218]` |
| `settledNamedOutcomes` | Named outcomes that have settled |
| `outcomes` | Outcome definitions |

#### Outcome

| Field | Meaning |
| - | - |
| `outcomeId` | Hyperliquid outcome ID, e.g., `10218` |
| `name` | Outcome name, e.g., `"Below 4.3%"` |
| `description` | Resolution description |
| `quoteToken` | Quote token, e.g., `"USDC"` |
| `sides` | Tradable outcome sides |

#### Side

| Field | Meaning |
| - | - |
| `sideIndex` | Zero-based side index, e.g., `0` |
| `label` | Human-readable label, e.g., `"Yes"` |
| `assetId` | 16-character AssetId, e.g., `"0004000005f77024"` |
| `hlEncoding` | Encoded outcome-side ID, e.g., `100102180` |
| `settleFraction` | Currently `null`; settled sides are filtered out of this response |

Use the side's `assetId` in the standard Notional `order` action. Do not send `hlEncoding` as the
order AssetId.

Use the outcome's numeric `outcomeId` with
[`userOutcome.mergeOutcome`](/api-reference/exchange-endpoints/merge-outcome) to merge an equal
number of its Yes and No shares back into USDC. Do not use a side `assetId` or `hlEncoding` as the
merge outcome ID.

Hyperliquid rows include currently servable outcomes. Polymarket rows include registered open or
resolved conditions. Either venue can contribute no rows; `outcomeMarkets` is empty when neither
venue has servable markets. This registry does not include unregistered Polymarket discovery results.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.