Skip to main content

Why River IDs?

Each exchange uses its own identifier system:
  • Kalshi uses tickers (e.g., KXBTC-24DEC31)
  • Polymarket uses condition IDs and slugs
River IDs abstract this away, allowing you to:
  • Reference the same market consistently regardless of which exchange it trades on
  • Place orders using a single identifier format
  • Track positions and fills across exchanges with one ID

How They Work

When you search for markets via the API, the response includes both the exchange-native identifier and the River ID:
{
  "river_id": 4552150,
  "exchange": "POLYMARKET",
  "slug": "will-bitcoin-hit-100k",
  "title": "Will Bitcoin hit $100k?"
}
Use the river_id when placing orders — the platform handles routing to the correct exchange automatically.