Skip to main content
GET
Recent trade tape for a contract

Authorizations

X-Client-Id
string
header
required

Credential client id (kairos_ck_...). Must be sent together with X-Api-Key and X-Api-Secret.

X-Api-Key
string
header
required

64-char hex API key. Must be sent together with X-Client-Id and X-Api-Secret.

X-Api-Secret
string
header
required

64-char hex API secret. Must be sent together with X-Client-Id and X-Api-Key.

Query Parameters

provider
enum<string>
required

Venue identifier, case-insensitive. Resolved against the central provider registry; kalshi_offchain is an alias for kalshi and dome is an alias for polymarket. opinion resolves but is a disabled provider — valid only for historic reads.

Available options:
kalshi,
kalshi_offchain,
polymarket,
dome,
opinion,
predictfun,
hyperliquid
contract_id
string
required

Venue-scoped contract/token identifier to fetch trades for.

window_seconds
integer
default:86400

Lookback window, in seconds, measured back from the current server time (not from before). Valid range [3600, 86400]; out-of-range or non-integer values are rejected with 400, not clamped.

Required range: 3600 <= x <= 86400
limit
integer
default:500

Maximum number of trades to return, newest first. Valid range is [1, 500]; the default is also 500. Drives the rate-limit cost — see the operation description.

Required range: 1 <= x <= 500
before
integer<int64>

Upper bound of the window as a positive Unix timestamp in seconds (exclusive: trades with trade_ts < before). Omit to use the current time. Must be a positive integer or the request is rejected with 400.

Required range: x >= 1

Response

Trade page for the window, newest first. trades may be empty (and oldest_available_ts null) if the contract has no recorded trades at all, even after the unbounded fallback query.

trades
object[]
required

Trades in the resolved window, newest first, capped at limit entries.

has_more
boolean
required

True when the number of trades returned equals the requested limit, meaning more trades likely exist beyond this page.

Example:

true

oldest_available_ts
number | null
required

Unix timestamp (seconds, fractional) of the oldest trade in the returned page, or null when trades is empty. Reflects the oldest trade in this response, not necessarily the oldest trade ever recorded for the contract.

Example:

1737479950.001

coverage_hours
number
required

Hours between oldest_available_ts and the request time, rounded to 1 decimal place. 0.0 when trades is empty.

Example:

0.01