API ReferenceMarket Data
The venue's exchange-style capability map (specific exchange, not router).
const url = 'https://data.predictefy.com/api/polymarket/has';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://data.predictefy.com/api/polymarket/has \ --header 'Authorization: Bearer <token>'A per-verb capability map for one venue, sourced from the adapter's real capability flags.
Network-free. Each value is documented on Capability below.
- fetchTrades reflects the venue's actual trades-feed capability.
- fetchOHLCV is true because the hosted route serves stored candles for every product venue. It does not claim a venue-native history endpoint or guaranteed rows for every range.
- Client-only and settlement-only execution lanes stay false.
- watchTrades is "emulated" for rain, xo, and pred, served by the separate WebSocket service; other streaming verbs remain false here.
router is not supported: a capability map is per-venue.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”One of the 16 served product venues, or router for the all-served-venues union.
Dark venues (currently: smarkets) are implemented but not served and return 404 EXCHANGE_NOT_AVAILABLE.
SX Bet serves catalog reads, real CLOB order books, the public trades tape, tape-derived candles, Trader Intelligence, and public account resources. It has no server execution lane; its separate client-side SDK trading lane is live as of 2026-07-27, and the trading wallet must have a registered sx.bet account with betting enabled once per token per network. There is no venue-official history claim.
pascal, xo and pred all serve catalog reads and real CLOB order books,
plus a public trades tape on pascal only — xo and pred answer
501 NOT_SUPPORTED for fetchTrades. XO's is a venue property rather than a gap: its
trade endpoints are caller-scoped, so no public XO tape exists to serve. None of
the three has an account or venue-official history lane. Their execution state
differs per venue and is no longer uniform:
- Pascal is ARMED in production for build, submit, and signed cancel permits (armed 2026-08-12; fleet-verified 2026-08-15).
- XO is REBUILT AND RE-ARMED for hosted build, submit, client-credentialed status
refresh, and cancel. Live
/v1/exec/venuesre-verification on 2026-09-02 reports build, submit, and cancel true; the first live credentialed submit and cancel remain confirmation checkpoints. - PRED is production-DARKED (2026-08-13) pending the venue's key model.
PRED_EXCHANGE_ADDRESSESis empty, which unregisters the entire lane, so every PRED execution route including build answers 404 VENUE_NOT_SUPPORTED.
PredictStreet serves keyless catalog/detail reads and real two-sided CLOB books. Its ADI Chain execution lane is armed for build and submit; it has no server cancel or hosted settlement lane. Predict Street Limited states it operates under Gibraltar licence 167, and FIFA names it the official prediction-market partner of the FIFA World Cup 2026.
Eligibility and jurisdiction remain an operator/compliance responsibility.
PRED restricts the US, UK, France, Ontario, Singapore, Poland, Thailand, and
Taiwan and prohibits location masking; pascal is US-restricted at the venue, and
XO read access is partner-provided. Pascal's restricted-jurisdiction and API/data
clauses are under owner review.
GET /v1/exec/venues remains the authoritative live list; this description is not
a claim about one deployment's runtime gates.
Responses
Section titled “Responses”The venue capability map (SINGLE-ITEM verb — no top-level meta).
object
The venue's capability map (GET /api/{exchange}/has). Honest — sourced from the adapter's real capability flags; a verb is never claimed for a venue that does not serve it. Account/create verbs are false on this reads origin; buildOrder, submitOrder, and cancelOrder are booleans from the isolated server-execution registry. watchTrades may be "emulated" when the separate WebSocket service delivers disclosed chain-scanner fills. volume24h is the non-verb metric mechanism from the shared venue registry.
object
Whether the isolated server lane can build a cancel intent. Client-only cancellation does not make this true.
Whether the isolated server lane implements order build. Deployment arming is discovered at GET /v1/exec/venues.
Whether the isolated server lane implements signed-artifact submission.
Example
{ "data": { "volume24h": "venue", "fetchMarkets": "emulated", "fetchMarket": "emulated", "fetchMarketsPaginated": "emulated", "fetchCategories": "emulated", "fetchTags": "emulated", "fetchOrderBook": "emulated", "fetchOrderBooks": "emulated", "getExecutionPrice": "emulated", "getExecutionPriceDetailed": "emulated", "fetchTrades": "emulated", "fetchOHLCV": "emulated", "createOrder": "emulated", "fetchOrder": "emulated", "fetchOpenOrders": "emulated", "fetchClosedOrders": "emulated", "fetchAllOrders": "emulated", "fetchMyTrades": "emulated", "fetchPositions": "emulated", "fetchBalance": "emulated", "watchOrderBook": "emulated", "watchOrderBooks": "emulated", "unwatchOrderBook": "emulated", "watchTrades": "emulated", "traderTrades": "emulated", "holders": "emulated", "leaderboard": "emulated", "walletProfile": "emulated", "smartMoney": "emulated" }}VALIDATION_ERROR — router is not supported
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}UNAUTHORIZED — platform lane (READS_ENABLE_AUTH)
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}INSUFFICIENT_CREDITS — endpoint-weighted credits
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}SCOPE_MISSING — API key lacks the route's required scope (RBAC v1)
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}EXCHANGE_NOT_AVAILABLE — unknown or sandbox venue
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}RATE_LIMITED — per-key rps limit
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Unexpected internal error. Retryable; error.requestId identifies the failure.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}