{
"type": "subscribed",
"markets": [
"0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
]
}{
"type": "order_accepted",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "order_filled",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "order_cancelled",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "fill",
"data": {
"trade_id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"maker_order_id": "0xfeed00000000000000000000000000000000000000000000000000000000000a",
"taker_order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"price_tick": 553,
"size": "15"
}
}{
"type": "market_status_changed",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"old_status": "Active",
"new_status": "Paused",
"cancelled_orders": 3
}{
"event_type": "book",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"bids": [
{
"price": "0.547",
"size": "120000000"
},
{
"price": "0.546",
"size": "350000000"
}
],
"asks": [
{
"price": "0.553",
"size": "95000000"
},
{
"price": "0.554",
"size": "410000000"
}
],
"timestamp": "1779355812367",
"hash": "86abb2eec0fed47888ef100977aa363345a032f35a53976d88e951c28bb57ab9"
}{
"event_type": "price_change",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"price_changes": [
{
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"price": "0.547",
"size": "120",
"side": "BUY",
"hash": "86abb2eec0fed47888ef100977aa363345a032f35a53976d88e951c28bb57ab9",
"best_bid": "0.547",
"best_ask": "0.553"
},
{
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"price": "0.553",
"size": "0",
"side": "SELL",
"hash": "9f0b2c1d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
"best_bid": "0.547",
"best_ask": "0.554"
}
],
"timestamp": "1779355812900"
}{
"event_type": "last_trade_price",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"price": "0.553",
"side": "BUY",
"size": "15",
"fee_rate_bps": "0",
"timestamp": "1779355812400"
}{
"event_type": "best_bid_ask",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"best_bid": "0.547",
"best_ask": "0.553",
"spread": "0.006",
"timestamp": "1779355812500"
}{
"event_type": "order",
"id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"owner": "0xCAFE000000000000000000000000000000000A11",
"maker_address": "0xCAFE000000000000000000000000000000000A11",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"side": "BUY",
"original_size": "100",
"size_matched": "0",
"price": "0.547",
"type": "PLACEMENT",
"status": "LIVE",
"outcome": "YES",
"order_type": "GTC",
"expiration": "0",
"created_at": 1779355800,
"last_update": "1779355800123",
"timestamp": "1779355800123"
}{
"event_type": "trade",
"id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"taker_order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"maker_order_id": "0xfeed00000000000000000000000000000000000000000000000000000000000a",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"side": "BUY",
"size": "15",
"price": "0.553",
"fee_rate_bps": "0",
"status": "MATCHED",
"outcome": "YES",
"maker_address": "0xBEEF000000000000000000000000000000000B22",
"trader_side": "TAKER",
"match_type": "COMPLEMENTARY",
"last_update": "1779355812400",
"timestamp": "1779355812400"
}{
"event_type": "trade",
"id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"status": "MINED",
"timestamp": "1779355815000"
}{
"type": "orders_rebalanced",
"cancelled_count": 2,
"cancelled_order_ids": [
"0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"0x1122334455667788990011223344556677889900aabbccddeeff112233445566"
]
}{
"event_type": "trading_state_changed",
"state": "paused",
"source": "on_chain",
"timestamp": "1779355900000"
}{
"type": "error",
"message": "authentication failed: HMAC signature mismatch"
}{
"action": "subscribe",
"markets": [
"market-1",
"market-2"
]
}{
"type": "market",
"assets_ids": [
"99432401000770353406389174286851792153493338941614722624150072378970973371272",
"46985784934245469874674051973070583024711389039998687745451745904831527332283"
],
"custom_feature_enabled": true,
"initial_dump": true
}{
"type": "user",
"auth": {
"apiKey": "abc123",
"secret": "base64-secret",
"passphrase": "phrase"
},
"markets": [],
"initial_dump": true
}{
"action": "place_order",
"order": {
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"outcome": "Yes",
"time_in_force": "Gtc",
"signed_ctf_order": {
"maker": "0xCAFE000000000000000000000000000000000A11",
"amount": "100000000",
"price": 547,
"side": 0,
"expiration": 0,
"nonce": 0,
"executionPrice": 547,
"signatureType": 3,
"signature": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f901b"
}
}
}{
"action": "cancel_order",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"order_id": 42,
"signature": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f901b",
"signature_type": 3,
"signer": "0xCAFE000000000000000000000000000000000A11"
}Combined feed (internal)
Internal combined feed that emits market events AND user events on the
same connection. Used by XO’s own clients. The auth model and inbound
place_order / cancel_order actions described under “Inline trading”
are accepted on this endpoint.
{
"type": "subscribed",
"markets": [
"0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
]
}{
"type": "order_accepted",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "order_filled",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "order_cancelled",
"order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb"
}{
"type": "fill",
"data": {
"trade_id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"maker_order_id": "0xfeed00000000000000000000000000000000000000000000000000000000000a",
"taker_order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"price_tick": 553,
"size": "15"
}
}{
"type": "market_status_changed",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"old_status": "Active",
"new_status": "Paused",
"cancelled_orders": 3
}{
"event_type": "book",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"bids": [
{
"price": "0.547",
"size": "120000000"
},
{
"price": "0.546",
"size": "350000000"
}
],
"asks": [
{
"price": "0.553",
"size": "95000000"
},
{
"price": "0.554",
"size": "410000000"
}
],
"timestamp": "1779355812367",
"hash": "86abb2eec0fed47888ef100977aa363345a032f35a53976d88e951c28bb57ab9"
}{
"event_type": "price_change",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"price_changes": [
{
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"price": "0.547",
"size": "120",
"side": "BUY",
"hash": "86abb2eec0fed47888ef100977aa363345a032f35a53976d88e951c28bb57ab9",
"best_bid": "0.547",
"best_ask": "0.553"
},
{
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"price": "0.553",
"size": "0",
"side": "SELL",
"hash": "9f0b2c1d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
"best_bid": "0.547",
"best_ask": "0.554"
}
],
"timestamp": "1779355812900"
}{
"event_type": "last_trade_price",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"price": "0.553",
"side": "BUY",
"size": "15",
"fee_rate_bps": "0",
"timestamp": "1779355812400"
}{
"event_type": "best_bid_ask",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"best_bid": "0.547",
"best_ask": "0.553",
"spread": "0.006",
"timestamp": "1779355812500"
}{
"event_type": "order",
"id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"owner": "0xCAFE000000000000000000000000000000000A11",
"maker_address": "0xCAFE000000000000000000000000000000000A11",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"side": "BUY",
"original_size": "100",
"size_matched": "0",
"price": "0.547",
"type": "PLACEMENT",
"status": "LIVE",
"outcome": "YES",
"order_type": "GTC",
"expiration": "0",
"created_at": 1779355800,
"last_update": "1779355800123",
"timestamp": "1779355800123"
}{
"event_type": "trade",
"id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"taker_order_id": "0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"maker_order_id": "0xfeed00000000000000000000000000000000000000000000000000000000000a",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"asset_id": "26516164265702901957933644848127860370782874751279270726689263951695181556943",
"side": "BUY",
"size": "15",
"price": "0.553",
"fee_rate_bps": "0",
"status": "MATCHED",
"outcome": "YES",
"maker_address": "0xBEEF000000000000000000000000000000000B22",
"trader_side": "TAKER",
"match_type": "COMPLEMENTARY",
"last_update": "1779355812400",
"timestamp": "1779355812400"
}{
"event_type": "trade",
"id": "0xc0ffee0000000000000000000000000000000000000000000000000000000a11",
"market": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"status": "MINED",
"timestamp": "1779355815000"
}{
"type": "orders_rebalanced",
"cancelled_count": 2,
"cancelled_order_ids": [
"0x0011223344556677889900aabbccddeeff00112233445566778899aabbccddee",
"0x1122334455667788990011223344556677889900aabbccddeeff112233445566"
]
}{
"event_type": "trading_state_changed",
"state": "paused",
"source": "on_chain",
"timestamp": "1779355900000"
}{
"type": "error",
"message": "authentication failed: HMAC signature mismatch"
}{
"action": "subscribe",
"markets": [
"market-1",
"market-2"
]
}{
"type": "market",
"assets_ids": [
"99432401000770353406389174286851792153493338941614722624150072378970973371272",
"46985784934245469874674051973070583024711389039998687745451745904831527332283"
],
"custom_feature_enabled": true,
"initial_dump": true
}{
"type": "user",
"auth": {
"apiKey": "abc123",
"secret": "base64-secret",
"passphrase": "phrase"
},
"markets": [],
"initial_dump": true
}{
"action": "place_order",
"order": {
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"outcome": "Yes",
"time_in_force": "Gtc",
"signed_ctf_order": {
"maker": "0xCAFE000000000000000000000000000000000A11",
"amount": "100000000",
"price": 547,
"side": 0,
"expiration": 0,
"nonce": 0,
"executionPrice": 547,
"signatureType": 3,
"signature": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f901b"
}
}
}{
"action": "cancel_order",
"market_id": "0x39a12d52b63969654926e095ddd96f5c459112714da03edca769aa58173c78fb",
"order_id": 42,
"signature": "0xa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f901b",
"signature_type": 3,
"signer": "0xCAFE000000000000000000000000000000000A11"
}L2 HMAC API key triplet (apiKey, secret, passphrase) delivered
inside the /ws/user subscribe message body, not in the HTTP upgrade
headers. The triplet is created or derived via the L1 ClobAuth
EIP-712 flow described in Smart accounts.
Acknowledges successful subscription with the resolved market id list.
XO-native order accepted ack.
XO-native order fully filled.
XO-native order cancellation ack.
XO-native fill emitted on /ws.
Market status transition with count of auto-cancelled orders.
Full L2 snapshot for a market. Sent on subscribe (when initial_dump=true), after order placement / cancellation, and after fills.
Order-level price/size delta(s) for a market.
Fill execution at the taker's effective price.
Top-of-book update. Requires custom_feature_enabled=true.
Order lifecycle event (PLACEMENT, UPDATE, CANCELLATION, REJECTED). Only the affected user receives this.
Fill executed. Both maker and taker receive this event with their own trader_side.
Status transition for a previously-emitted trade (MINED, CONFIRMED, RETRYING, FAILED).
Emitted when the user's orders are auto-cancelled due to a balance change (withdrawal, AMM trade, etc.).
Global trading-state change broadcast to every connection.
Generic error reply.
XO-native action-based subscribe; only honored on the combined feed.
Subscribe to public market events for one or more token IDs.
Authenticate and subscribe to user events. Empty markets subscribes to all of the user's markets.
Submit an EIP-712-signed CTF order over the combined feed.
Cancel a resting order over the combined feed.