Get Market Details
Retrieves market or group data using either an Ethereum address or a slug identifier
winningOutcomeIndex, an index into the fixed outcomeTokens: ['Yes', 'No'] array:winningOutcomeIndex: 0— YES resolvedwinningOutcomeIndex: 1— NO resolvednull— not yet resolved
tokens.yes / tokens.no to human outcome labels. Every individual market’s token pair is always YES / NO in the API — there is no per-token label field for custom outcomes like “Up” / “Down” or “Norway” / “England”. The mapping to a human label depends on the market type:- Binary single market (e.g. “Will ETH close above $3,000?”):
tokens.yes= the question resolves true,tokens.no= the question resolves false. The market’stitle/proxyTitlecarries the semantic meaning. - Directional AMM market (e.g. “BTC Up or Down - 5 Min”): each direction is a separate individual market.
tokens.yeson the “Up” market = betting on Up;tokens.noon the same market = the opposite side of that bet. To find the “Down” side, fetch the sibling market from the group. - Negrisk group market (e.g. “Norway vs England: team to advance?”): the group response returns
outcomeTokens: string[](for example["Norway", "England"]) andmarkets[], one submarket per outcome. To trade a specific outcome, callgetMarket()on that submarket’s slug and use itstokens.yes— that YES token represents “this outcome resolves true”. See the Negrisk overview and the TypeScript Negrisk group markets walkthrough.
tokens.up / tokens.down field — always resolve labels from the group’s outcomeTokens array or from the submarket title / proxyTitle.volume field (raw, base units) and volumeFormatted (human-readable USDC). The API does not expose a rolling 24-hour volume field; for time-windowed activity, derive it client-side from Get Feed Events (filter trade events by timestamp).status values. The response’s status field is one of:FUNDED— the market is live and accepting trades. The default for active markets.LOCKED— trading is paused on the market: orders cannot be placed or filled, but existing positions remain. A market typically entersLOCKEDshortly before resolution (after the deadline, while the winning outcome is being determined) or when an operator manually halts it. The market resumes asFUNDEDif unlocked, or transitions toRESOLVEDonce the outcome is set.RESOLVED— the winning outcome is known.winningOutcomeIndexis populated and winners can redeem their CTF positions. See Lifecycle after a trade.FUNDED_FLAGGED— the market is live but flagged for review (for example, pending resolution clarification). Treat it asFUNDEDfor trading purposes unless your integration wants to surface the flag to users.DRAFT— the market exists but has not been funded yet and is not tradeable.
settings object carries takerDelayMs — the market’s taker delay in milliseconds (0 = none, the default). When it is greater than 0, marketable (taker) orders on this market are briefly held before the matching engine fills them and order submission becomes asynchronous (the create-order response returns settlementStatus: "DELAYED" with an eligibleAt; track the fill over subscribe_order_events). Read settings.takerDelayMs to detect delay-enabled markets before placing taker orders. postOnly (maker) orders are never delayed.Path Parameters
Response
Market or group details with pricing and volume data
- Option 1
- Option 2
- Option 3
CLOB market with position IDs and trading data
Market ID
7494
Condition ID
"0x947b8e6812bf8ac27687fa25b642d6a25bf5c7292068e5aef129d9d26e9780b8"
NegRisk request ID
null
Market description
Market title
Proxy title
Expiration date
Expiration timestamp
Created timestamp
Updated timestamp
Categories
Market status
Is expired
Tags
Volume
Formatted volume
Prices
Is rewardable
Market slug
Trade type
"clob"
Market type
"single"
Priority index
Winning outcome index
Market logo
Market source (e.g. ugm:crypto, ugm:sports)
Schedule frequency for timeline
"minutely"
Schedule sub-frequency for timeline
"minutes_5"
Feed events