---
title: "Get a venue's display info and full capability set"
method: GET
path: "/exchanges/{exchange_id}"
tags: ["Exchanges"]
---

# Get a venue's display info and full capability set

`GET /exchanges/{exchange_id}`

## Request

- Base URL: `https://execution.kairos.trade`
- URL: `https://execution.kairos.trade/exchanges/{exchange_id}`
- Auth: API key in header `X-Client-Id` and API key in header `X-Api-Key` and API key in header `X-Api-Secret`

Returns the venue's display name, active flag, and the complete `capabilities` object that drives per-venue order validation. Requires authentication but **no scope**.
The lookup canonicalizes aliases (`kalshi_offchain` resolves to `kalshi`), but the response's top-level `id` echoes what you asked for — read `capabilities.exchange_id` for the canonical id.

## Path parameters

- `exchange_id` string, required

## Response `200`

Venue info.

- OrderExchangeInfo: Response for `GET /exchanges/{exchange_id}`.
  - `id` string, required: Echoes the id you asked for verbatim — NOT canonicalized. Use `capabilities.exchange_id` for the canonical value.
  - `name` string, required
  - `is_active` boolean, required
  - `capabilities` OrderExchangeCapabilities, required: What a venue supports. This is the authoritative source for the per-venue constraints `POST /orders` enforces — a `time_in_force` outside `supported_tif`, or `post_only` on a venue with `supports_post_only: false`, is rejected with `400`, never silently downgraded. Current production values: | Venue | `supported_tif` | `supports_post_only` | `min_tick_size` | `max_price` | `settlement_currency` | |---|---|---|---|---|---| | `polymarket` | GTC, GTD, FOK, FAK, IOC | true | 0.01 | 1 | USDC | | `predictfun` | GTC, GTD, FOK, FAK, IOC | true | 0.001 | 1 | USDT | | `kalshi` | GTC, GTD, IOC, FAK, FOK | true | 0.01 | 1 | USD | | `hyperliquid` | GTC, GTD, IOC, FAK, FOK | true (expressed venue-side as the `Alo` TIF) | 0.0001 | none | USDC | | `opinion` | GTC only | false | 0.01 | 1 | USDC | `kalshi_offchain` is a deprecated alias that canonicalizes to `kalshi`.
    - `exchange_id` string, required: The CANONICAL venue id — may differ from the id you requested (`kalshi_offchain` resolves to `kalshi`).
    - `display_name` string, required
    - `supported_order_types` OrderSupportedOrderTypes, required: Which order types the venue's adapter implements.
      - `market` boolean, required
      - `limit` boolean, required
      - `stop_loss` boolean, required
      - `stop_limit` boolean, required
      - `take_profit` boolean, required
      - `trailing_stop` boolean, required
    - `supported_tif` OrderTimeInForce[], required
    - `supports_post_only` boolean
    - `requires_allowances` boolean, required
    - `supports_redemption` boolean, required
    - `has_outcome_tokens` boolean, required
    - `supports_user_websocket` boolean, required
    - `supports_cancel_all` boolean, required: When `false`, `POST /orders/cancel-all` is not available for this venue.
    - `supports_batch_orders` boolean, required
    - `min_tick_size` string, required: Decimal string.
    - `min_order_size` string, required: Decimal string.
    - `max_order_size` string, nullable
    - `fee_model` 'zero_fee' | 'maker_rebate' | 'tiered_schedule' | 'fixed_bps', required
    - `maker_fee_bps` integer, nullable
    - `taker_fee_bps` integer, nullable
    - `chain_id` string, nullable: Decimal string (e.g. `"137"`), or null for off-chain venues.
    - `settlement_currency` string, required
    - `autonomous_settlement` boolean, required
    - `settlement_deferred_fill` boolean, required
    - `sell_quantity_decimals` integer, nullable: Decimal places a SELL quantity is truncated to before submission.
    - `max_price` string, nullable: Decimal string. The ceiling `price` and `trigger_price` are validated against.
    - `is_active` boolean, required
    - `ws_fill_authoritative` boolean
    - `ws_fills_include_exchange_fee` boolean
    - `supports_native_amend` boolean: Venue-native amend exists. FIX replace otherwise uses durable synthetic replacement.

## Other responses

- `401`: No valid credential presented — missing/invalid API-key headers or an invalid/expired session token.
- `404`: No such venue on this deployment. Empty body (status code only).

---

[API](https://skmtc.dev/kairos/apis/kairos-order-execution-api.md) - [All operations](https://skmtc.dev/kairos/apis/kairos-order-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kairos/apis/kairos-order-execution-api/revisions/9ba7d463d505?raw)
