---
title: Markets and Trading
description: Understand binary markets, YES-side pricing, order matching, positions, and the order instructions available through UDX.
---

An event is a real-world proposition with a YES or NO outcome. A market is the tradable contract whose settlement direction derives from one or more event outcomes. Trading always uses the YES contract.

## Market Structure

| Term         | Meaning                                          |
| ------------ | ------------------------------------------------ |
| **Series**   | A recurring family of events.                    |
| **Event**    | The real-world question that resolves YES or NO. |
| **Market**   | The tradable contract and its order book.        |
| **Contract** | The quantity being bought or sold.               |

A single-leg market derives its settlement direction from one event outcome. A multi-leg market combines selected YES or NO outcomes from two or more component markets. Both are markets with their own ticker and order book; “market” throughout these docs includes both unless a restriction is stated.

A winning contract settles to $1.00. A losing contract settles to $0.00.

## Provider Identifiers

A market may carry `external_ids`: the identifiers it has in third-party data providers' systems, grouped by provider. Use it to join UDX markets onto a provider's feed instead of matching on tickers or descriptions. The object is omitted when a market has no recorded provider identifiers, and a change to it is published as a `market_metadata_updated` event. A multi-leg market has no fixture of its own; each entry in its `legs` carries that component market's `external_ids` instead.

## Listing Details

A market may carry `series_ticker`, the series it is listed under, and `event_ticker`, which groups the markets for one game or contest within that series. `title`, `rules`, `opens_at`, `notional_value`, and `contract_terms_url` describe the contract it trades. Each is omitted when the market has no value for it, and a change to any of them is published as a `market_metadata_updated` event.

`rules` is the authority on how a market resolves. `strike` summarizes its threshold: `value` is the threshold itself, `type` names the comparison, and `unit` says how to read `value`. `type` is omitted when the comparison has no name below.

| Type | Comparison |
| --- | --- |
| `greater` | Greater than the strike |
| `greater_or_equal` | Greater than or equal to the strike |
| `less` | Less than the strike |
| `less_or_equal` | Less than or equal to the strike |
| `equal` | Equal to the strike |

| Unit | Value |
| --- | --- |
| `decimal` | A number that can have a fractional part, such as `1.5` |
| `integer` | A whole number |
| `points` | A number of points, such as a points total |
| `string` | Text, such as a team name |
| `bool` | `true` or `false` |
| `unknown` | A unit not listed here; read `rules` for how to interpret `value` |

## Trade the YES Contract

- `BUY` YES opens or adds to a long position.
- `SELL` YES opens or adds to a short position.

There is no separate NO contract. Buying NO at $0.40 is economically equivalent to selling YES at $0.60.

A position is the signed net quantity of YES contracts. Positive is long YES; negative is short YES.

## Prices and Quantities

Prices are in dollars in YES price space and must follow the market's `tick_size`. Markets tick in deci-cents (`0.001`), so never assume whole cents. Quantities are in contracts with at most two decimal places, so the smallest order is `0.01` contracts.

Use decimal strings from the API for price and quantity calculations. Do not convert them to binary floating-point values.

## Orders and Trades

An order remains open until it matches, expires, or is canceled. A match creates a trade and updates the account's position. Whether a market accepts orders at all depends on its [lifecycle status](/concepts/market-lifecycle).

See [Order Entry](/concepts/order-entry) for time in force, post-only, self-trade prevention, and how orders are placed, amended, and canceled.
