Stream Market Lifecycle Events
Change-only notifications when markets are published, change trading status, or leave the catalog.
/wsAuthorization
UDX-Access-KeyAPI key · headerrequiredOpaque API key ID.
UDX-Access-TimestampAPI key · headerrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignatureAPI key · headerrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
market_createdA newly published market is available in the catalog.
typestringrequiredIdentifies a newly published market.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_openedTrading became available, including a reopening.
typestringrequiredIdentifies a market that opened for trading.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_pausedTrading was temporarily interrupted.
typestringrequiredIdentifies a market whose trading paused.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_closedAn active trading interval ended; the market may reopen.
typestringrequiredIdentifies a market whose trading interval ended.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_expiredTrading is terminal; the market remains in the catalog.
typestringrequiredIdentifies a market whose trading expired.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_deletedThe market left the catalog.
typestringrequiredIdentifies a market removed from the catalog.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
market_metadata_updatedThe market changed without a trading transition.
typestringrequiredIdentifies a market whose public fields changed.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgMarketLifecyclePayloadrequiredThe complete market representation, matching REST. For market_deleted this is the last representation before removal.
Show propertiesHide properties
marketMarketrequiredA tradable binary market.
Show propertiesHide properties
legsMarketLeg[]Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.
Show propertiesHide properties
MarketLegtickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
outcomestringrequiredThe outcome of this component market selected by the multi-leg market.
yesnoexternal_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
descriptionstringHuman-readable description of what the market resolves on.
statusMarketStatusrequiredMarket trading status.
unopenedopenpausedclosedexpiredtick_sizestringMinimum price increment, in dollars.
minimum_pricestringMinimum allowed order price, in dollars.
maximum_pricestringMaximum allowed order price, in dollars.
expires_atstring<date-time>The configured expiration instant.
external_idsMarketExternalIdsIdentifiers this market carries in third-party data providers' systems.
Show propertiesHide properties
optic_oddsMarketExternalIdsOpticOddsIdentifiers in OpticOdds.
Show propertiesHide properties
fixture_idstringThe OpticOdds fixture this market is priced from.
market_idstringThe OpticOdds market this market is a selection of.
team_idstringThe OpticOdds team this market is about, when the market is about a team.
player_idstringThe OpticOdds player this market is about, when the market is about a player.
series_tickerstringThe series the market is listed under.
event_tickerstringGroups markets on the same game or contest within a series.
titlestringShort display name for the market.
rulesstringThe rules that decide how the market resolves.
strikeMarketStrikeThe threshold the market's outcome is compared with.
Show propertiesHide properties
typeMarketStrikeTypeHow the outcome is compared with the strike value.
greatergreater_or_equallessless_or_equalequalvaluestringrequiredThe strike itself, such as a line or a team name.
unitMarketStrikeUnitHow to read the strike value.
decimalintegerpointsstringboolunknownopens_atstring<date-time>The configured instant the market opens for trading.
notional_valuestringWhat one YES contract pays if the market resolves YES, in dollars.
contract_terms_urlstring<uri>Link to the contract terms the market is listed under.
Channel Bindings
wsmethodGETheadersUDX-Access-KeystringrequiredOpaque API key ID.
UDX-Access-TimestampstringrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignaturestringrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
Sec-WebSocket-ProtocolstringrequiredNegotiated dated WebSocket API version.
market_created
{
"type": "market_created",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "unopened",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927A1B2C3",
"market_id": "player_points",
"player_id": "7G8H9I0J1K2L"
}
}
}
}
}{
"type": "market_created",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "unopened",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927A1B2C3"
}
}
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927D4E5F6"
}
}
}
]
}
}
}market_opened
{
"type": "market_opened",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "open",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z"
}
}
}{
"type": "market_opened",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "open",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes"
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no"
}
]
}
}
}market_paused
{
"type": "market_paused",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "paused",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z"
}
}
}{
"type": "market_paused",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "paused",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes"
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no"
}
]
}
}
}market_closed
{
"type": "market_closed",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "closed",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z"
}
}
}{
"type": "market_closed",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "closed",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes"
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no"
}
]
}
}
}market_expired
{
"type": "market_expired",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "expired",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z"
}
}
}{
"type": "market_expired",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "expired",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes"
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no"
}
]
}
}
}market_deleted
{
"type": "market_deleted",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "expired",
"description": "Will the example resolve YES?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z"
}
}
}{
"type": "market_deleted",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "expired",
"description": "A two-leg example market.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes"
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no"
}
]
}
}
}market_metadata_updated
{
"type": "market_metadata_updated",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MARKET-C",
"status": "open",
"description": "Will the example resolve YES before the deadline?",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927A1B2C3",
"market_id": "player_points",
"player_id": "7G8H9I0J1K2L"
}
}
}
}
}{
"type": "market_metadata_updated",
"sid": 12,
"seq": 3,
"msg": {
"market": {
"ticker": "UDX-EXAMPLE-MULTI",
"status": "open",
"description": "A two-leg example market, priced from the YES side.",
"tick_size": "0.001",
"minimum_price": "0.001",
"maximum_price": "0.990",
"expires_at": "2026-10-01T00:00:00.000000Z",
"legs": [
{
"ticker": "UDX-EXAMPLE-MARKET-A",
"outcome": "yes",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927A1B2C3"
}
}
},
{
"ticker": "UDX-EXAMPLE-MARKET-B",
"outcome": "no",
"external_ids": {
"optic_odds": {
"fixture_id": "20260927D4E5F6"
}
}
}
]
}
}
}