Skip to main content
curl --request GET \
  --url https://api.longshot.xyz/v1/contests/550e8400-e29b-41d4-a716-446655440000 \
  --header 'Authorization: Bearer <session_token>'
{
  "contest_id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Daily Mentions Contest",
  "category": "mentions",
  "status": "open",
  "bet_amount_micros": 1000000,
  "protocol_prize_pool_micros": 25000000,
  "total_pot_micros": 35000000,
  "entries_filled": 10,
  "entry_cap": 100,
  "entry_opens_at_ms": 1778010000000,
  "betting_closes_ms": 1778013600000,
  "live_ends_at_ms": 1778017200000,
  "resolved_at_ms": null,
  "created_at_ms": 1778006400000,
  "image_url": "/v1/pool-images/22222222-2222-2222-2222-222222222222/raw",
  "description": "Pick the markets that resolve YES.",
  "bet_type": { "kind": "num_bets", "value": 2 },
  "game_type": "lineups",
  "winning_split_bps": [6000, 3000, 1000],
  "markets": [
    {
      "market_id": 61619,
      "category": "Politics",
      "name": "Will this person be mentioned?",
      "description": "Rules for this contest market.",
      "status": "OPEN",
      "outcome": null,
      "source_kind": "polymarket_fantasy",
      "source_event_id": "12345",
      "source_market_id": "67890",
      "betting_closes_at_ms": 1778013600000,
      "live_ends_at_ms": 1778017200000,
      "resolution_time_ms": null
    }
  ],
  "caller": {
    "joined": true,
    "entries": [
      {
        "entry_index": 0,
        "created_at_ms": 1778010300000,
        "picks": [
          { "market_id": 61619, "direction": "up", "outcome": "pending" }
        ],
        "open_leg_count": 1,
        "resolved_win_count": 0,
        "payout_micros": null,
        "net_payout_micros": null,
        "rank": null
      }
    ]
  }
}
curl --request GET \
  --url https://api.longshot.xyz/v1/contests/550e8400-e29b-41d4-a716-446655440000 \
  --header 'Authorization: Bearer <session_token>'
{
  "contest_id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Daily Mentions Contest",
  "category": "mentions",
  "status": "open",
  "bet_amount_micros": 1000000,
  "protocol_prize_pool_micros": 25000000,
  "total_pot_micros": 35000000,
  "entries_filled": 10,
  "entry_cap": 100,
  "entry_opens_at_ms": 1778010000000,
  "betting_closes_ms": 1778013600000,
  "live_ends_at_ms": 1778017200000,
  "resolved_at_ms": null,
  "created_at_ms": 1778006400000,
  "image_url": "/v1/pool-images/22222222-2222-2222-2222-222222222222/raw",
  "description": "Pick the markets that resolve YES.",
  "bet_type": { "kind": "num_bets", "value": 2 },
  "game_type": "lineups",
  "winning_split_bps": [6000, 3000, 1000],
  "markets": [
    {
      "market_id": 61619,
      "category": "Politics",
      "name": "Will this person be mentioned?",
      "description": "Rules for this contest market.",
      "status": "OPEN",
      "outcome": null,
      "source_kind": "polymarket_fantasy",
      "source_event_id": "12345",
      "source_market_id": "67890",
      "betting_closes_at_ms": 1778013600000,
      "live_ends_at_ms": 1778017200000,
      "resolution_time_ms": null
    }
  ],
  "caller": {
    "joined": true,
    "entries": [
      {
        "entry_index": 0,
        "created_at_ms": 1778010300000,
        "picks": [
          { "market_id": 61619, "direction": "up", "outcome": "pending" }
        ],
        "open_leg_count": 1,
        "resolved_win_count": 0,
        "payout_micros": null,
        "net_payout_micros": null,
        "rank": null
      }
    ]
  }
}

Endpoint

GET https://api.longshot.xyz/v1/contests/{id}
Authorization: Bearer <session_token>
Returns contest configuration, contest markets, and a nested caller section when the request includes a valid bearer session. This public detail endpoint is available for lineups and outcast contests; survivor and streak contests return 404 CONTEST_NOT_FOUND.

Headers

Authorization
string
Optional Bearer <session_token> from wallet auth or Privy session auth.

Path Parameters

id
uuid
required
Contest ID returned by GET /v1/contests.

Response Fields

contest_id
uuid
Contest ID.
title
string
Display title for the contest.
category
string
Contest category: mentions, sports, or culture.
status
string
Contest status: open, resolved, or voided.
bet_amount_micros
int64
Entry amount in micros.
protocol_prize_pool_micros
int64
Prize pool funded by the protocol, in micros.
total_pot_micros
int64
Current total contest pot in micros.
entries_filled
int32
Number of submitted entries.
entry_cap
int32
Maximum number of entries accepted.
entry_opens_at_ms
int64 | null
Entry-open timestamp as Unix milliseconds.
betting_closes_ms
int64
Last timestamp, in Unix milliseconds, when entries are accepted.
live_ends_at_ms
int64 | null
UI live-window end timestamp as Unix milliseconds, when configured.
resolved_at_ms
int64 | null
Resolution timestamp as Unix milliseconds when the contest has resolved.
caller
object | null
Caller-owned fields. Null when the request is unauthenticated.
caller.joined
boolean
True when the bearer session belongs to a user who has entered the contest.
created_at_ms
int64
Contest creation timestamp as Unix milliseconds.
image_url
string
Resolved contest image URL when an image is available.
description
string | null
Contest description when configured.
bet_type
object
Entry selection rule. kind is num_bets or bets_per_category; value is the required count.
game_type
string
Contest payout mode: lineups or outcast.
winning_split_bps
array
Winner split percentages in basis points for lineups-style contests.
markets
array
Markets available for contest picks.
markets[].market_id
int64
Market ID to submit in bets[].market_id.
markets[].category
string
Per-contest market category label.
markets[].name
string
Display name for the market.
markets[].description
string | null
Public rules text for this contest market.
markets[].status
string
Market status, for example OPEN, RESOLVED, or VOIDED.
markets[].outcome
string | null
Resolved outcome, YES or NO, when known.
markets[].source_kind
string | null
Source/provider kind for source-backed markets. Null for price markets.
markets[].source_event_id
string | null
Source event ID for source-backed markets. Null for price markets.
markets[].source_market_id
string | null
Source market ID for source-backed markets. Null for price markets.
markets[].betting_closes_at_ms
int64 | null
Market-level betting-close timestamp as Unix milliseconds.
markets[].live_ends_at_ms
int64 | null
Market-level live-window end timestamp as Unix milliseconds, when configured.
markets[].resolution_time_ms
int64 | null
Market resolution timestamp as Unix milliseconds when known.
caller.entries
array
Entries for the bearer-session user. Empty when authenticated but not entered.
caller.entries[].entry_index
int32
Entry index for users with multiple paid entries.
caller.entries[].created_at_ms
int64
Entry creation timestamp as Unix milliseconds.
caller.entries[].picks
array
Picks in this contest entry.
caller.entries[].picks[].market_id
int64
Market ID for the pick.
caller.entries[].picks[].direction
string
Pick direction: up or down.
caller.entries[].picks[].outcome
string
Pick outcome: pending, won, lost, or voided.
caller.entries[].open_leg_count
int32
Count of picks that are not resolved yet.
caller.entries[].resolved_win_count
int32
Count of resolved winning picks.
caller.entries[].payout_micros
int64 | null
Gross payout in micros when the entry has resolved.
caller.entries[].net_payout_micros
int64 | null
Net payout in micros when the entry has resolved.
caller.entries[].rank
int32 | null
Contest rank when available.