Skip to content

markets/src/trades

Mostlyright TypeScript SDK


Mostlyright TypeScript SDK / markets/src/trades

Defined in: packages-ts/markets/src/trades/types.ts:16

readonly close: null | number

Defined in: packages-ts/markets/src/trades/types.ts:22

readonly high: null | number

Defined in: packages-ts/markets/src/trades/types.ts:20

readonly low: null | number

Defined in: packages-ts/markets/src/trades/types.ts:21

readonly open: null | number

Defined in: packages-ts/markets/src/trades/types.ts:19

readonly openInterest: null | number

Defined in: packages-ts/markets/src/trades/types.ts:24

readonly source: "kalshi"

Defined in: packages-ts/markets/src/trades/types.ts:25

readonly ts: null | string

Defined in: packages-ts/markets/src/trades/types.ts:18

Bucket-end timestamp as ISO 8601 UTC string.

readonly volume: null | number

Defined in: packages-ts/markets/src/trades/types.ts:23


Defined in: packages-ts/markets/src/trades/kalshi.ts:34

readonly from: Date

Defined in: packages-ts/markets/src/trades/kalshi.ts:36

readonly interval: "1m" | "1h" | "1d"

Defined in: packages-ts/markets/src/trades/kalshi.ts:35

readonly to: Date

Defined in: packages-ts/markets/src/trades/kalshi.ts:37


Defined in: packages-ts/markets/src/trades/kalshi-client.ts:19

readonly optional fetchFn: (input, init?) => Promise<Response>(input, init?) => Promise<Response>

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:25

Override fetch for tests. Defaults to global fetch.

MDN Reference

URL | RequestInfo

RequestInit

Promise<Response>

MDN Reference

string | URL | Request

RequestInit

Promise<Response>

readonly optional signal: AbortSignal

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:23

AbortSignal for the whole call.

readonly optional sleepBetweenMs: number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:21

Politeness sleep between requests in ms. Default 100 (0.1 s). 0 to skip.

readonly optional timeoutMs: number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:27

Per-attempt timeout. Default 30 000 ms.


Defined in: packages-ts/markets/src/trades/types.ts:28

readonly count: null | number

Defined in: packages-ts/markets/src/trades/types.ts:33

readonly noPrice: null | number

Defined in: packages-ts/markets/src/trades/types.ts:32

readonly source: "kalshi"

Defined in: packages-ts/markets/src/trades/types.ts:35

readonly takerSide: null | "yes" | "no"

Defined in: packages-ts/markets/src/trades/types.ts:34

readonly tradeId: null | string

Defined in: packages-ts/markets/src/trades/types.ts:29

readonly ts: null | string

Defined in: packages-ts/markets/src/trades/types.ts:30

readonly yesPrice: null | number

Defined in: packages-ts/markets/src/trades/types.ts:31


Defined in: packages-ts/markets/src/trades/kalshi.ts:40

readonly optional maxPages: number

Defined in: packages-ts/markets/src/trades/kalshi.ts:43

readonly optional since: Date

Defined in: packages-ts/markets/src/trades/kalshi.ts:41

readonly optional until: Date

Defined in: packages-ts/markets/src/trades/kalshi.ts:42


Defined in: packages-ts/markets/src/trades/kalshi.ts:46

readonly optional depth: number

Defined in: packages-ts/markets/src/trades/kalshi.ts:47


Defined in: packages-ts/markets/src/trades/types.ts:38

readonly price: null | number

Defined in: packages-ts/markets/src/trades/types.ts:40

readonly side: "yes" | "no"

Defined in: packages-ts/markets/src/trades/types.ts:39

readonly size: null | number

Defined in: packages-ts/markets/src/trades/types.ts:41

readonly source: "kalshi"

Defined in: packages-ts/markets/src/trades/types.ts:42


Defined in: packages-ts/markets/src/trades/polymarket.ts:23

readonly optional fetchFn: (input, init?) => Promise<Response>(input, init?) => Promise<Response>

Defined in: packages-ts/markets/src/trades/polymarket.ts:29

Override fetch for tests.

MDN Reference

URL | RequestInfo

RequestInit

Promise<Response>

MDN Reference

string | URL | Request

RequestInit

Promise<Response>

readonly optional signal: AbortSignal

Defined in: packages-ts/markets/src/trades/polymarket.ts:27

AbortSignal for the whole call.

readonly optional sleepBetweenMs: number

Defined in: packages-ts/markets/src/trades/polymarket.ts:25

Politeness sleep between requests in ms. Default 200. 0 to skip.

readonly optional timeoutMs: number

Defined in: packages-ts/markets/src/trades/polymarket.ts:31

Per-attempt timeout. Default 30_000 ms.


Defined in: packages-ts/markets/src/trades/polymarket.ts:34

readonly optional fidelityMinutes: number

Defined in: packages-ts/markets/src/trades/polymarket.ts:38

