ProphetX API (2026): Access, Keys and What It Covers

The Short Answer
ProphetX has three APIs, documented at docs.prophetx.co: a Trading API for algorithmic traders and market makers, a Parlay API for market makers who quote parlays, and a read-only Market Data API for aggregators and trading terminals. Access is by application. You submit ProphetX's access request form, and once the account is approved for API use, you create a token under API Integration, which gives you an access key and a secret key. POST /auth/login swaps them for a short-lived bearer token. The sandbox runs at https://api.sandbox.prophetx.dev/partner and production at https://cash.api.prophetx.co/partner.
Key Takeaways
- Access is by application, and tokens work only once ProphetX approves the account for API use.
- A token is an access key plus a secret key, and ProphetX shows the secret only once.
- Every outcome is its own buy-only instrument, traded by its
strike_id, and prices are American odds. - The Market Data API uses one affiliate key, sent as the raw
Authorizationheader with no Bearer prefix. - ProphetX's error reference caps Trading API traffic at 50 requests a second, and the Parlay API allows 300 a second per token.
What does the ProphetX API cover?
ProphetX describes itself as "a CFTC-designated contract market (DCM) and derivatives clearing organization (DCO) built for sports prediction markets." Its developer hub splits the API by job:
| API | Built for | What it does |
|---|---|---|
| Trading API | Algorithmic traders and market makers | Orders, markets, prices and your cash balance, with live updates over WebSocket |
| Parlay API | Market makers | Receive parlay requests for quote over WebSocket, return prices and confirm execution |
| Market Data API | Aggregators and trading terminals | Read-only tournaments, events, markets, prices and available quantities |
| FIX order entry | Market makers | FIX 4.4 or FIX 5.0 SP2 sessions that log on with the same access key and secret |
The tournament list in ProphetX's reference includes the NFL, NBA, NHL and MLB, and its WebSocket guide covers the Premier League too. As of October 2026, its changelog shows ITF and ATP Challenger tennis added on 11 September and politics markets on 18 September. The current v4 endpoints also use CFTC vocabulary: price, strike and quantity where older versions said odds, line and stake.
How do you get ProphetX API access?
As of October 2026, the Trading API path runs like this:
- Apply. Submit the New Access Request form on ProphetX's support portal. ProphetX reviews it and grants API access if the application is approved.
- Start in sandbox. Register on the sandbox site with a working phone number, since 2FA applies even there, then ask ProphetX to make it an API account and add test funds.
- Create a token. Open the menu, choose API Integration and create a new token. Copy the access key and secret key at once, because the secret is shown only once. ProphetX also reminds you that you must keep records of all activity through the key for at least five years.
- Go live. Create a production account, generate new production keys rather than reusing sandbox ones, and switch your base URL to production.
You can create several tokens, one per process, and revoke one without disturbing the rest. ProphetX's error reference allows 20 key pairs and 20 live sessions per access key. The Market Data API works differently: ProphetX's market data team issues one affiliate key, which you send as the raw Authorization header with no Bearer prefix.
Partners have two more documented routes. A Direct Link aggregator lets a user link their ProphetX account and place orders from the user's own device with the user's own keys, after a geolocation check, and must certify with ProphetX before going live. Auto-fill deep links prefill a ProphetX order ticket from a partner's app or site.
How does ProphetX API authentication work?
Trading and Parlay calls use a bearer token. POST /auth/login takes your access key and secret key and returns an access_token, a refresh_token and the expiry time of each. Send the access token as Authorization: Bearer on every call, WebSocket authorization included, and trade the refresh token for a new access token at POST /auth/refresh. This logs in and lists open NFL events, with Node 18 or newer and no packages:
const BASE = 'https://api.sandbox.prophetx.dev/partner';
async function px(path, { token, body } = {}) {
const res = await fetch(BASE + path, {
method: body ? 'POST' : 'GET',
headers: { 'Content-Type': 'application/json', ...(token && { Authorization: `Bearer ${token}` }) },
body: body && JSON.stringify(body),
});
const json = await res.json();
if (!res.ok) throw new Error(`${res.status} ${json.error}: ${json.message}`);
return json.data;
}
const session = await px('/auth/login', { body: { access_key: 'YOUR_ACCESS_KEY', secret_key: 'YOUR_SECRET_KEY' } });
const token = session.access_token;
const { tournaments } = await px('/mm/get_tournaments', { token });
const nfl = tournaments.find((t) => t.name === 'NFL');
const { sport_events: events } = await px(`/mm/get_sport_events?tournament_id=${nfl.id}`, { token });
for (const e of events) console.log(e.event_id, e.name, e.scheduled, e.status);
ProphetX issues keys only to approved accounts, so we checked this code two ways on 3 October 2026. With placeholder keys, both the sandbox and production hosts answered 401 with "error": "unauthorized", which the code surfaces. Against a mock built from ProphetX's documented response schemas, it printed the NFL events. Log in once and refresh after that: each login adds a session, and revoking a token does not free its session slot until the token expires.
How do ProphetX orders and prices work?
There is no side flag. Every outcome is its own instrument that you can only buy, so buying Chiefs -7.5 and buying Colts +7.5 are two separate orders against two separate strike_id values. The strike_id is what you trade. The outcome_id is for display and grouping. The order book is aggregated too: the quantity at a price is total resting liquidity, with no order IDs.
Prices on REST market data are American odds, and an order's price must sit on the ladder from GET /v4/mm/get_price_ladder. POST /v4/mm/submit_order takes a strike_id, price, quantity and a unique external_id, and batches carry up to 20 orders. An optional order_strategy of fillOrKill cancels an order left unmatched for about 2 seconds, while ALO rests as a maker only. Two events wipe orders: an event going live wipes every pre-match order, and an order that would match your own resting order wipes both.
Other venues quote probabilities instead. Novig, for one, showed a 0.520 bid on the Rams in our checks on 3 October 2026, so convert American odds before you compare:
const impliedProbability = (american) => (american < 0 ? -american / (100 - american) : 100 / (100 + american));
console.log(impliedProbability(-110).toFixed(4)); // 0.5238
console.log(impliedProbability(105).toFixed(4)); // 0.4878
Negative odds show the stake needed to win 100, and positive odds show the win on a stake of 100. In the example response in ProphetX's docs, the Patriots at -110 and the Jets at +105 imply 52.4% and 48.8%. Together they come to just over 100%, and that excess is the gap between the two best prices.
What endpoints does the ProphetX API have?
| Route | What it does |
|---|---|
POST /auth/login, /auth/refresh | Start a session and refresh its access token |
GET /mm/get_tournaments, /mm/get_sport_events | Tournaments, and the events open for trading in them |
GET /v4/mm/get_markets, /v4/mm/get_multiple_markets | Markets, strikes and prices for one event, or up to 50 |
GET /v4/mm/get_price_ladder | The prices an order may use |
POST /v4/mm/submit_order, /submit_multiple_orders | Place one order, or up to 20 |
POST /v4/mm/cancel_order, /cancel_all_orders | Cancel orders, also in bulk, by event or by market |
GET /v4/mm/get_order_history, /get_trades | Your orders and fills |
GET /v4/mm/get_balance, /get_transactions | Your balance and wallet history |
GET /affiliate/get_tournaments, /v4/affiliate/get_markets | The Market Data API's read-only versions |
The Parlay API sits on its own base path, /parlay/sp/v2. You register the strikes you can price, ProphetX sends you requests for quote over a dedicated WebSocket, and you answer through offer and confirmation callbacks, each within 5 seconds.
How does the ProphetX WebSocket work?
Real-time data runs on Talaria, ProphetX's in-house WebSocket platform, which keeps the Pusher wire protocol its integrations already speak. ProphetX set 16 September 2026 as the date it moved fully off the hosted Pusher service. Fetch GET /websocket/connection-config and connect to its ws_host, read your socket_id from the pusher:connection_established event, then post it to POST /v4/mm/websocket to receive your authorized channels. Market updates now arrive on per-event channels, and ProphetX says to bind v2.market_selections, which carries the CFTC field names. Your private channel carries your own order and fill updates.
What are the ProphetX API rate limits?
| Limit | Value, as published |
|---|---|
| Trading and Market Data requests | 50 a second, then 429 with rate_limit_reached |
| Parlay API requests | 300 a second per token |
| Live sessions | 20 per access key |
| Key pairs | 20 |
| Orders per batch | 20 |
| Events per multiple-markets query | 50 |
| FIX order entry | Per session, agreed at onboarding |
A Parlay API 429 carries no Retry-After header. Instead, its message says when the next request is allowed, so parse that time and wait for it. ProphetX's market data guide says to contact your ProphetX representative for a higher limit.
Does ProphetX reward market makers?
Yes, through its Maker Rebates Program. Maker volume counts both resting liquidity that other traders take and parlay quotes that get accepted. Your tier depends on your make volume over a rolling calendar month, and the tiers are marginal, so each band of volume earns its own rate:
| Monthly make volume | Marginal rebate rate |
|---|---|
| $0 to $50,000 | 0% |
| $50,000 to $750,000 | 20% |
| $750,000 to $3,000,000 | 40% |
| $3,000,000 to $7,500,000 | 60% |
| Above $7,500,000 | 80% |
Rebates lower your costs, but they do not change the risk of resting orders getting filled when the price moves against you.
How do you compare sports prices across venues?
The same game trades on sports exchanges and prediction markets that quote it in different formats, which is why the conversion above matters. The Predictefy API carries sports and prediction market data from 15+ venues in one normalized schema, and its sports screen lines up the same game, bet type and exact line from venue to venue, with every price given as a probability, American odds and decimal odds. Which venues suit which sports is covered in the best prediction market for sports betting.
Frequently Asked Questions
Does ProphetX have an API?
Yes. ProphetX documents a Trading API for algorithmic traders and market makers, a Parlay API for market makers who quote parlays, a read-only Market Data API for aggregators and trading terminals, and FIX order entry, all at docs.prophetx.co.
How do I get a ProphetX API key?
Submit the New Access Request form on ProphetX's support portal. Once ProphetX approves the account for API use, open API Integration in the menu and create a token. You get an access key and a secret key, and the secret is shown only once.
Does ProphetX have a sandbox?
Yes. The sandbox runs at https://api.sandbox.prophetx.dev/partner with demo funds. Register on the sandbox site, then ask ProphetX to make it an API account and add test funds. Production needs its own account and keys.
What odds format does the ProphetX API use?
American odds, such as -110 or +105, on REST market data. The v4 endpoints name the fields price, strike, strike_id and quantity, and an order's price must sit on the ladder from the price ladder endpoint.
What are the ProphetX API rate limits?
ProphetX's error reference caps Trading and Market Data requests at 50 a second, answering 429 with rate_limit_reached. The Parlay API allows 300 requests a second per token. Each access key can hold 20 live sessions, and a batch can carry 20 orders.
Does ProphetX support FIX?
Yes, for market makers. ProphetX offers FIX 4.4 and FIX 5.0 SP2 order entry, and the Logon uses the same access key and secret key as the REST API. Host, port, CompIDs and any per-session rate limit are assigned during onboarding.