Skip to main content

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.

This page covers the detailed mechanics of Jupiter Predict. For a high-level introduction, see the Overview.

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.
Contract prices range from $0.01 to $0.99. The price reflects the market’s implied probability for that outcome. A YES contract at $0.65 implies the market estimates a 65% probability. The corresponding NO contract trades around $0.35.

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

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:
1

Create Order

You sign a transaction that creates an order account on Solana. Your USDC is reserved.
2

Fill Order

Jupiter’s keeper system picks up the order and executes it against the upstream provider’s orderbook.
3

Close Order

Once the order is filled (or expires unfilled), the order account is closed. Any unused USDC is returned to your wallet, along with the recovered account rent.
This process is handled automatically. You only need to sign the initial transaction.

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:
FieldDescription
EventThe event and market name
Total SizeNumber of contracts held
ValueCurrent market value of the position (contracts × current price)
Avg. PriceAverage price you paid per contract
Mark PriceCurrent market price per contract
PNLUnrealised profit or loss. Toggle to include or exclude fees
Payout if rightTotal payout if the market resolves in your favour ($1 × contracts)
Est. Settlement TimeEstimated 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 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
The contract logic is the same as Browse markets: each winning contract pays $1 USDC.

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:
  1. Venue fee: charged by the upstream provider (Kalshi or Polymarket) for executing the trade on their orderbook.
  2. Jupiter fee: charged by Jupiter on top of the venue fee. It is equal to the venue fee.
The total fee you pay is therefore twice the venue fee.
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
Both fees are deducted from your USDC balance at the time of execution.

How the Venue Fee Is Calculated

The venue fee depends on three factors:
  1. 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.
  2. Number of contracts: larger trades incur higher absolute fees.
  3. Provider: Kalshi and Polymarket have their own fee schedules.
All fees are paid in USDC and rounded up to the nearest cent.

When Fees Are Not Charged

  • Placing an order that doesn’t execute incurs no fee.
  • Claiming payouts after settlement incurs no fee.

Settlement Process

1

Market Closes

Trading stops at the market’s predetermined close time.
2

Upstream Provider Resolves

The provider (Kalshi or Polymarket) determines the outcome based on the market’s published rules and publishes the result.
3

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.
4

Winning Positions Become Claimable

Winning positions appear as claimable in your Profile.
5

Claim Payout

You claim manually. Each winning contract pays $1 USDC. No fees are charged on claims.
Losing positions receive no payout. The contracts expire worthless and the position is marked as lost.

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
Traders are identified by their truncated wallet address. The Leaderboard is purely informational and does not affect trading.

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)
These are standard Solana network costs and are not specific to Jupiter Predict.