# Commodities Ticker Format

<Callout type="info" title="Market Maker Reference">
  This specification defines the ticker format for commodities price prediction markets. Use this as the authoritative reference for ticker generation and parsing.
</Callout>

## Overview

Commodities prediction market tickers follow the same general Gemini format as crypto tickers — a price threshold contract on a commodity asset:

```
GEMI-{Event}-{Contract}
```

## Ticker Structure

| Component | Description | Example |
|-----------|-------------|---------|
| `GEMI` | Gemini prediction market prefix | `GEMI` |
| `Event` | Commodity code + expiry datetime | `XAU2604021840` |
| `Contract` | Price threshold condition | `HI4125` |

**Full Ticker Examples:**
- `GEMI-XAU2604021840-HI4125` (Gold)
- `GEMI-XAG2603271920-HI62` (Silver)
- `GEMI-NGAS2603271755-HI2D90` (Natural Gas)
- `GEMI-WTI2603281530-HI90` (Oil - WTI)
- `GEMI-BRENT2603281530-HI99` (Oil - Brent)
- `GEMI-COPPER2604021755-HI5D16` (Copper)

## Event Format

The event identifies the commodity asset and its expiry.

### Structure

```
{COMMODITY}{EXPIRY}
```

### Components

| Component | Format | Description |
|-----------|--------|-------------|
| `COMMODITY` | `[A-Z]+` | Commodity code (e.g., `XAU`, `XAG`, `WTI`, `BRENT`, `NGAS`, `COPPER`) |
| `EXPIRY` | `YYMMDDHHmm` | Expiry date and time in UTC |

### Expiry Format

```
YYMMDDHHmm
```

| Position | Part | Description |
|----------|------|-------------|
| 1-2 | `YY` | Year (e.g., `26` for 2026) |
| 3-4 | `MM` | Month (01-12) |
| 5-6 | `DD` | Day (01-31) |
| 7-8 | `HH` | Hour in 24hr UTC (00-23) |
| 9-10 | `mm` | Minute (00-59) |

**Examples:**
- `XAU2604021840` = Gold expiring April 2, 2026 18:40 UTC
- `WTI2603281530` = WTI Oil expiring March 28, 2026 15:30 UTC
- `NGAS2603271755` = Natural Gas expiring March 27, 2026 17:55 UTC

## Supported Commodities

### Natural Gas

| Code | Description |
|------|-------------|
| `NGAS` | Natural gas price in USD |

**Example:** `GEMI-NGAS2603271755-HI2D90`

### Oil

| Code | Description |
|------|-------------|
| `WTI` | West Texas Intermediate crude oil price in USD |
| `BRENT` | Brent crude oil price in USD |

**Examples:**
- `GEMI-WTI2603281530-HI90`
- `GEMI-BRENT2603281530-HI99`

### Copper

| Code | Description |
|------|-------------|
| `COPPER` | Copper price in USD |

**Example:** `GEMI-COPPER2604021755-HI5D16`

### Silver

| Code | Description |
|------|-------------|
| `XAG` | Silver price in USD |

**Example:** `GEMI-XAG2603271920-HI62`

### Gold

| Code | Description |
|------|-------------|
| `XAU` | Gold price in USD |

**Example:** `GEMI-XAU2604021840-HI4125`

<Callout type="note" title="Asset Availability">
  Additional commodities may be added. Check [List Events](/rest-api/prediction-markets/events/list-events) for the current list of available markets.
</Callout>

## Contract Format

All Gemini commodities prediction contracts use the "greater than or equal to" (`HI`) price threshold format. This is the only contract type supported.

### Structure

```
HI{PRICE}
```

### Components

| Component | Description |
|-----------|-------------|
| `HI` | Greater than or equal to (>=) indicator |
| `PRICE` | Strike price as integer, with `D` as decimal delimiter |

### Price Encoding

- Whole numbers are entered as-is: `4125` = $4,125
- Decimals use `D` as delimiter: `2D90` = $2.90

| Price | Encoded |
|-------|---------|
| $4,125 | `HI4125` |
| $100 | `HI100` |
| $2.90 | `HI2D90` |
| $5.16 | `HI5D16` |
| $62 | `HI62` |

## Complete Examples

### Gold Contract

**Gold $4,125 or above, expiring April 2, 2026 18:40 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `XAU` |
| Expiry | `2604021840` |
| Contract | `HI4125` |
| **Full Ticker** | `GEMI-XAU2604021840-HI4125` |

### Silver Contract

**Silver $62 or above, expiring March 27, 2026 19:20 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `XAG` |
| Expiry | `2603271920` |
| Contract | `HI62` |
| **Full Ticker** | `GEMI-XAG2603271920-HI62` |

### Natural Gas Contract

**Natural Gas $2.90 or above, expiring March 27, 2026 17:55 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `NGAS` |
| Expiry | `2603271755` |
| Contract | `HI2D90` |
| **Full Ticker** | `GEMI-NGAS2603271755-HI2D90` |

### WTI Oil Contract

**WTI Oil $90 or above, expiring March 28, 2026 15:30 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `WTI` |
| Expiry | `2603281530` |
| Contract | `HI90` |
| **Full Ticker** | `GEMI-WTI2603281530-HI90` |

### Brent Oil Contract

**Brent Oil $99 or above, expiring March 28, 2026 15:30 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `BRENT` |
| Expiry | `2603281530` |
| Contract | `HI99` |
| **Full Ticker** | `GEMI-BRENT2603281530-HI99` |

### Copper Contract

**Copper $5.16 or above, expiring April 2, 2026 17:55 UTC**

| Component | Value |
|-----------|-------|
| Prefix | `GEMI` |
| Commodity | `COPPER` |
| Expiry | `2604021755` |
| Contract | `HI5D16` |
| **Full Ticker** | `GEMI-COPPER2604021755-HI5D16` |

## Regex Patterns

### Full Ticker

```regex
^GEMI-(XAU|XAG|WTI|BRENT|NGAS|COPPER)(\d{10})-HI(\d+(?:D\d+)?)$
```

**Capture Groups:**
1. Commodity code
2. Expiry (YYMMDDHHmm)
3. Price (with optional decimal)

### Event Only

```regex
^(XAU|XAG|WTI|BRENT|NGAS|COPPER)(\d{10})$
```

**Capture Groups:**
1. Commodity code
2. Expiry (YYMMDDHHmm)

### Contract Only

```regex
^HI(\d+(?:D\d+)?)$
```

## Validation Rules

1. Ticker must start with `GEMI-`
2. Commodity code must be one of: `XAU`, `XAG`, `WTI`, `BRENT`, `NGAS`, `COPPER`
3. Expiry must be a valid future UTC datetime
4. Contract must start with `HI`
5. Price decimal delimiter must be `D` (not `.`)

## Changelog

| Version | Effective Date | Changes |
|---------|----------------|---------|
| 1.0 | 2026-03-26 | Initial specification |
