API introduction
Conviction's public interface is REST and, for now, read-only. Every public route begins with /v1/.
#Base URL
https://api.conviction.betEvery example in this document is based on this URL.
#Path prefix
All public routes start with /v1/....
GET https://api.conviction.bet/v1/markets?status=ACTIVEAny other route on this host (sign-in, deposits, order placement, admin, webhooks, etc.) is not part of the public API: it is either authenticated or internal, is not documented here, and can change without notice.
#What this covers
This reference covers two things for developers, bots, and market makers.
- Public market data (no auth) — market list/detail, order book, and price history. Anyone can call these. See REST → Markets.
- The EIP-712 signing domain — the domain orders are signed against, published for reference. See EIP-712 signing domain.
Placing orders through the API is not open yet. Write endpoints will be opened to bots and market makers step by step once API keys can be issued from your account.
Regular users don't need this reference — the UI handles the whole process.
#Request format
- Every public endpoint is a
GETthat takes path and query parameters only — there is no request body. - Timestamps in responses are ISO-8601 strings. The price-history endpoint is the exception: it takes and returns unix seconds.
#Response format
Successful responses are JSON per each endpoint's spec, with snake_case keys. Failure responses use the standard error envelope.
#Next
- Authentication — public endpoints need no authentication
- Errors — the response envelope and validation message arrays
- Pagination — how the market list is paged
- REST → Markets — the public market-data endpoints
- EIP-712 signing domain — the domain orders are signed against