> For the complete documentation index, see [llms.txt](https://docs.prophetmarket.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.prophetmarket.ai/get-started/api/real-time-subscriptions.md).

# Real time Subscriptions

Prophet provides 9 GraphQL WebSocket subscriptions for real-time updates.

## Public Streams

Four streams are available without authentication:

| Subscription         | Purpose                   | Payload                                        |
| -------------------- | ------------------------- | ---------------------------------------------- |
| `marketCreated`      | New market listings       | `Market` node                                  |
| `marketPriceUpdated` | Top-of-book price changes | `yesPriceBps`, `noPriceBps`, `spreadBps`       |
| `orderBookUpdated`   | Full order book state     | Complete `OrderBook` (replaces previous state) |
| `tradeExecuted`      | New executions            | `Trade` node                                   |

### Example: Price Updates

```graphql
subscription PriceUpdates($marketId: String!) {
  marketPriceUpdated(marketId: $marketId) {
    marketId
    yesPriceBps
    noPriceBps
    spreadBps
    timestamp
  }
}
```

{% hint style="info" %}
**Initial state is sent immediately**

When subscribing to `marketPriceUpdated` or `orderBookUpdated`, the server immediately sends the current state as the first message, so you don't need to fetch it via a query first.
{% endhint %}

## Authenticated Streams

Five streams require an authenticated session token:

| Subscription               | Purpose                                     |
| -------------------------- | ------------------------------------------- |
| `userOrderUpdated`         | Order status changes (fills, cancellations) |
| `userPositionUpdated`      | Position size/value changes                 |
| `userBalanceUpdated`       | Available/locked balance changes            |
| `userTransactionCreated`   | Deposits, withdrawals, claims               |
| `userNotificationReceived` | System notifications                        |

## Protocol and Reconnection

The endpoint implements the `graphql-ws` subprotocol.

Connections will occasionally drop due to network conditions or server deployments. Clients must implement automatic reconnection with exponential backoff.

When reconnecting, assume events may have been missed. Re-fetch the current state via queries if your application requires strict consistency.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.prophetmarket.ai/get-started/api/real-time-subscriptions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
