> 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/api/overview.md).

# Overview

## The endpoint

```
POST https://app.prophetmarket.ai/graphql
Content-Type: application/json
```

A service discovery document is available at `https://app.prophetmarket.ai/api`, which returns the GraphQL path, a health path and the service version.

```json
{
  "graphql": "/graphql",
  "health": "/health",
  "service": "Prophet API",
  "version": "0.1.0"
}
```

The path `/api/graphql` resolves to the same schema as `/graphql`. Prefer `/graphql`, since that is what the service itself advertises.

## Why GraphQL

One endpoint serves every resource, and each request declares exactly which fields it wants. For a market screener this matters: a list of 200 markets with four fields each is a single round trip, and adding the order book midpoint to that same request costs one more line rather than 200 more requests.

Schema introspection is enabled, so the schema is discoverable at runtime and the [playground](https://app.prophetmarket.ai/api/playground) offers validation and autocomplete against the live types.

## The public boundary

The distinction that matters most when planning an integration is which fields need credentials.

| Area                        | Public                                           | Requires authentication |
| --------------------------- | ------------------------------------------------ | ----------------------- |
| Markets, categories, topics | Listing, filtering, single fetch by ID or slug   | Nothing                 |
| Prices                      | Order book, trades, price history, bet limits    | Nothing                 |
| Resolution                  | Outcome, model votes, transparency record        | Nothing                 |
| Configuration               | Betting config, market config, geo check, health | Nothing                 |
| Positions and balances      | Nothing                                          | All of it               |
| Orders and trading          | Nothing                                          | All of it               |
| Market creation             | Nothing                                          | All of it               |
| Wallet operations           | Nothing                                          | All of it               |

An unauthenticated request to a protected field returns a `UNAUTHORIZED` error with a null data payload rather than an HTTP error status. See [Conventions](broken://pages/97c6f664f215a634c792ddab5b052b71c59b327d) for the exact error shape.

## Root operations

The schema exposes 33 queries, 30 mutations and 9 subscriptions. The queries and subscriptions are the useful surface for most integrations, and both are covered in detail on the pages that follow. Mutations are almost entirely account-scoped: placing and cancelling orders, creating markets, provisioning wallets, verifying email and executing withdrawals.

{% hint style="danger" %}
**Order signing is EIP-712 and non-trivial**

Placing a settled order is not a single mutation call. The client requests signing parameters, signs a typed data structure with the account's key, and submits the signature. If you are building a trading integration rather than a read-only tool, budget for that complexity and test against small amounts first.
{% endhint %}

## Rate limits

No rate limits are documented, and none were observable in testing. Treat that as an absence of information rather than an absence of limits: implement backoff, cache aggressively, and do not assume that a polling loop tight enough to work today will keep working. Where a [subscription](broken://pages/846e4bcf7069a45159906352eef7cf8d1c3201c5) exists for the data you want, use it instead of polling.

## Next

[Quickstart](broken://pages/098b1fde9e48024011e9eb2647c2052f20686e17) has a working request you can paste into a terminal.


---

# 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/api/overview.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.
