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

# Hip4Question Schema

> HIP-4 question: multi-choice resolver that groups N binary outcomes under one ballot. Includes route metadata, schemas, examples, and implementation notes.

Source OpenAPI: 0xArchive API 1.6.1; 147 paths; 128 component schemas.

HIP-4 question: multi-choice resolver that groups N binary outcomes under one ballot. One named outcome per choice plus a fallback outcome that wins when no named choice resolves.

## Required Fields

| Field                    | Type                  | Description                                                                                     |
| ------------------------ | --------------------- | ----------------------------------------------------------------------------------------------- |
| `description`            | string                | Pipe-delimited question metadata (class, underlying, expiry, price thresholds, period).         |
| `fallback_outcome_id`    | integer:int64         | Outcome ID that resolves Yes when no named outcome does.                                        |
| `first_seen_at`          | string:date-time      | When this question was first observed by the ingester (UTC).                                    |
| `last_updated_at`        | string:date-time      | When this question row was last updated (UTC).                                                  |
| `name`                   | string                | Question name as published on-chain (recurring markets use a generic name such as `Recurring`). |
| `named_outcome_ids`      | array\<integer:int64> | Outcome IDs of the named choices grouped under this question.                                   |
| `question_id`            | integer:int64         | Question identifier.                                                                            |
| `settled_named_outcomes` | array\<integer:int64> | Subset of `named_outcome_ids` that have already settled.                                        |

## JSON Schema

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Hip4Question",
  "description": "HIP-4 question: multi-choice resolver that groups N binary outcomes under one ballot. One named outcome per choice plus a fallback outcome that wins when no named choice resolves.",
  "type": "object",
  "required": [
    "description",
    "fallback_outcome_id",
    "first_seen_at",
    "last_updated_at",
    "name",
    "named_outcome_ids",
    "question_id",
    "settled_named_outcomes"
  ],
  "properties": {
    "description": {
      "description": "Pipe-delimited question metadata (class, underlying, expiry, price thresholds, period).",
      "type": "string",
      "example": "class:priceBucket|underlying:BTC|expiry:20260508-0600|priceThresholds:79303,82540|period:1d"
    },
    "fallback_outcome_id": {
      "description": "Outcome ID that resolves Yes when no named outcome does.",
      "type": "integer",
      "format": "int64",
      "example": 6
    },
    "first_seen_at": {
      "description": "When this question was first observed by the ingester (UTC).",
      "type": "string",
      "format": "date-time",
      "example": "2026-05-08T05:57:28.326Z"
    },
    "last_updated_at": {
      "description": "When this question row was last updated (UTC).",
      "type": "string",
      "format": "date-time",
      "example": "2026-05-08T05:57:28.326Z"
    },
    "name": {
      "description": "Question name as published on-chain (recurring markets use a generic name such as `Recurring`).",
      "type": "string",
      "example": "Recurring"
    },
    "named_outcome_ids": {
      "description": "Outcome IDs of the named choices grouped under this question.",
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": [
        7,
        8,
        9
      ]
    },
    "question_id": {
      "description": "Question identifier.",
      "type": "integer",
      "format": "int64",
      "example": 0
    },
    "settled_named_outcomes": {
      "description": "Subset of `named_outcome_ids` that have already settled.",
      "type": "array",
      "items": {
        "type": "integer",
        "format": "int64"
      },
      "example": []
    }
  },
  "additionalProperties": true
}
```

## Referenced By

Use this shared schema with the generated component index and route-specific endpoint pages during implementation.
