Technical Overview

We're selectively onboarding design partners to refine this with us.

Base URLhttps://api.example.discrete.markets/v1

Concepts

Events represent real-world outcomes (e.g., "2024 Presidential Election"). Markets are tradeable contracts within events (e.g., "Trump wins Republican primary"). Events may exist on multiple venues with different tickers — Discrete normalizes and maps these markets into a unified representation.

Core APIs

Positions

GET /positionsUnified view of all positions across Kalshi + Polymarket. Returns exposure, P&L, current prices per position and aggregated by venue.

Orders

POST /ordersSubmit order with smart routing (best price, lowest fee, or specific venue). Includes configurable pre-trade checks (e.g., liquidity, limits, policy).
GET /ordersList open and filled orders.
GET /orders/{order_id}Single order status.
DELETE /orders/{order_id}Cancel order.

Order Book

GET /events/{event_id}/orderbookAggregated order book across venues. Shows depth by venue at each price level.

Market Discovery

Search & Filter

GET /marketsList markets with filters: category, min liquidity, min volume, tradability score, settlement date range.
GET /markets/{market_id}Single market details including current price, volume, and venue availability.
GET /markets/categoriesList categories with market counts.
GET /markets/trendingMarkets ranked by volume and price change.
GET /markets/settlingMarkets settling soon.

Events

GET /eventsList events with cross-venue mappings (Kalshi ticker ↔ Polymarket slug).
GET /events/{event_id}Single event with all venue-specific details and child markets.

Quality & Risk

Market Signals

GET /markets/{market_id}/signalsMarket quality signals: liquidity depth, volume, spread stability, settlement metadata. Includes tradability score.
GET /markets/restrictedMarkets excluded from trading under the user's quality or risk policy.

Risk Controls

GET /risk/limitsView configured risk thresholds and current utilization (exposure, position size, loss metrics).
PUT /risk/limitsUpdate risk thresholds used for monitoring and pre-trade checks.
POST /risk/kill-switchEmergency stop: cancels all open orders and disables new trading. Position reduction is best-effort.

Analytics

Margin

GET /margin/recommendationsRecommendations to improve capital efficiency (e.g., offsetting exposure, venue-aware sizing).

Arbitrage

GET /arbitragePrice discrepancies between venues on the same event.

Data

Historical

GET /markets/{market_id}/historyHistorical price and volume time series.
GET /fillsYour execution history.
GET /pnl/dailyDaily P&L summary.

Account

GET /account/balancesBalances per venue.

WebSocket

URLwss://ws.example.discrete.markets/v1
positionsReal-time position updates.
ordersOrder status changes and fills.
qualityMarket quality degradation alerts.
arbitrageNew arbitrage opportunities.

Webhooks

order.filledOrder fill notification.
position.settledContract resolved.
quality.alertMarket quality signal crossed threshold.
risk.breachRisk limit exceeded.
market.matchNew market matches configured filter.

Availability may vary by account and integration stage.

Get access

Talk to us about your use case and integration requirements.

Schedule a call