Bucket size in minutes (default 60).

readonly from: Date

Defined in: packages-ts/markets/src/trades/polymarket.ts:35

readonly to: Date

Defined in: packages-ts/markets/src/trades/polymarket.ts:36


Defined in: packages-ts/markets/src/trades/types.ts:45

readonly price: null | number

Defined in: packages-ts/markets/src/trades/types.ts:48

Last-traded price in [0, 1] for the requested CLOB token.

readonly source: "polymarket.clob"

Defined in: packages-ts/markets/src/trades/types.ts:51

History rows live on the CLOB host (architect iter-1 CRITICAL fix).

readonly ts: null | string

Defined in: packages-ts/markets/src/trades/types.ts:46

readonly volume: null | number

Defined in: packages-ts/markets/src/trades/types.ts:49


Defined in: packages-ts/markets/src/trades/types.ts:54

readonly lastPrice: null | number

Defined in: packages-ts/markets/src/trades/types.ts:57

readonly liquidity: null | number

Defined in: packages-ts/markets/src/trades/types.ts:59

readonly marketId: null | string

Defined in: packages-ts/markets/src/trades/types.ts:55

readonly outcome: string

Defined in: packages-ts/markets/src/trades/types.ts:56

readonly source: "polymarket.gamma"

Defined in: packages-ts/markets/src/trades/types.ts:60

readonly volume: null | number

Defined in: packages-ts/markets/src/trades/types.ts:58


Defined in: packages-ts/markets/src/trades/kalshi-client.ts:114

readonly optional end_period_ts: number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:115

readonly optional open_interest: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:133

readonly optional open_interest_fp: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:130

readonly optional price: object

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:116

readonly optional close: string | number

readonly optional close_dollars: string

readonly optional high: string | number

readonly optional high_dollars: string

readonly optional low: string | number

readonly optional low_dollars: string

readonly optional open: string | number

readonly optional open_dollars: string

readonly optional volume: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:132

readonly optional volume_fp: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:129


Defined in: packages-ts/markets/src/trades/kalshi-client.ts:162

readonly optional orderbook: object

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:169

readonly optional no: readonly KalshiOrderLevel[]

readonly optional yes: readonly KalshiOrderLevel[]

readonly optional orderbook_fp: object

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:164

readonly optional no_dollars: readonly KalshiOrderLevel[]

readonly optional yes_dollars: readonly KalshiOrderLevel[]


Defined in: packages-ts/markets/src/trades/kalshi-client.ts:136

readonly optional count: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:147

readonly optional count_fp: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:142

readonly optional created_time: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:138

readonly optional no_price: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:146

readonly optional no_price_dollars: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:141

readonly optional taker_outcome_side: "yes" | "no"

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:143

readonly optional taker_side: "yes" | "no"

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:148

readonly optional trade_id: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:137

readonly optional yes_price: string | number

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:145

readonly optional yes_price_dollars: string

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:140


Defined in: packages-ts/markets/src/trades/cache.ts:22

readonly issuer: string

Defined in: packages-ts/markets/src/trades/cache.ts:23

readonly month: number

Defined in: packages-ts/markets/src/trades/cache.ts:26

readonly ticker: string

Defined in: packages-ts/markets/src/trades/cache.ts:24

readonly year: number

Defined in: packages-ts/markets/src/trades/cache.ts:25


Defined in: packages-ts/markets/src/trades/cache.ts:61

readonly optional now: Date

Defined in: packages-ts/markets/src/trades/cache.ts:62


Defined in: packages-ts/markets/src/trades/cache.ts:65

readonly optional now: Date

Defined in: packages-ts/markets/src/trades/cache.ts:66


Defined in: packages-ts/markets/src/trades/types.ts:64

Envelope returned by every trades function — rows + metadata.

Row

readonly optional eventId: string

Defined in: packages-ts/markets/src/trades/types.ts:73

readonly optional fidelityMinutes: number

Defined in: packages-ts/markets/src/trades/types.ts:75

readonly optional interval: string

Defined in: packages-ts/markets/src/trades/types.ts:74

readonly optional marketId: string

Defined in: packages-ts/markets/src/trades/types.ts:72

readonly retrievedAt: string

Defined in: packages-ts/markets/src/trades/types.ts:67

readonly rows: readonly Row[]

Defined in: packages-ts/markets/src/trades/types.ts:65

readonly optional snapshotAt: string

Defined in: packages-ts/markets/src/trades/types.ts:69

Snapshot-style results may carry a snapshotAt distinct from retrievedAt.

readonly source: TradesSource

Defined in: packages-ts/markets/src/trades/types.ts:66

readonly optional ticker: string

Defined in: packages-ts/markets/src/trades/types.ts:71

Echo of the input ticker / market-id for downstream attribution.

readonly optional tokenId: string

Defined in: packages-ts/markets/src/trades/types.ts:77

