Sports Ticker Format
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
Sports are organized into two categories based on ticker format:
| Category | Sports | Structure |
|---|---|---|
| Team Sports | NBA, NFL, NHL, MLB, EPL, NCAAM | Home vs Away matchup format |
| Individual Sports | Golf, Formula 1 | Tournament/race with N competitors |
Ticker Hierarchy
| Level | Description | Team Sports Example | Individual Sports Example |
|---|---|---|---|
| Event Ticker | Identifies a specific market | GEMI-NBA-2602121800-HOU-DAL-S | GEMI-GOLF-MAS-WIN-20260412 |
| Contract Ticker | Identifies a position within that market | DAL6 | SCHEFFLER |
| Full Ticker | Event + Contract combined | GEMI-NBA-2602121800-HOU-DAL-S-DAL6 | GEMI-GOLF-MAS-WIN-20260412-SCHEFFLER |
Team Sports
Event Ticker Format
Structure
Code
Components
| Component | Length | Format | Description |
|---|---|---|---|
GEMI | 4 | 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
Code
Capture Groups:
- League
- Date (YYMMDD)
- Time (HHMM)
- Away team
- Home team
- Market type
Supported Team Sports 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 |
Football
| 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: GEMI-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: GEMI-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: GEMI-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: GEMI-NBA-2602121800-HOU-DAL-TT-HOUO110
Individual Sports
Individual sports use a tournament or race-based ticker format. Instead of a home/away matchup, the event represents a competition with N individual competitors, each getting their own contract.
Event Ticker Format
Structure
Code
Components
| Component | Format | Description |
|---|---|---|
GEMI | literal | Gemini prediction market prefix |
SPORT | [A-Z0-9]+ | Sport identifier (GOLF, F1) |
EVENT | [A-Z]{2,5} | Abbreviated event name |
MARKET | [A-Z]+ | Market type (WIN for tournament/race winner) |
YYYYMMDD | [0-9]{8} | Event end date (when winner is determined) |
Regex Pattern
Code
Capture Groups:
- Sport
- Event abbreviation
- Market type
- End date (YYYYMMDD)
Supported Individual Sports
| Sport | Code | Event Abbreviation | Competitors |
|---|---|---|---|
| Golf | GOLF | 3-char tournament name | ~60-80 per tournament |
| Formula 1 | F1 | 3-char GP name + GP | ~20 per race |
Contract Ticker Format
Contract Ticker: {COMPETITOR} — uppercase alphabetic name of the competitor.
| Sport | Format | Collision Handling | Examples |
|---|---|---|---|
| Golf | Uppercase last name | Prepend first name | SCHEFFLER, JOHNSMITH |
| Formula 1 | Driver symbol | Pre-assigned in DB | VER, HAM, NOR |
Golf
Event Ticker
Code
| Component | Description | Example |
|---|---|---|
GEMI | Gemini prediction market prefix | GEMI |
GOLF | Sport identifier | GOLF |
ABBREV | First 3 uppercase alpha chars of tournament name (after stripping "The " prefix) | MAS (Masters), PGA (PGA Championship) |
WIN | Tournament winner market | WIN |
YYYYMMDD | Final round date | 20260412 |
Tournament Abbreviation Rules
- Strip leading "The " / "the " (case-insensitive)
- Strip trailing year suffix (e.g., " 2025")
- Remove all non-alphanumeric characters
- Uppercase
- Take first 3 characters
| Tournament | Abbreviation |
|---|---|
| Masters Tournament | MAS |
| THE PLAYERS Championship | PLA |
| PGA Championship | PGA |
| U.S. Open | USO |
| The Open Championship | OPE |
| Arnold Palmer Invitational | ARN |
| Valero Texas Open | VAL |
Contract Ticker (Player)
- Default: Uppercase last name, alpha characters only (
SCHEFFLER,MCILROY,WOODS) - On collision: Prepend first name (
JOHNSMITH,JAMESSMITH) - Special characters stripped:
J.J. Spaun→SPAUN,Si Woo Kim→KIM
Golf Examples
Masters Tournament, Apr 12 2026
| Market | Event Ticker | Contract | Full Ticker |
|---|---|---|---|
| Scheffler wins | GEMI-GOLF-MAS-WIN-20260412 | SCHEFFLER | GOLF-MAS-WIN-20260412-SCHEFFLER |
| McIlroy wins | GEMI-GOLF-MAS-WIN-20260412 | MCILROY | GOLF-MAS-WIN-20260412-MCILROY |
| Rahm wins | GEMI-GOLF-MAS-WIN-20260412 | RAHM | GOLF-MAS-WIN-20260412-RAHM |
PGA Championship, May 17 2026
| Market | Event Ticker | Contract | Full Ticker |
|---|---|---|---|
| Woods wins | GEMI-GOLF-PGA-WIN-20260517 | WOODS | GOLF-PGA-WIN-20260517-WOODS |
| Schauffele wins | GEMI-GOLF-PGA-WIN-20260517 | SCHAUFFELE | GOLF-PGA-WIN-20260517-SCHAUFFELE |
Formula 1
Event Ticker
Code
| Component | Description | Example |
|---|---|---|
GEMI | Gemini prediction market prefix | GEMI |
F1 | Sport identifier | F1 |
ABBREV | First 3 uppercase chars of GP location + GP | MIAGP (Miami), AUSGP (Australian) |
WIN | Race winner market | WIN |
YYYYMMDD | Race date | 20260504 |
Contract Ticker (Driver)
Pre-assigned driver symbols from the database (e.g., VER, HAM, NOR, LEC).
Formula 1 Examples
Miami Grand Prix, May 4 2026
| Market | Event Ticker | Contract | Full Ticker |
|---|---|---|---|
| Verstappen wins | GEMI-F1-MIAGP-WIN-20260504 | VER | F1-MIAGP-WIN-20260504-VER |
| Hamilton wins | GEMI-F1-MIAGP-WIN-20260504 | HAM | F1-MIAGP-WIN-20260504-HAM |
| Norris wins | GEMI-F1-MIAGP-WIN-20260504 | NOR | F1-MIAGP-WIN-20260504-NOR |
Futures Format
Futures use a modified structure with F appended to the league code.
Structure
Code
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 | GEMI-NBAF-2526CHAMP-LAL |
| Conference | CONF | GEMI-NBAF-2526CONF-WEST-LAL |
| Division | DIV | GEMI-NFLF-2526DIV-AFCN-CLE |
| MVP | MVP | GEMI-NBAF-2526MVP-LUKA |
Regex Pattern
Code
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 | GEMI-NBA-2602121800-HOU-DAL-M | DAL | GEMI-NBA-2602121800-HOU-DAL-M-DAL |
| Houston win | GEMI-NBA-2602121800-HOU-DAL-M | HOU | GEMI-NBA-2602121800-HOU-DAL-M-HOU |
| Dallas -6.5 | GEMI-NBA-2602121800-HOU-DAL-S | DAL6 | GEMI-NBA-2602121800-HOU-DAL-S-DAL6 |
| Houston +6.5 | GEMI-NBA-2602121800-HOU-DAL-S | HOU6 | GEMI-NBA-2602121800-HOU-DAL-S-HOU6 |
| Over 222.5 | GEMI-NBA-2602121800-HOU-DAL-T | O222 | GEMI-NBA-2602121800-HOU-DAL-T-O222 |
| Under 222.5 | GEMI-NBA-2602121800-HOU-DAL-T | U222 | GEMI-NBA-2602121800-HOU-DAL-T-U222 |
| Houston Over 110.5 | GEMI-NBA-2602121800-HOU-DAL-TT | HOUO110 | GEMI-NBA-2602121800-HOU-DAL-TT-HOUO110 |
| Dallas Under 112.5 | GEMI-NBA-2602121800-HOU-DAL-TT | DALU112 | GEMI-NBA-2602121800-HOU-DAL-TT-DALU112 |
| Luka Over 30.5 pts | GEMI-NBA-2602121800-HOU-DAL-PPPTS | LUKAO30 | GEMI-NBA-2602121800-HOU-DAL-PPPTS-LUKAO30 |
| Luka Under 10.5 reb | GEMI-NBA-2602121800-HOU-DAL-PPREB | LUKAU10 | GEMI-NBA-2602121800-HOU-DAL-PPREB-LUKAU10 |
NFL Game
Buffalo @ Kansas City, Jan 12 2026 18:30 UTC
| Market | Full Ticker |
|---|---|
| Kansas City win | GEMI-NFL-2601121830-BUF-KC-M-KC |
| Kansas City -3.5 | GEMI-NFL-2601121830-BUF-KC-S-KC3 |
| Over 47.5 | GEMI-NFL-2601121830-BUF-KC-T-O47 |
| Mahomes Over 2.5 TDs | GEMI-NFL-2601121830-BUF-KC-PPTD-MAHOMESO2 |
| Mahomes Over 299.5 yds | GEMI-NFL-2601121830-BUF-KC-PPYDS-MAHOMESO299 |
NCAAM Game
Duke @ UNC, Mar 15 2026 19:00 UTC
| Market | Full Ticker |
|---|---|
| UNC win | GEMI-NCAAM-2603151900-DUKE-UNC-M-UNC |
| Duke +3.5 | GEMI-NCAAM-2603151900-DUKE-UNC-S-DUKE3 |
| Over 145.5 | GEMI-NCAAM-2603151900-DUKE-UNC-T-O145 |
EPL Match
Arsenal vs Man City, Feb 15 2026 15:00 UTC
| Market | Full Ticker |
|---|---|
| Arsenal win | GEMI-EPL-2602151500-ARS-MCI-M-ARS |
| Man City win | GEMI-EPL-2602151500-ARS-MCI-M-MCI |
| Draw | GEMI-EPL-2602151500-ARS-MCI-M-D |
| Over 2.5 goals | GEMI-EPL-2602151500-ARS-MCI-T-O2 |
Golf Tournament
Masters Tournament, Apr 12 2026
| Market | Event Ticker | Contract | Full Ticker |
|---|---|---|---|
| Scheffler wins | GEMI-GOLF-MAS-WIN-20260412 | SCHEFFLER | GOLF-MAS-WIN-20260412-SCHEFFLER |
| McIlroy wins | GEMI-GOLF-MAS-WIN-20260412 | MCILROY | GOLF-MAS-WIN-20260412-MCILROY |
| Matsuyama wins | GEMI-GOLF-MAS-WIN-20260412 | MATSUYAMA | GOLF-MAS-WIN-20260412-MATSUYAMA |
Formula 1 Race
Miami Grand Prix, May 4 2026
| Market | Event Ticker | Contract | Full Ticker |
|---|---|---|---|
| Verstappen wins | GEMI-F1-MIAGP-WIN-20260504 | VER | F1-MIAGP-WIN-20260504-VER |
| Norris wins | GEMI-F1-MIAGP-WIN-20260504 | NOR | F1-MIAGP-WIN-20260504-NOR |
| Leclerc wins | GEMI-F1-MIAGP-WIN-20260504 | LEC | F1-MIAGP-WIN-20260504-LEC |
Futures
| Market | Ticker |
|---|---|
| Los Angeles 2025-26 NBA Championship | GEMI-NBAF-2526CHAMP-LAL |
| Kansas City AFC West Division | GEMI-NFLF-2526DIV-AFCW-KC |
| Duke NCAA Tournament | GEMI-NCAAMF-2526CHAMP-DUKE |
Validation Rules
Team Sports Event Ticker Validation
- Must start with
GEMI- - Must be ALL UPPERCASE
- 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
Individual Sports Event Ticker Validation
- Must start with
GEMI- - Must be ALL UPPERCASE
- Sport code must be from supported list (
GOLF,F1) - Event abbreviation must be 2-5 alpha characters
- Market type must be valid (
WIN) - Date must be valid
YYYYMMDDformat
Contract Ticker Validation
Team Sports
| 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 |
Individual Sports
| Market Type | Valid Pattern | Examples |
|---|---|---|
| Winner (Golf) | ^[A-Z]+$ | SCHEFFLER, MCILROY, JOHNSMITH |
| Winner (F1) | ^[A-Z]{2,4}$ | VER, HAM, NOR |
Full Ticker Validation
Team Sports:
Code
Individual Sports:
Code
Changelog
| Version | Effective Date | Changes |
|---|---|---|
| 1.2 | 2026-03-30 | Added Individual Sports section (Golf, Formula 1) with tournament/race-based ticker format |
| 1.1 | 2026-03-04 | Corrected prefix from GEM- to GEMI- for consistency with crypto tickers |
| 1.0 | 2026-02-13 | Initial specification |