This page covers the detailed mechanics of Jupiter Predict. For a high-level introduction, see the Overview.Documentation Index
Fetch the complete documentation index at: https://docs.jup.ag/llms.txt
Use this file to discover all available pages before exploring further.
Events and Markets
An event is a real-world occurrence with a determinable outcome. For example: “Republican Presidential Nominee 2028” or “UEFA Champions League Winner.” Each event contains one or more markets. Each market represents a specific outcome within the event and is binary: YES or NO. For example, the event “Republican Presidential Nominee 2028” contains separate markets for J.D. Vance, Marco Rubio, Tucker Carlson, and others. Each of these is an independent binary market. You can buy YES on J.D. Vance without taking a position on any other candidate.Multi-Outcome Events
Events with many possible outcomes (5+ candidates in an election, 10+ teams in a championship) are displayed with the top outcomes visible by default. Click Show More to drill down and see all available sub-markets. The probabilities across all sub-markets within a multi-outcome event do not always sum to exactly 100%. Each sub-market trades independently and has its own spread.Market States
A market goes through four states from creation to settlement:Upcoming
The market is visible but trading has not started yet. The UI shows a countdown (e.g., “Live in 27d 09h”).
Open (Live)
The market is actively trading. Buy and sell orders are accepted.
Closed
Trading has stopped. The market is awaiting settlement.
Settled
The result has been recorded on-chain. Winning positions are claimable.
Contracts
A contract is a financial claim. Each contract is tied to one side of one market (YES or NO).- A winning contract pays $1 USDC when the market settles in its favour.
- A losing contract pays $0 and expires worthless.
Spread
Each market has a bid price (what buyers are willing to pay) and an ask price (what sellers want). The difference is the spread. When you buy, you pay the ask. When you sell, you receive the bid. Entering and exiting a position always has a cost, even if the underlying probability hasn’t moved.Order Types
- Market Orders
- Limit Orders
A market order executes immediately at the best available price.
- Built-in slippage tolerance: ±$0.02 from the displayed price.
- If the market moves beyond this range before execution, the order does not fill.
- Your USDC is reserved when you place the order.
- If a market order is not filled within 2 minutes, the full amount is returned to your wallet.
Order Execution On-Chain
Each order involves three on-chain transactions:Fill Order
Jupiter’s keeper system picks up the order and executes it against the upstream provider’s orderbook.
Position Management
A position represents your holdings in a specific market side (YES or NO).Position Data
Your Profile shows the following for each position:| Field | Description |
|---|---|
| Event | The event and market name |
| Total Size | Number of contracts held |
| Value | Current market value of the position (contracts × current price) |
| Avg. Price | Average price you paid per contract |
| Mark Price | Current market price per contract |
| PNL | Unrealised profit or loss. Toggle to include or exclude fees |
| Payout if right | Total payout if the market resolves in your favour ($1 × contracts) |
| Est. Settlement Time | Estimated time when the market will settle |
Closing a Position
You can close your position before settlement by clicking Close on the position row, or Close All to exit every position at once.- Closes execute as market orders at the current bid price, with the same ±$0.02 slippage tolerance.
- The UI does not currently support partial closes. Closing a position sells all your contracts in that market side.
- A spread cost always applies when you close.
Profile Tabs
Your Profile page has three tabs:- Positions: active positions with live PnL data.
- Open Orders: orders that have been placed but not yet filled (relevant once limit orders return).
- History: completed trades, settlements, and claims.
Upstream Providers
Jupiter Predict does not create or manage markets directly. Markets are sourced from upstream providers, currently Kalshi and Polymarket.- Kalshi
- Polymarket
Kalshi is a CFTC-regulated prediction market exchange in the US. Markets sourced from Kalshi follow Kalshi’s resolution rules and fee schedule.
What This Means for Users
- Market availability: Jupiter lists a selection of markets from each provider. Not every market available on Kalshi or Polymarket is necessarily available on Jupiter.
- Resolution rules: each market’s outcome is determined by the provider, following the rules described in the “Rules summary” section on the market page. Jupiter follows the provider’s settlement.
- Dispute resolution: if an outcome is disputed, the dispute is handled by the upstream provider. Jupiter does not independently resolve disputes.
- Source identification: the underlying provider is not prominently displayed in the UI but can be identified from the market’s metadata.
Degen Mode
Degen is a section within Jupiter Predict focused on short-duration micro-bets on crypto prices.How It Works
Each Degen market asks: will the price of a token go Up or Down from a reference price within a defined time window?- Time windows: 5 minutes or 15 minutes
- Available tokens: SOL, BTC, ETH, XRP, BNB, DOGE, Hyperliquid
- The “Price to beat” is the token’s price at the start of the window
- The “Current price” updates in real time
- If the token’s price at the end of the window is above the reference, Up wins
- If the token’s price at the end of the window is below the reference, Down wins
Fee Structure
Fees are charged only on executed trades (buying or selling contracts). There are no fees on claims.Two Fee Components
When you trade on Jupiter Predict, your total fee is the sum of two components:- Venue fee: charged by the upstream provider (Kalshi or Polymarket) for executing the trade on their orderbook.
- Jupiter fee: charged by Jupiter on top of the venue fee. It is equal to the venue fee.
Worked example
Worked example
Suppose you place a trade where the venue fee is $1.00.
- Venue fee: $1.00
- Jupiter fee: $1.00
- Total fee paid: $2.00
How the Venue Fee Is Calculated
The venue fee depends on three factors:- Contract price: trades closer to $0.50 (maximum uncertainty) carry higher fees. Trades closer to $0.01 or $0.99 (near-certain outcomes) carry lower fees.
- Number of contracts: larger trades incur higher absolute fees.
- Provider: Kalshi and Polymarket have their own fee schedules.
When Fees Are Not Charged
- Placing an order that doesn’t execute incurs no fee.
- Claiming payouts after settlement incurs no fee.
Settlement Process
Upstream Provider Resolves
The provider (Kalshi or Polymarket) determines the outcome based on the market’s published rules and publishes the result.
Jupiter Records the Result On-Chain
Jupiter picks up the resolved result and records it on Solana. This typically happens about 30 minutes after the upstream resolution.
Pending vs. Resolved
A market that has already resolved on Kalshi or Polymarket may temporarily show as pending on Jupiter. This is expected behaviour during the relay window between upstream resolution and on-chain recording. Your position becomes claimable once Jupiter records the result.
Leaderboard
The Leaderboard is a public ranking of traders on Jupiter Predict.- Metrics: PnL (USD), Volume (USD), Win Rate
- Time filters: All Time, Weekly, Monthly
- Global stats: total platform volume and total number of predictions are displayed at the top
On-Chain Costs
Jupiter Predict runs on Solana. Using it requires a small SOL balance for:- Transaction fees: approximately 0.000005 SOL per transaction. Each order involves 3 transactions, so roughly 0.000015 SOL per trade.
- Account rent: creating order and position accounts on Solana requires a rent deposit. The rent is recovered automatically when:
- An order account is closed (after the order fills or expires)
- A position is claimed (winning) or marked as lost (losing)

