Migration Guide
Already integrating with Polymarket or Kalshi directly? Here's how to switch to Heisenberg and get unified access, better analytics, and zero rate-limit headaches.
Why Migrate?
One endpoint, all platforms
Stop maintaining separate integrations for Polymarket, Kalshi, and social data.
No rate limit management
Heisenberg handles upstream rate limits. You never get throttled by source APIs.
Enriched data
Get computed metrics (H-Score, Wallet 360, Market 360) that don't exist in source APIs.
Sub-300ms latency
Faster than hitting source APIs directly, with always-fresh cached data.
From Polymarket API
| Polymarket Endpoint | Heisenberg Equivalent | agent_id |
|---|---|---|
| GET /markets | Polymarket Markets | 574 |
| GET /trades | Polymarket Trades | 556 |
| GET /prices/history | Polymarket Candlesticks | 568 |
| GET /book | Polymarket Orderbook | 572 |
| (not available) | Wallet 360 | 581 |
| (not available) | H-Score Leaderboard | 584 |
| (not available) | Price Jump Detection | 596 |
| (not available) | Market 360 | 575 |
GET https://clob.polymarket.com/markets ?closed=false &limit=10 Headers: ...
POST /api/v2/.../parameterized
{
"agent_id": 574,
"params": {"closed": "False"},
"pagination": {"limit": 10}
}From Kalshi API
| Kalshi Endpoint | Heisenberg Equivalent | agent_id |
|---|---|---|
| GET /markets | Kalshi Markets | 565 |
| GET /markets/trades | Kalshi Trades | 573 |
Key Differences to Note
Heisenberg uses one URL for everything. The agent_id in the body replaces different URL paths.
Unlike source APIs that accept mixed types, Heisenberg params are always string values: "1000" not 1000.
Every endpoint uses the same limit/offset/has_more pattern. No per-endpoint cursor differences.
Single Authorization: Bearer header replaces per-platform auth schemes.