How Prediction Markets Work
Parimutuel betting on BTC price, sports, weather, and Bitcoin network outcomes
How It Works
Parimutuel Betting
Prediction markets use a parimutuel model — you bet against other players, not against the house. Every market has a simple YES or NO outcome based on real-world data: BTC price, sports scores, weather conditions, or Bitcoin network metrics.
Browse open markets across different categories — BTC price, sports, weather, and more. Each market asks a question with a YES or NO outcome.
If you think the outcome will happen, bet YES. If you think it won't, bet NO. Your sats go into a shared pool with all other bets.
At the resolution time, the outcome is checked automatically using a trusted oracle. Either YES wins or NO wins — no manual intervention.
If your side wins, you share the entire pool (minus a small rake) proportional to your bet size. Winnings are credited to your balance instantly.
Market Types
BTC Price Markets
Daily markets on whether Bitcoin will close above or below a target price.
- Schedule: New markets created daily, resolve at midnight UTC
- Oracle: CoinGecko
- Resolution: BTC price snapshots taken every 5 minutes. If BTC is at or above the threshold at resolution time → YES wins
Sports Markets
Bet on NBA, NHL, MLB, EPL, and MLS game outcomes.
- Available leagues: NBA, NHL, MLB, EPL, MLS (NFL coming September 2026)
- Oracle: The Odds API
- Resolution: Based on official final scores
- Edge cases: Markets are cancelled and bets refunded if the game ties, is postponed, or no score is available within 24 hours
Weather Markets
Daily temperature and precipitation markets for major US cities.
- Cities: New York, Los Angeles, Miami
- Oracle: Open-Meteo (free open-source weather API)
- Temperature markets: Resolve based on the official recorded daily high
- Rain markets: Resolve YES for any precipitation above 0.25mm
Bitcoin Difficulty Markets
Predict the direction and magnitude of the next Bitcoin difficulty adjustment.
- Schedule: One market per difficulty epoch (~every 2 weeks)
- Oracle: mempool.space
- Resolution: Resolves when the target block height is reached and the new difficulty is calculated
Mempool Fee Markets
Weekly markets on whether median Bitcoin transaction fees will exceed a threshold.
- Schedule: Created on Mondays, resolve on Sunday
- Oracle: mempool.space
- Resolution: YES if median fee exceeds the specified sat/vB threshold during the week
How Markets Resolve
Oracle Sources
Each market type resolves using a trusted third-party oracle. Resolution is fully automated with no manual intervention.
| Market Type | Oracle | Resolution Method |
|---|---|---|
| BTC Price | CoinGecko | Price snapshot at resolution time (midnight UTC) |
| Sports | The Odds API | Official final scores after game completion |
| Weather | Open-Meteo | Recorded daily high temperature or precipitation data |
| Difficulty | mempool.space | Actual difficulty change at target block height |
| Mempool Fees | mempool.space | Median fee data over the market period |
Resolution Logic
At each market's resolution time, the oracle data is fetched automatically:
- If the condition is met (price above threshold, team wins, rain recorded, etc.) → outcome is YES
- If the condition is not met → outcome is NO
- Resolution is fully automated — no manual intervention
Edge Cases
- One-sided markets: If only YES or only NO bets exist, the market is cancelled and all bets are fully refunded. No rake is taken.
- Cancelled markets: If a market is cancelled for any reason (e.g. postponed sports game, unavailable data), all bets are fully refunded.
- Data unavailable: If oracle data cannot be fetched at resolution time, the system retries until data is available.
Payouts
How Winnings Are Calculated
Winners share the total pool minus the 3% rake, proportional to their bet size on the winning side.
your_payout = (your_bet / winning_side_pool) × (total_pool × 0.97)
Worked Example
Suppose a market has:
- YES pool: 1,000 sats (you bet 200 of these)
- NO pool: 500 sats
- Total pool: 1,500 sats
If the outcome is YES:
- Pool after 3% rake: 1,500 × 0.97 = 1,455 sats
- Your share: (200 / 1,000) × 1,455 = 291 sats
- Your profit: 291 − 200 = +91 sats
If the outcome is NO, you lose your 200 sat bet.
How Odds Work
Dynamic Pool-Based Odds
Odds are determined by the ratio of YES to NO bets in the pool. As more bets come in, the odds shift in real time.
- If most of the money is on YES, YES odds decrease and NO odds increase
- If the pools are balanced (50/50), both sides have similar odds
- The odds bar on each market shows the current pool distribution
Early Bets Get Better Odds
If you bet early when your side's pool is small and more money comes in on the opposite side after you, your potential payout improves. The payout calculator on each market shows your exact potential payout before you place your bet.
Betting Limits
Graduated Max Bet
To prevent last-second sniping, the maximum bet decreases as a market approaches its close time:
- More than 2 hours before close: 100% — full max bet (25,000 sats)
- 1–2 hours: 50% (12,500 sats)
- 30 min – 1 hour: 25% (6,250 sats)
- 10–30 minutes: 10% (2,500 sats)
- 5–10 minutes: 5% (1,250 sats)
- 1–5 minutes: 2% (500 sats)
- Under 1 minute: minimum bet only (10 sats)
The current effective maximum is shown on the bet form when it differs from the base limit.
Per-Player Position Cap
To keep markets fair, each player’s total bets on a single market are capped at 25,000 sats. You can place multiple bets as odds change, but your combined position cannot exceed this limit. The bet form shows your current position and remaining capacity.
Pool Limits
- Maximum pool size: 500,000 sats per market
- Multiple bets: You can place multiple bets on the same market, even on different sides
- Your total position per market is capped at 25,000 sats across all bets