Market Maker Reference
This specification defines the ticker format for crypto price prediction markets. Use this as the authoritative reference for ticker generation and parsing.
Overview
Crypto prediction market tickers follow a standard Gemini format for price threshold contracts:
Code
Ticker Structure
| Component | Description | Example |
|---|---|---|
GEMI | Gemini prediction market prefix | GEMI |
Event | Underlying asset + optional duration + expiry datetime | BTC2603230800 or BTC05M2602251745 |
Contract | Price threshold condition | HI105000 or UP |
Full Ticker Examples:
GEMI-BTC2603230800-HI105000(daily contract)GEMI-BTC05M2602251745-UP(5-minute contract)GEMI-BTC15M2602251745-UP(15-minute contract)
Legacy Format for Short-Duration Contracts
Short-duration contracts (5-minute and 15-minute) previously embedded the strike price in the contract segment (e.g., GEMI-BTC05M2602251745-HI66750). This format is being phased out in favor of the UP contract type, where the strike price is returned in the API response instead of encoded in the ticker. You may still encounter the legacy HI{PRICE} format for older contracts.
Event Format
The event identifies the underlying crypto asset and its expiry.
Structure
Code
Components
| Component | Format | Description |
|---|---|---|
UNDERLYING | [A-Z]+ | Crypto asset symbol (e.g., BTC, ETH, SOL, XRP) |
DURATION | 05M or 15M | Optional. Duration marker for 5-minute or 15-minute interval contracts. Omitted for all other durations. |
EXPIRY | YYMMDDHHmm | Expiry date and time in UTC |
Expiry Format
Code
| 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:
BTC2603230800= BTC expiring March 23, 2026 08:00 UTCBTC05M2602251745= BTC 5-minute contract expiring February 25, 2026 17:45 UTCBTC15M2602251745= BTC 15-minute contract expiring February 25, 2026 17:45 UTC
Duration Markers
For 5-minute and 15-minute interval contracts only, a duration marker is inserted after the underlying asset symbol:
| Duration | Marker | Format | Example Event |
|---|---|---|---|
| 5 minutes | 05M | {UNDERLYING}05M{EXPIRY} | BTC05M2602251745 |
| 15 minutes | 15M | {UNDERLYING}15M{EXPIRY} | BTC15M2602251745 |
| All others | (none) | {UNDERLYING}{EXPIRY} | BTC2603230800 |
Duration Marker Rules
- Only
05Mand15Mmarkers are supported (zero-padded to 3 characters) - All other durations (1 day, 1 week, etc.) omit the duration marker
- The marker
5Mwithout leading zero is not recognized—it must be05M
Supported Underlyings
| Asset | Symbol | Description |
|---|---|---|
| Bitcoin | BTC | Bitcoin price in USD |
| Ethereum | ETH | Ethereum price in USD |
| Solana | SOL | Solana price in USD |
| XRP | XRP | XRP price in USD |
Asset Availability
Additional assets may be added. Check the API Reference for the current list of available markets.
Contract Format
Gemini crypto prediction contracts use one of two contract types depending on the duration:
| Contract Type | Format | Used For | Strike Price Source |
|---|---|---|---|
UP | UP | Short-duration contracts (5-minute, 15-minute) | API response |
HI{PRICE} | HI + encoded price | Daily and longer contracts | Embedded in ticker |
UP Contract (Short-Duration)
For 5-minute and 15-minute contracts, the contract segment is UP. An UP contract resolves YES if the underlying asset's price is at or above the strike price at expiry. The strike price is the asset's price at the start of the contract window and is not encoded in the ticker.
Code
Strike Price for UP Contracts
The strike price for UP contracts will be available in the API response. Refer to the API Reference for details as this field becomes available.
HI{PRICE} Contract (Daily and Longer)
For daily and longer-duration contracts, the strike price is encoded directly in the ticker.
Code
| Component | Description |
|---|---|
HI | Greater than or equal to (>=) indicator |
PRICE | Strike price as integer, with D as decimal delimiter |
Price Encoding (HI contracts only)
- Whole numbers are entered as-is:
105000= $105,000 - Decimals use
Das delimiter:2D20= $2.20
| Price | Encoded |
|---|---|
| $105,000 | HI105000 |
| $2.20 | HI2D20 |
| $0.50 | HI0D50 |
| $3,500.25 | HI3500D25 |
Complete Examples
BTC Contract (Daily)
BTC $105,000 or above, expiring March 23, 2026 08:00 UTC
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | BTC |
| Expiry | 2603230800 |
| Contract | HI105000 |
| Full Ticker | GEMI-BTC2603230800-HI105000 |
BTC Contract (5-Minute)
BTC UP, expiring February 25, 2026 17:45 UTC (5-minute interval)
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | BTC |
| Duration | 05M |
| Expiry | 2602251745 |
| Contract | UP |
| Full Ticker | GEMI-BTC05M2602251745-UP |
BTC Contract (15-Minute)
BTC UP, expiring February 25, 2026 17:45 UTC (15-minute interval)
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | BTC |
| Duration | 15M |
| Expiry | 2602251745 |
| Contract | UP |
| Full Ticker | GEMI-BTC15M2602251745-UP |
XRP Contract
XRP $2.20 or above, expiring March 23, 2026 15:00 UTC
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | XRP |
| Expiry | 2603231500 |
| Contract | HI2D20 |
| Full Ticker | GEMI-XRP2603231500-HI2D20 |
ETH Contract
ETH $4,500 or above, expiring April 1, 2026 12:00 UTC
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | ETH |
| Expiry | 2604011200 |
| Contract | HI4500 |
| Full Ticker | GEMI-ETH2604011200-HI4500 |
SOL Contract
SOL $250.50 or above, expiring February 28, 2026 16:00 UTC
| Component | Value |
|---|---|
| Prefix | GEMI |
| Underlying | SOL |
| Expiry | 2602281600 |
| Contract | HI250D50 |
| Full Ticker | GEMI-SOL2602281600-HI250D50 |
Regex Patterns
Full Ticker
Code
Capture Groups:
- Underlying asset
- Duration marker (optional:
05Mor15M) - Expiry (YYMMDDHHmm)
- Contract (
UPor fullHI{PRICE}) - Price (with optional decimal, only present for
HIcontracts)
This pattern validates ticker structure only. To validate that the contract type matches the duration (e.g.,
UPfor short-duration,HIfor daily and longer), apply additional logic after parsing.
Event Only
Code
Capture Groups:
- Underlying asset
- Duration marker (optional:
05Mor15M) - Expiry (YYMMDDHHmm)
Contract Only
Code
Validation Rules
- Ticker must start with
GEMI- - Underlying must be a valid crypto asset symbol
- Duration marker, if present, must be exactly
05Mor15M - Expiry must be a valid future UTC datetime
- For new contracts,
UPis used for short-duration andHI{PRICE}for daily and longer. Legacy short-duration contracts may still useHI{PRICE}. - Price decimal delimiter must be
D(not.) forHIcontracts
Changelog
| Version | Effective Date | Changes |
|---|---|---|
| 1.2 | 2026-04-08 | Short-duration contracts (5-min, 15-min) use UP contract type; strike price moved to API response. Legacy HI{PRICE} format deprecated for these durations. |
| 1.1 | 2026-02-25 | Added duration markers for 5-minute (05M) and 15-minute (15M) interval contracts |
| 1.0 | 2026-02-13 | Initial specification |