> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kairos.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# Show markets

> Market lists, prices, and charts for your wallet UI. No signing, no account.

Market data is public and needs no key. Call it over HTTP from any language, or through the [SDK](https://docs.kairos.trade/wallets/sdk.md):

```bash HTTP theme={null}
curl "https://md.kairos.trade/v1/markets?provider=polymarket&limit=20"

curl "https://md.kairos.trade/v1/candles?provider=polymarket&contract_id=$CONDITION_ID\
&timeframe_seconds=3600&start=2026-10-28T00:00:00Z&end=2026-10-29T00:00:00Z"
```

```python Python theme={null}
import requests
from datetime import datetime, timedelta, timezone

MD = "https://md.kairos.trade"
markets = requests.get(f"{MD}/v1/markets", params={"provider": "polymarket", "limit": 20}).json()["markets"]

end = datetime.now(timezone.utc)
candles = requests.get(f"{MD}/v1/candles", params={
    "provider": "polymarket", "contract_id": markets[0]["condition_id"], "timeframe_seconds": 3600,
    "start": (end - timedelta(days=1)).isoformat(), "end": end.isoformat(),
}).json()["candles"]
```

```js JavaScript (SDK) theme={null}
const { markets, next_cursor } = await kairos.markets.list('polymarket', { limit: 20 })
const candles = await kairos.markets.candles({
  provider: 'polymarket',
  contractId: markets[0].condition_id,
  timeframeSeconds: 3600,
  start: new Date(Date.now() - 86_400_000),
  end: new Date(),
})
```

Pass the market object as `market` when you [place an order](https://docs.kairos.trade/wallets/trade.md#place-an-order); the SDK turns it into `venue:market_id`. List Predict.fun markets with `provider: 'predictfun'`.

| You want | Use |
| - | - |
| A list of markets | `GET /v1/markets` — [Markets](https://docs.kairos.trade/market-data/markets.md) |
| A price chart | `GET /v1/candles` — [Candles](https://docs.kairos.trade/market-data/candles.md) |
| Recent trades | `GET /v1/trades` — [Trades](https://docs.kairos.trade/market-data/trades.md) |
| Live prices and books | `wss://stream.kairos.trade` — [Market data stream](https://docs.kairos.trade/websocket/market-data-websocket.md) |

Prices on the market data API are on a 0–100 scale. Orders use 0–1.

## Matching delay

Polymarket markets carry `match_delay_ms`: how long, in milliseconds, the venue holds an order that takes liquidity before matching it. It is `0` on most markets, `250` on some, and usually `1000`–`3000` on sports markets during a game; `null` when not known. It can change when a game starts, so read it fresh before you show it.

```bash theme={null}
curl "https://md.kairos.trade/v1/markets/polymarket/0x…"
# { "condition_id": "0x…", …, "match_delay_ms": 1000 }
```

An order on such a market stays `working` until the delay ends, then reports its fill. See [delayed markets](https://docs.kairos.trade/wallets/reference.md#delayed-markets).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.