Skip to content
UDX
2026-07-15

Get a Market's Stats

Returns a market’s open interest, last price, and day and lifetime trading activity.

GET/markets/{ticker}/stats
Authorization
Authorization

Optional — this operation also accepts unauthenticated requests.

UDX-Access-KeyAPI key · header

Opaque API key ID.

UDX-Access-TimestampAPI key · header

Unix time in milliseconds, within 30 seconds of server time.

UDX-Access-SignatureAPI key · header

Standard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt.

or
AuthorizationBearer token (JWT) · header

Bearer token for an active signed-in UDX user.

An authenticated request is metered against the member's read bucket and returns RateLimit headers; an unauthenticated request shares the public per-client limit.

Header parameters
Header parameters
UDX-Versionstring

Dated API version (YYYY-MM-DD).

min length 10 · max length 10
Path parameters
tickerTickerrequired

The market's ticker.

min length 1 · max length 128
Responses
200The market's trading activity summary.
statsMarketStatsrequired

A market's trading activity summary.

Show properties
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
open_intereststringrequired

Contracts held long, which equals contracts held short.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
last_pricestring

Price of the most recent trade on any day. Absent until the market has traded.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
dayMarketDayStatsrequired

Trading activity in the current trade day. Prices are absent until the market trades in the day.

Show properties
openstring

Price of the day's first trade.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
highstring

Highest trade price of the day.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
lowstring

Lowest trade price of the day.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
volumestringrequired

Contracts traded in the day.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
notionalstringrequired

Dollars traded in the day.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
updated_atstring<date-time>required

When the exchange last updated these figures.

max length 40
lifetimeMarketLifetimeStatsrequired

Trading activity since the market was listed. Prices are absent until the market has traded.

Show properties
highstring

Highest trade price since listing.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
lowstring

Lowest trade price since listing.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
volumestringrequired

Contracts traded since listing.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
notionalstringrequired

Dollars traded since listing.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
trade_countinteger<int64>required

Trades since listing.

min 0
404No market with this ticker exists.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
429The request rate was exceeded. An unauthenticated request shares the public per-client limit; an authenticated request is metered against the member's read bucket.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
500Something went wrong on UDX's side.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
503Request admission or account setup is unavailable, or the read could not be completed in time; retry.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
Request
curl -X GET "https://api.underdogexchange.com/markets/UDX-EXAMPLE-MARKET/stats" \
  -H "UDX-Access-Key: API_KEY_ID" \
  -H "UDX-Access-Timestamp: UNIX_MILLISECONDS" \
  -H "UDX-Access-Signature: BASE64_SIGNATURE"
Response
{
  "stats": {
    "ticker": "UDX-EXAMPLE-MARKET",
    "open_interest": "1200",
    "last_price": "0.54",
    "day": {
      "open": "0.51",
      "high": "0.56",
      "low": "0.5",
      "volume": "840",
      "notional": "445.2"
    },
    "lifetime": {
      "high": "0.61",
      "low": "0.38",
      "volume": "19400",
      "notional": "9870",
      "trade_count": 612
    },
    "updated_at": "2026-01-01T00:00:00.000000Z"
  }
}