United Market is now live on BNB Smart Chain mainnet. We just launched — start trading on-chain prediction markets today.
Calling Endpoints
Use HTTPS in the playground and browser clients. The HTTP endpoints redirect to HTTPS, which can make requests appear to fail from hosted docs. Some user-specific actions require SIWE authentication and a bearer token. Trading actions require EIP-712 order signatures.
Open any endpoint page in this section to use the interactive playground.
Endpoint Groups
Common Conventions
- Amounts are usually returned as raw token units. Collateral uses the collateral token decimals.
- List endpoints such as
GET /marketsandGET /market-groupsreturn{ data, pagination }(page/pageSize, default 60, max 250), not a bare array. - Order identifiers are
orderHashvalues derived from the signed EIP-712 order. - Public orders use the zero address as
taker. - Market rooms and real-time events are keyed by
conditionId. - Trading fees are quoted in basis points. Read a market’s effective rate from
GET /markets/{id}/feeand sign it as the order’sfeeRateBps. See Fees & Referrals.
Errors
Most failures use Nest’s default JSON:message can be a string or a validation array. A few handwritten responses omit error and only return { statusCode, message }. Treat statusCode + message as the stable fields.
Rate limits
Responses includeX-RateLimit-Limit-short / -medium, X-RateLimit-Remaining-*, and X-RateLimit-Reset-*. Exceeding a limit returns 429. short is per second, medium is per minute — they are independent, not perMin / 60.
Limits depend on the route class and the key’s tier. The shared public web key is treated as anon. Fallback ceilings when a route has no class:
DEFAULT is tighter than anon on many read classes on purpose. A named integration that 429s after switching off the web key needs PRO or MM, not a new DEFAULT key. Order-write / cancel budgets are separate and much tighter for anon. See API Keys.
Order statuses
Public
GET /orders?conditionId=… only returns filled and partially_filled. To see your own open quotes use GET /me/orders or GET /orders?account=<you> with credentials.