- TypeScript
- Python
- API
Let’s say you fetched a market with
fetchMarket() on a PublicClient or
SecureClient:Market Identifiers
A market has three identifiers, each used in a different context:- TypeScript
- Python
- API
Read the identifiers from the market object:
Market Outcomes
Each market has YES and NO outcomes. Each outcome includes a label, current price, and CLOB token ID. The token ID connects the market to order book and trading requests.- TypeScript
- Python
- API
Read both outcomes from The SDK represents each outcome with its label, price, and CLOB token ID:
market.outcomes:Market Status
Market status tells you whether a market is currently available for trading. Check it before relying on live prices or submitting an order, since a market may exist before its order book opens and remain discoverable after it closes. It also indicates whether the market belongs to a negative-risk group, where only one of several mutually exclusive markets can resolve YES.- TypeScript
- Python
- API
Read market status from Use its status fields to check whether the market is ready for trading:
market.state:MarketState groups the market’s operational state and timing:Identify Augmented Negative Risk
Negative-risk membership is a market-level property, but augmented negative risk is configured on the event. After confirming that the market’snegRisk
value is true, fetch its event and check that augmented negative risk is
enabled:
- TypeScript
- Python
- API
Fetch the event referenced by the market, then check its trading
configuration:
Trading Constraints
Every market enforces a minimum price increment, also known as the tick size, and a minimum order size. The minimum price increment defines the grid of prices you can submit; an order price must be a multiple of the active value. Orders smaller than the minimum order size are rejected.The
0.0025 (0.25¢) increment applies only to World Cup to advance,
moneyline, spreads, and totals markets. Always read the active value
from the market rather than assuming a fixed increment.- TypeScript
- Python
- API
Read the market’s trading constraints:The SDK groups these constraints in
MarketTrading:Trading Fees
Some markets charge trading fees. The fee schedule determines how fees vary with price, which side pays them, and what share is returned to makers.- TypeScript
- Python
- API
Read the market’s fee configuration:The SDK exposes this configuration through
MarketTrading and
FeeSchedule:Liquidity Reward Settings
Liquidity reward settings determine which resting orders can qualify for incentives and how much funding is available. An order must meet the market’s minimum qualifying size and remain within its maximum qualifying spread. See Liquidity Rewards for the scoring methodology.- TypeScript
- Python
- API
Read liquidity reward settings from The SDK exposes the market configuration through
market.rewards:MarketRewards and each
dated allocation through ClobRewards:Market Timing
Market timing places a market within its expected schedule. Markets include start and end dates, while sports markets may also include the scheduled start time of the game.- TypeScript
- Python
- API
Read timing data from the market’s state, trading configuration, and sports
metadata:The SDK groups these values by their role:
Liquidity and Activity
Liquidity, volume, and recent price activity describe how actively a market trades. Use them to compare markets or monitor changes over time.- TypeScript
- Python
- API
Read the market’s liquidity, volume, and price summary:The SDK groups liquidity and volume in
MarketMetrics, and price activity in
MarketPrices: