Skip to main content

What is a parlay?

A parlay combines two or more legs into a single prediction. All legs must win for you to receive a payout. If any leg loses, the entire parlay loses. Odds multiply across legs:
Combined odds = (leg1 × leg2 × ... × legN) / 100^(N-1)
Max payout = net_stake × combined_odds / 100
A 2% parlay fee applies to the stake.

Current scope

M1 parlays are soccer-only. You cannot mix sports legs with crypto or pump.fun markets in a single parlay yet.
Build a parlay at /parlay or by adding legs from sports market cards.

Anti-correlation rule

You cannot include two legs from the same match in one parlay. The platform enforces this on-chain to prevent correlated predictions that would not be true independent outcomes.

The parlay pool

Parlays are backed by a separate LP pool, not individual market vaults:
ActorRole
LPsDeposit USDC into the parlay pool; earn from losing parlays
PlayersStake against the pool; win multiplied payouts if all legs hit
Single-market predictions and parlay predictions use different funding sources. See Outcome tokens for how single predictions settle.

Settlement cases

CaseResult
All legs winFull max payout
Any leg loses$0
Some legs voidedOdds recalculated on remaining legs
All legs voidedFull stake refunded
Below minimum legsFull stake refunded

Leg resolution

Each leg resolves independently when its underlying market resolves. A permissionless resolve_leg instruction reads the market outcome and marks the parlay leg won, lost, or voided. Settlement runs once all legs have a final state.