Skip to main content
GET
/
api
/
markets
/
{slug}
Market detail (by slug)
curl --request GET \
  --url https://core-api.adipredictstreet.com/api/markets/{slug}
import requests

url = "https://core-api.adipredictstreet.com/api/markets/{slug}"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://core-api.adipredictstreet.com/api/markets/{slug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://core-api.adipredictstreet.com/api/markets/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://core-api.adipredictstreet.com/api/markets/{slug}"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://core-api.adipredictstreet.com/api/markets/{slug}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://core-api.adipredictstreet.com/api/markets/{slug}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "eventId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "symbol": "<string>",
  "slug": "<string>",
  "title": "<string>",
  "groupItemTitle": "<string>",
  "conditionId": "<string>",
  "questionId": "<string>",
  "yesTokenId": "<string>",
  "noTokenId": "<string>",
  "currentReviewRound": 123,
  "outcomeCount": 123,
  "outcomeLabels": [
    "<string>"
  ],
  "initialFairValue": "<string>",
  "initialOutcomePrices": [
    "<string>"
  ],
  "feeTakerBps": 123,
  "opensAt": "2023-11-07T05:31:56Z",
  "closesAt": "2023-11-07T05:31:56Z",
  "kickoff": "2023-11-07T05:31:56Z",
  "resolutionWindowHours": 123,
  "pausedAt": "2023-11-07T05:31:56Z",
  "resolvedAt": "2023-11-07T05:31:56Z",
  "payoutNumerators": "<unknown>",
  "officialDataSource": "<string>",
  "sourceMatchId": "<string>",
  "resolutionCriteria": "<string>",
  "negRiskEligible": true,
  "isNewMarketType": true,
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "outcomePrices": [
    "<string>"
  ]
}
{
"code": "<string>",
"message": "<string>",
"details": {}
}

Path Parameters

slug
string
required

Canonical URL-safe market slug, lowercased kebab-case derived from event.slug + groupItemTitle + title (e.g. real-madrid-vs-manchester-city-real-madrid-to-win-the-tie). Pulled from the slug field on any list response. Required for the root GET /api/markets/{slug} endpoint as of 2026-05-16 (breaking change from the prior {symbol}-keyed lookup; sub-resources still accept {symbol}).

Response

OK

Public shape of a market. Returned by /api/markets, /api/markets/{slug}, and as the markets[] array on Event / Match responses.

id
string<uuid>
eventId
string<uuid>

Parent admin.events row.

symbol
string

Operator-facing identifier (e.g. M1V1-RMA-MCI-959311). Used by sub-resource endpoints (/orderbook, /trades, /ohlc, /traders).

slug
string

Canonical URL-safe slug, lowercased kebab-case derived from event.slug + groupItemTitle + title. Required for the root market-detail endpoint GET /api/markets/{slug} (2026-05-16 breaking change; sub-resources still use symbol). Unique across admin.markets.

title
string

Human-readable market title (matches the parent event title for single-market events).

groupItemTitle
string | null

Per-market label inside a multi-market event accordion (Polymarket-style). Null when the market is its own event.

conditionId
string | null

On-chain ConditionalTokens condition id (bytes32 hex). Null until the deployment is confirmed.

questionId
string | null

On-chain question id (bytes32 hex).

yesTokenId
string | null

ERC-1155 position id of the YES outcome (uint256, decimal string). Use for EIP-712 order signing on binary markets.

noTokenId
string | null

ERC-1155 position id of the NO outcome. Null for non-binary markets.

status
enum<string>
Available options:
DRAFT,
PROPOSED,
PRE_MARKET,
OPEN,
PAUSED,
SUSPENDED,
CLOSED,
PENDING_RESOLUTION,
DELAYED,
DISPUTED,
RESOLVED,
VOIDED,
CANCELLED
currentReviewRound
integer
outcomeCount
integer
outcomeLabels
string[]

Outcome labels in fixed order (e.g. ["YES","NO"] or ["Real Madrid","Draw","Barcelona"]).

initialFairValue
string

Single-number seed for binary AMMs. Use initialOutcomePrices for multi-outcome.

initialOutcomePrices
string[]

Per-outcome initial price, parallel to outcomeLabels. Sums to ~1.0. Polymarket-equivalent of outcomePrices.

Decimal number encoded as a string to preserve precision (e.g. '100.5').

feeTakerBps
integer | null

Per-fill taker fee (k × BPS_DIVISOR; peak fee at P=0.5 = feeTakerBps / 4 / 10_000). Null inherits from PlatformFeeConfig.

opensAt
string<date-time> | null
closesAt
string<date-time> | null
kickoff
string<date-time> | null

Real-world fixture kickoff time (mirrors event.eventStartTime).

resolutionWindowHours
integer | null
pausedAt
string<date-time> | null
resolvedAt
string<date-time> | null
payoutNumerators
any | null

Per-outcome payout vector (set on resolve). Null for unresolved markets.

officialDataSource
string | null
sourceMatchId
string | null

External fixture identifier (StatsPerform / API-Football / etc.) used by the oracle.

resolutionCriteria
string | null

Plain-text criteria for settlement. Use resolutionCriteriaUrl on Event for the full complete write-up if needed.

negRiskEligible
boolean

True if this market is part of a negRisk multi-outcome group.

isNewMarketType
boolean
createdAt
string<date-time>
updatedAt
string<date-time>
outcomePrices
string[]

Last-trade price per outcome (parallel to outcomes). Decimal string in USDC.

Decimal number encoded as a string to preserve precision (e.g. '100.5').