Documentation Index
Fetch the complete documentation index at: https://dev.jup.ag/docs/llms.txt
Use this file to discover all available pages before exploring further.
BETAThe Prediction Market API is currently in beta and subject to breaking changes as we continue to improve the product. If you have any feedback, please reach out in Discord.
Prerequisite
To query events and markets data, you need:- An API key from the Portal
List Events
UseGET /events to retrieve a paginated list of prediction market events. You can filter by category, provider, and status.
| Parameter | Type | Description |
|---|---|---|
category | string | Filter by category: crypto, sports, politics, esports, culture, economics, tech |
subcategory | string | Filter by subcategory within the category |
filter | string | Filter by status: new, live, trending |
sortBy | string | Sort field |
sortDirection | string | Sort direction: asc or desc |
includeMarkets | boolean | Include nested markets in response |
start | number | Pagination start index |
end | number | Pagination end index |
Search Events
UseGET /events/search to find events by keyword.
| Parameter | Type | Description |
|---|---|---|
query | string | Search term |
limit | number | Maximum results to return |
Get Event Details
UseGET /events/{eventId} to retrieve full details for a specific event, including all its markets.
Get Suggested Events
UseGET /events/suggested/{pubkey} to get personalized event recommendations based on a user’s trading history.
Get Market Details
UseGET /markets/{marketId} to retrieve detailed information about a specific market, including current pricing.
There can be multiple markets for the same event.
Understanding Prices
Prices are in JupUSD or USDC native token unitsAll prices in the API are denominated in native token units where 1,000,000 native token units for JupUSD or USDC = $1.00.For example:
650000= $0.65 (650000 / 1,000,000 = $0.65)380000= $0.38 (380000 / 1,000,000 = $0.38)10000= $0.01 (10000 / 1,000,000 = $0.01)
| Field | Description |
|---|---|
buyYesPriceUsd | Cost to buy a YES contract |
sellYesPriceUsd | Amount received when selling a YES contract |
buyNoPriceUsd | Cost to buy a NO contract |
sellNoPriceUsd | Amount received when selling a NO contract |
volume | Trading volume for this market |
Market Status
| Status | Description |
|---|---|
open | Market is actively trading |
closed | Trading has stopped, awaiting settlement |
cancelled | Market voided, positions returned |
Market Result
| Result | Description |
|---|---|
"" (empty) | Market not yet resolved |
pending | Resolution in progress |
yes | YES outcome confirmed |
no | NO outcome confirmed |
Get Orderbook Data
UseGET /orderbook/{marketId} to retrieve the current orderbook with bid/ask depth.
The response has four arrays. Each entry is a [price, quantity] pair:
| Field | Description |
|---|---|
yes | YES bids: [price_cents, quantity]. Price is in cents (e.g. 1 = $0.01). |
no | NO bids: [price_cents, quantity]. Same format as yes. |
yes_dollars | YES bids with price as decimal string: ["0.0100", quantity]. |
no_dollars | NO bids with price as decimal string. Same format as yes_dollars. |
Check Trading Status
UseGET /trading-status to verify if the exchange is actively trading. This is useful for conditional logic before placing orders.
What’s Next
Now that you know how to discover events and markets, you’re ready to open positions.Open Positions
Create buy orders for YES or NO contracts
