# SOAR Trading API - [SOAR Trading API](https://docs.trysoar.com/introduction.md): Trade prediction markets on private-company valuations, programmatically - [Quickstart](https://docs.trysoar.com/quickstart.md): From a new key to your first order and back out, in five commands - [Binary markets](https://docs.trysoar.com/concepts/binary-markets.md): Two outcomes, one book, and no short positions - [Survival ladders](https://docs.trysoar.com/concepts/survival-ladders.md): A row of binary rungs that together encode a valuation distribution - [Order lifecycle](https://docs.trysoar.com/concepts/order-lifecycle.md): What happens between POST /orders and a settled position - [Market lifecycle](https://docs.trysoar.com/concepts/market-lifecycle.md): Open, halted, resolved — and the venue-wide states above them - [Matching](https://docs.trysoar.com/concepts/matching-engine.md): Price-time priority, self-trade prevention, and the fee curve - [Settlement](https://docs.trysoar.com/concepts/settlement.md): What a resolved position pays, and where the money appears - [SOAR over MCP](https://docs.trysoar.com/mcp/overview.md): Trade the venue from Claude or ChatGPT, without handling an API key - [Connect](https://docs.trysoar.com/mcp/connect.md): One URL, an OAuth sign-in, and the scopes to grant - [Authentication](https://docs.trysoar.com/api-reference/authentication.md): API keys, scopes, and what a 401 means that a 403 does not - [Errors](https://docs.trysoar.com/api-reference/errors.md): The closed error-code vocabulary, and what to retry - [List your orders](https://docs.trysoar.com/api-reference/list-your-orders.md): Newest first, keyset-paged. Reflects the projection from the execution log, which lags the engine by a few milliseconds. - [Place an order](https://docs.trysoar.com/api-reference/place-an-order.md): Matching has already happened when this returns: the response carries the engine's own `filled_qty`, `remaining_qty`, and a `status` derived from what actually happened. An `ioc` or `fok` that filled nothing comes back `canceled`. - [Get an order by id](https://docs.trysoar.com/api-reference/get-an-order-by-id.md): Poll this for durable fill state after a create returns. `404` covers both "no such order" and "not yours" — the two are not distinguished, to prevent order-id enumeration. - [Amend a resting order's price or size](https://docs.trysoar.com/api-reference/amend-a-resting-orders-price-or-size.md): Changes the price and/or remaining size of an order you own in one round trip instead of cancel-then-recreate. Send at least one of `price` or `qty`; an omitted field keeps its current value. - [Cancel an order](https://docs.trysoar.com/api-reference/cancel-an-order.md): Cancels the resting (or partially-filled) remainder of an order you own. Trusted SOAR MCP exchange tokens may use `soar:orders:bulk-cancel` for exact-order fan-out; other clients require `soar:orders:write`. - [List events and their ladder shape](https://docs.trysoar.com/api-reference/list-events-and-their-ladder-shape.md): An **event** is one prediction market — a survival ladder, or a single binary — and its `markets` are that event's rungs. - [Get an event, or a whole series, by ticker](https://docs.trysoar.com/api-reference/get-an-event-or-a-whole-series-by-ticker.md): Accepts an **event** ticker or a **series** ticker, and always returns a page so both answers have one shape. - [List or search markets](https://docs.trysoar.com/api-reference/list-or-search-markets.md): Without filters, the full active catalog, cursor-paged. - [Get a market by ticker or id](https://docs.trysoar.com/api-reference/get-a-market-by-ticker-or-id.md) - [Get the current order book](https://docs.trysoar.com/api-reference/get-the-current-order-book.md): Aggregated depth for one market, best price first, in canonical YES terms — a `buy no @ 40` rests as a `sell yes @ 60` and appears on the ask side at 60. - [Get OHLCV bars for a market](https://docs.trysoar.com/api-reference/get-ohlcv-bars-for-a-market.md): Bars over `[from, to]`, oldest first, defaulting to the last 24 hours. - [Get the public trade tape for a market](https://docs.trysoar.com/api-reference/get-the-public-trade-tape-for-a-market.md): Every print in one market, newest first — not just yours. Use `limit` to size the tail; deduplicate overlapping reads on `trade_id`. - [Get everything about one market in a single call](https://docs.trysoar.com/api-reference/get-everything-about-one-market-in-a-single-call.md): The endpoint to call first. It returns the market's metadata, its order book, its last print, its activity, **and your own position and resting orders in it** — the five reads you would otherwise issue separately and have to join yourself. - [Get your cash balance](https://docs.trysoar.com/api-reference/get-your-cash-balance.md) - [Get your open positions](https://docs.trysoar.com/api-reference/get-your-open-positions.md) - [Get your fill history](https://docs.trysoar.com/api-reference/get-your-fill-history.md): Newest first, keyset-paged. Read `outcome_price`, not `trade_price`, when reconciling cash — see the `Fill` schema. - [WebSocket API](https://docs.trysoar.com/websockets/overview.md): Stream live market data and your own order activity over a single socket. - [Connection & Authentication](https://docs.trysoar.com/websockets/connection.md): Open a socket, and authenticate with an API key to receive your own activity. - [Connection Keep-Alive](https://docs.trysoar.com/websockets/keep-alive.md): Send a ping at least every 5 minutes, and reconnect when the server closes. - [Subscriptions](https://docs.trysoar.com/websockets/subscriptions.md): Name the markets you want, and receive their data as it happens. - [Public Trades](https://docs.trysoar.com/websockets/public-trades.md): Every match in a market, as it happens. - [Orderbook Updates](https://docs.trysoar.com/websockets/orderbook-updates.md): Full YES and NO bid ladders for a market. - [Market Ticker](https://docs.trysoar.com/websockets/market-ticker.md): The latest matched price and trade size for a market. - [Implied Value](https://docs.trysoar.com/websockets/implied-value.md): A company's live implied valuation, derived from its markets. - [User Fills](https://docs.trysoar.com/websockets/user-fills.md): Your own executions, with fees and your order id. - [User Orders](https://docs.trysoar.com/websockets/user-orders.md): State changes on your own orders. - [Market Positions](https://docs.trysoar.com/websockets/market-positions.md): Your position in a market, after it changes. - [Errors & Limits](https://docs.trysoar.com/websockets/errors-and-limits.md): Every error code the socket can send, and what to do about each. ## OpenAPI Specs - [openapi](https://api.trysoar.com/v1/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.