Market Maker Reference
This specification defines the ticker format for sports prediction markets. Use this as the authoritative reference for ticker generation and parsing.
Overview
Sports prediction market tickers follow a hierarchical structure designed to be:
- Hierarchical - Event tickers group related contracts
- Sortable - Alphabetical sorting clusters all markets for a game
- Parseable - Deterministic structure enables programmatic parsing
- Human-readable - Encodes game, market type, and position in a compact format
Ticker Hierarchy
| Level | Description | Example |
|---|
| Event Ticker | Identifies a specific market for a game | GEM-NBA-2602121800-HOU-DAL-S |
| Contract Ticker | Identifies a position within that market | DAL6 |
| Full Ticker | Event + Contract combined | GEM-NBA-2602121800-HOU-DAL-S-DAL6 |
Event Ticker Format
Structure
GEM-{LEAGUE}-{YYMMDD}{HHMM}-{AWAY}-{HOME}-{TYPE}
Components
| Component | Length | Format | Description |
|---|
GEM | 3 | literal | Gemini prediction market prefix |
LEAGUE | 2-6 | [A-Z]+ | League identifier |
YYMMDD | 6 | [0-9]{6} | Game date (UTC) |
HHMM | 4 | [0-9]{4} | Game time in 24hr (UTC) |
AWAY | 2-4 | [A-Z]+ | Away team abbreviation |
HOME | 2-4 | [A-Z]+ | Home team abbreviation |
TYPE | 1-7 | [A-Z]{1,7} | Market type code |
Regex Pattern
^GEM-([A-Z]{2,6})-(\d{6})(\d{4})-([A-Z]{2,4})-([A-Z]{2,4})-([A-Z]{1,7})$
Capture Groups:
- League
- Date (YYMMDD)
- Time (HHMM)
- Away team
- Home team
- Market type
Supported Leagues
| League | Code | Teams | Abbreviation Length |
|---|
| NBA | NBA | 30 | 3 |
| NFL | NFL | 32 | 2-3 |
| NCAA Men's Basketball | NCAAM | 350+ | 2-4 |
| NCAA Women's Basketball | NCAAW | 350+ | 2-4 |
| NCAA Football | NCAAF | 130+ | 2-4 |
| NHL | NHL | 32 | 2-3 |
| MLB | MLB | 30 | 2-3 |
| English Premier League | EPL | 20 | 3-4 |
Market Types
Standard Markets
| Type | Code | Description | Contract Format |
|---|
| Moneyline | M | Winner of the game | {TEAM} |
| Spread | S | Point spread | {TEAM}{LINE} |
| Total | T | Combined score over/under | O{LINE} or U{LINE} |
| Team Total | TT | Single team score over/under | {TEAM}O{LINE} or {TEAM}U{LINE} |
Player Props
Player prop market types follow the PP{STAT} pattern. Player identifiers use uppercase short names (typically last name, e.g., LUKA, MAHOMES).
Contract Format: {PLAYER}O{LINE} or {PLAYER}U{LINE}
Basketball
| Type | Code | Description |
|---|
| Points | PPPTS | Player points over/under |
| Rebounds | PPREB | Player rebounds over/under |
| Assists | PPAST | Player assists over/under |
| 3-Pointers Made | PP3PM | Player 3-pointers made over/under |
| Steals | PPSTL | Player steals over/under |
| Blocks | PPBLK | Player blocks over/under |
| Pts + Reb + Ast | PPPRA | Player points + rebounds + assists over/under |
| Type | Code | Description |
|---|
| Touchdowns | PPTD | Player touchdowns over/under |
| Passing Yards | PPYDS | Player passing yards over/under |
| Rushing Yards | PPRYDS | Player rushing yards over/under |
| Receiving Yards | PPRECY | Player receiving yards over/under |
| Receptions | PPREC | Player receptions over/under |
| Completions | PPCOMP | Player completions over/under |
Baseball
| Type | Code | Description |
|---|
| Strikeouts | PPSO | Pitcher strikeouts over/under |
| Hits | PPHITS | Player hits over/under |
| Home Runs | PPHR | Player home runs over/under |
| RBIs | PPRBI | Player RBIs over/under |
| Total Bases | PPTB | Player total bases over/under |
| Runs | PPRUNS | Player runs scored over/under |
Ice Hockey
| Type | Code | Description |
|---|
| Goals | PPGOALS | Player goals over/under |
| Assists | PPAST | Player assists over/under |
| Points | PPPTS | Player points (goals + assists) over/under |
| Shots on Goal | PPSOG | Player shots on goal over/under |
| Saves | PPSAVES | Goalie saves over/under |
Soccer
| Type | Code | Description |
|---|
| Goals | PPGOALS | Player goals over/under |
| Assists | PPAST | Player assists over/under |
| Shots on Target | PPSOT | Player shots on target over/under |
Soccer-Specific (EPL)
| Type | Code | Description | Contract Format |
|---|
| Moneyline | M | 3-way result | {TEAM} or D (draw) |
Contract Ticker Formats
Moneyline (-M)
Contract Ticker: {TEAM}
| Contract | Meaning |
|---|
DAL | Dallas |
HOU | Houston |
D | Draw (soccer only) |
Full Ticker Example: GEM-NBA-2602121800-HOU-DAL-M-DAL
Spread (-S)
Contract Ticker: {TEAM}{LINE}
| Contract | Meaning |
|---|
DAL6 | Dallas -6.5 |
HOU6 | Houston +6.5 |
Line Convention
All lines (spreads and totals) use whole numbers only. The .5 is always implied. For example, DAL6 means Dallas -6.5 and O222 means Over 222.5.
Full Ticker Example: GEM-NBA-2602121800-HOU-DAL-S-DAL6
Total (-T)
Contract Ticker: O{LINE} or U{LINE}
| Contract | Meaning |
|---|
O222 | Over 222.5 |
U222 | Under 222.5 |
Full Ticker Example: GEM-NBA-2602121800-HOU-DAL-T-O222
Team Total (-TT)
Contract Ticker: {TEAM}O{LINE} or {TEAM}U{LINE}
| Contract | Meaning |
|---|
HOUO110 | Houston Over 110.5 |
HOUU110 | Houston Under 110.5 |
DALO112 | Dallas Over 112.5 |
DALU112 | Dallas Under 112.5 |
Full Ticker Example: GEM-NBA-2602121800-HOU-DAL-TT-HOUO110
Futures Format
Futures use a modified structure with F appended to the league code.
Structure
GEM-{LEAGUE}F-{SEASON}{TYPE}-{SUBJECT}
Components
| Component | Format | Description |
|---|
LEAGUE | [A-Z]+ | League code |
F | literal | Futures indicator |
SEASON | [0-9]{4} | Season span (e.g., 2526 for 2025-26) |
TYPE | varies | Future type code |
SUBJECT | varies | Team or entity |
Future Types
| Type | Code | Example |
|---|
| Championship | CHAMP | GEM-NBAF-2526CHAMP-LAL |
| Conference | CONF | GEM-NBAF-2526CONF-WEST-LAL |
| Division | DIV | GEM-NFLF-2526DIV-AFCN-CLE |
| MVP | MVP | GEM-NBAF-2526MVP-LUKA |
Regex Pattern
^GEM-([A-Z]{2,6})F-(\d{4})([A-Z]+)(?:-([A-Z]+))?-([A-Z]+)$
Capture Groups:
- League
- Season (YYYY format, e.g.,
2526)
- Future type (CHAMP, CONF, DIV, MVP)
- Sub-category (optional, e.g., WEST, AFCN)
- Subject (team or player)
Complete Examples
NBA Game
Houston @ Dallas, Feb 12 2026 18:00 UTC
| Market | Event Ticker | Contract | Full Ticker |
|---|
| Dallas win | GEM-NBA-2602121800-HOU-DAL-M | DAL | GEM-NBA-2602121800-HOU-DAL-M-DAL |
| Houston win | GEM-NBA-2602121800-HOU-DAL-M | HOU | GEM-NBA-2602121800-HOU-DAL-M-HOU |
| Dallas -6.5 | GEM-NBA-2602121800-HOU-DAL-S | DAL6 | GEM-NBA-2602121800-HOU-DAL-S-DAL6 |
| Houston +6.5 | GEM-NBA-2602121800-HOU-DAL-S | HOU6 | GEM-NBA-2602121800-HOU-DAL-S-HOU6 |
| Over 222.5 | GEM-NBA-2602121800-HOU-DAL-T | O222 | GEM-NBA-2602121800-HOU-DAL-T-O222 |
| Under 222.5 | GEM-NBA-2602121800-HOU-DAL-T | U222 | GEM-NBA-2602121800-HOU-DAL-T-U222 |
| Houston Over 110.5 | GEM-NBA-2602121800-HOU-DAL-TT | HOUO110 | GEM-NBA-2602121800-HOU-DAL-TT-HOUO110 |
| Dallas Under 112.5 | GEM-NBA-2602121800-HOU-DAL-TT | DALU112 | GEM-NBA-2602121800-HOU-DAL-TT-DALU112 |
| Luka Over 30.5 pts | GEM-NBA-2602121800-HOU-DAL-PPPTS | LUKAO30 | GEM-NBA-2602121800-HOU-DAL-PPPTS-LUKAO30 |
| Luka Under 10.5 reb | GEM-NBA-2602121800-HOU-DAL-PPREB | LUKAU10 | GEM-NBA-2602121800-HOU-DAL-PPREB-LUKAU10 |
NFL Game
Buffalo @ Kansas City, Jan 12 2026 18:30 UTC
| Market | Full Ticker |
|---|
| Kansas City win | GEM-NFL-2601121830-BUF-KC-M-KC |
| Kansas City -3.5 | GEM-NFL-2601121830-BUF-KC-S-KC3 |
| Over 47.5 | GEM-NFL-2601121830-BUF-KC-T-O47 |
| Mahomes Over 2.5 TDs | GEM-NFL-2601121830-BUF-KC-PPTD-MAHOMESO2 |
| Mahomes Over 299.5 yds | GEM-NFL-2601121830-BUF-KC-PPYDS-MAHOMESO299 |
NCAAM Game
Duke @ UNC, Mar 15 2026 19:00 UTC
| Market | Full Ticker |
|---|
| UNC win | GEM-NCAAM-2603151900-DUKE-UNC-M-UNC |
| Duke +3.5 | GEM-NCAAM-2603151900-DUKE-UNC-S-DUKE3 |
| Over 145.5 | GEM-NCAAM-2603151900-DUKE-UNC-T-O145 |
EPL Match
Arsenal vs Man City, Feb 15 2026 15:00 UTC
| Market | Full Ticker |
|---|
| Arsenal win | GEM-EPL-2602151500-ARS-MCI-M-ARS |
| Man City win | GEM-EPL-2602151500-ARS-MCI-M-MCI |
| Draw | GEM-EPL-2602151500-ARS-MCI-M-D |
| Over 2.5 goals | GEM-EPL-2602151500-ARS-MCI-T-O2 |
Futures
| Market | Ticker |
|---|
| Los Angeles 2025-26 NBA Championship | GEM-NBAF-2526CHAMP-LAL |
| Kansas City AFC West Division | GEM-NFLF-2526DIV-AFCW-KC |
| Duke NCAA Tournament | GEM-NCAAMF-2526CHAMP-DUKE |
Validation Rules
Event Ticker Validation
- Must start with
GEM-
- Must be ALL UPPERCASE
- Must contain exactly 5 hyphens (for game markets)
- League code must be from supported list
- DateTime must be valid UTC timestamp
- Team codes must be valid for the league
- Market type must be from supported list
Contract Ticker Validation
| Market Type | Valid Pattern | Examples |
|---|
| Moneyline | ^[A-Z]{2,4}$ or ^D$ | DAL, HOU, D |
| Spread | ^[A-Z]{2,4}[0-9]+$ | DAL6, HOU6 |
| Total | ^[OU][0-9]+$ | O222, U47 |
| Team Total | ^[A-Z]{2,4}[OU][0-9]+$ | HOUO110, DALU112 |
Full Ticker Validation
^GEM-[A-Z]{2,6}-\d{10}-[A-Z]{2,4}-[A-Z]{2,4}-[A-Z]{1,7}-[A-Z0-9]+$
Changelog
| Version | Effective Date | Changes |
|---|
| 1.0 | 2026-02-13 | Initial specification |
Last modified on