Kalshi is a US-regulated exchange for event contracts — markets on questions like inflation prints, Fed decisions, and election outcomes, each priced between 0 and 1. If you are building a research tool or a dashboard around this data, there are two paths: Kalshi's own native API for real market data, and Elgon's /predictions endpoint as a simple REST sandbox to prototype against.
This guide covers both, and is explicit about which is which. Kalshi's API returns real, live exchange data. Elgon's prediction data is simulated sample data tagged "source":"sandbox" — it does not proxy or mirror real Kalshi markets. Use Elgon to build and test your integration; use Kalshi's own API for real numbers.
Option 1: Kalshi's native API
Kalshi publishes a public REST API for market data. A basic request for open markets looks like this:
import requests
resp = requests.get(
"https://api.elections.kalshi.com/trade-api/v2/markets",
params={"status": "open", "limit": 10},
)
for market in resp.json()["markets"]:
print(f'{market["ticker"]}: {market["title"]} | yes_bid={market["yes_bid"]}')
This returns real Kalshi markets with tickers, titles, and bid/ask prices. Consult Kalshi's own documentation for the full endpoint list, authentication for account actions, and rate limits. Any order placement happens through Kalshi, under their terms — not through Elgon.
Option 2: Elgon's /predictions sandbox
If you want a single, consistent REST shape to build against — or a stand-in while you wire up a real feed — Elgon's /predictions endpoint returns simulated prediction-market snapshots. It is a plain HTTP GET: no SDK, no GraphQL, no WebSocket.
curl "https://elgonrpc.xyz/api/v1/predictions?q=fed&key=elgon_sandbox_pub"
The same call in Python:
import requests
BASE = "https://elgonrpc.xyz/api/v1"
KEY = "elgon_sandbox_pub"
resp = requests.get(f"{BASE}/predictions", params={"q": "fed", "key": KEY})
for m in resp.json()["data"]:
print(f'{m["question"]}: YES {m["yesPrice"]:.0%} | ${m["volume"]:,.0f} volume')
Each market carries an id, question, category, yesPrice, noPrice, volume, and closesAt. Every response includes a signed, timestamped receipt you can verify. Remember: these values are simulated, so build against them freely but do not present them as real Kalshi odds.
Tracking changes
Elgon has no streaming or subscription API and no historical-bars endpoint. To follow how a market moves, poll /predictions on an interval and store each snapshot yourself. The free tier allows 60 requests per minute; Growth raises that to 600/min for $350/month. For real, live tracking you would poll Kalshi's own API instead.
Which should you use?
Use Kalshi's API when you need real, live exchange data or want to place orders (through Kalshi, under their terms). Use Elgon's sandbox when you want a clean, consistent REST endpoint to develop and test against without wiring up a live feed first. They solve different problems, and Elgon is honest about serving simulated data here.
FAQ
Does Elgon provide real Kalshi market data?
No. Elgon's /predictions data is simulated sandbox data, not a proxy of Kalshi. For real Kalshi data, use Kalshi's native API.
Can I trade on Kalshi through Elgon?
No. Elgon is a read-only data API with no order endpoint. Trading happens through Kalshi directly.
Does Elgon offer a WebSocket or GraphQL for prediction data?
No. Elgon is REST-only — every endpoint is a plain HTTP GET. Poll on an interval to track changes.
Want to prototype against the sandbox? Get an Elgon API key and read the API docs.

