Base URLs
Build against testnet first. It runs the same API against test tokens, so you can
place real orders without real money. See
Contracts for the testnet deployment.
List open markets
markets array and a pagination object:
Prices are ticks
bestBidYes: 640 means 64%, not $640. Ticks run 0 to 1000. Divide by 10 for
a percentage, or by 1000 for a probability.Amounts are strings
volume is base units at 18 decimals, as a string. Parse it as a big
integer, never as a float.Two different ids
id is a database integer. marketAddress is the on-chain contract. Trading
always uses marketAddress.Useful filters
Paginate by feeding
nextCursor back as cursor. When it comes back null, you
have reached the end.
Read the order book
Take amarketAddress from that response and ask for its book:
depth defaults to 20 and caps at 100.
Get a simple price
If you just want the current probability and not a whole book:0.5 on both sides with a
timestamp of 0.
Rate limits
Anonymous reads are limited to 60 requests per minute per IP. That is plenty for exploring and thin for a production bot, so if you are polling, sign in to get a per-account limit, or better, stop polling and use the realtime stream. See Rate limits.Next
Place your first order
Add authentication and go from a market address to a live on-chain order.
Realtime stream
Subscribe to order, fill, and resolution events instead of polling.
Integrator guide
Practical guidance for bots: which auth you need, error handling, elevated
limits.
Full endpoint reference
Every published endpoint, with schemas and try-it examples.