CLOB token id for polymarketHistory results (architect iter-1 fix).

KalshiInterval: typeof KALSHI_INTERVALS[number]

Defined in: packages-ts/markets/src/trades/types.ts:82


TradesSource: "kalshi" | "polymarket.gamma" | "polymarket.clob"

Defined in: packages-ts/markets/src/trades/types.ts:14

Source string carried per row — load-bearing invariant for cross-frame joins.

polymarket.gamma covers /events + /events/{id} (snapshot endpoint); polymarket.clob covers /prices-history (history endpoint, on the CLOB host — distinct from Gamma per architect iter-1 CRITICAL).

const KALSHI_API_BASE: "https://api.elections.kalshi.com/trade-api/v2" = "https://api.elections.kalshi.com/trade-api/v2"

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:11


const KALSHI_INTERVALS: readonly ["1m", "1h", "1d"]

Defined in: packages-ts/markets/src/trades/types.ts:81

Supported candle intervals — exact union mirrors Python INTERVALS.

fetchCandlesticks(ticker, args, opts): Promise<readonly RawKalshiCandle[]>

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:175

string

number

number

number

KalshiClientOptions = {}

Promise<readonly RawKalshiCandle[]>


fetchOrderbook(ticker, args, opts): Promise<RawKalshiOrderbook>

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:246

string

number

KalshiClientOptions = {}

Promise<RawKalshiOrderbook>


fetchTrades(ticker, args, opts): Promise<readonly RawKalshiTrade[]>

Defined in: packages-ts/markets/src/trades/kalshi-client.ts:210

string

FetchTradesArgs = {}

KalshiClientOptions = {}

Promise<readonly RawKalshiTrade[]>


invalidateTradesCache(cache, args): Promise<boolean>

Defined in: packages-ts/markets/src/trades/cache.ts:111

Delete cached entry; returns true when a value existed before.

CacheStore

TradesCacheKey

Promise<boolean>


isCurrentUtcMonth(year, month, now): boolean

Defined in: packages-ts/markets/src/trades/cache.ts:51

number

number

Date = ...

boolean


isFutureUtcMonth(year, month, now): boolean

Defined in: packages-ts/markets/src/trades/cache.ts:55

number

number

Date = ...

boolean


kalshiCandles(ticker, args, opts): Promise<TradesResult<KalshiCandleRow>>

Defined in: packages-ts/markets/src/trades/kalshi.ts:137

string

KalshiCandlesArgs

KalshiClientOptions = {}

Promise<TradesResult<KalshiCandleRow>>


kalshiFills(ticker, args, opts): Promise<TradesResult<KalshiFillRow>>

Defined in: packages-ts/markets/src/trades/kalshi.ts:190

string

KalshiFillsArgs = {}

KalshiClientOptions = {}

Promise<TradesResult<KalshiFillRow>>


kalshiOrderbook(ticker, args, opts): Promise<TradesResult<KalshiOrderbookRow>>

Defined in: packages-ts/markets/src/trades/kalshi.ts:237

string

KalshiOrderbookArgs = {}

KalshiClientOptions = {}

Promise<TradesResult<KalshiOrderbookRow>>


polymarketHistory(tokenId, args, opts): Promise<TradesResult<PolymarketHistoryRow>>

Defined in: packages-ts/markets/src/trades/polymarket.ts:166

string

CLOB token id (ERC-1155 asset id, one per outcome — YES or NO). NOT a Gamma market/condition/event id. Architect iter-1 CRITICAL fix.

PolymarketHistoryArgs

PolymarketClientOptions = {}

Promise<TradesResult<PolymarketHistoryRow>>


polymarketSnapshot(eventId, opts): Promise<TradesResult<PolymarketSnapshotRow>>

Defined in: packages-ts/markets/src/trades/polymarket.ts:230

string

PolymarketClientOptions = {}

Promise<TradesResult<PolymarketSnapshotRow>>


readTradesCache<Row>(cache, args, opts): Promise<null | readonly Row[]>

Defined in: packages-ts/markets/src/trades/cache.ts:70

Read cached trades rows. Returns null on miss / current-or-future month.

Row

CacheStore

TradesCacheKey

TradesCacheReadOpts = {}

Promise<null | readonly Row[]>


tradesCacheKey(args): string

Defined in: packages-ts/markets/src/trades/cache.ts:30

Build the canonical key string for a (issuer, ticker, year, month).

TradesCacheKey

string


writeTradesCache<Row>(cache, args, rows, opts): Promise<boolean>

Defined in: packages-ts/markets/src/trades/cache.ts:92

Write rows to the cache. Returns false (no-op) when:

  • the (year, month) is the current UTC month (still mutable),
  • the (year, month) is in the future, OR
  • rows is empty.

Row

CacheStore

TradesCacheKey

readonly Row[]

TradesCacheWriteOpts = {}

Promise<boolean>