Browse the docs

02 · Bazaar docs

How it works

Bazaar is parimutuel: everyone’s money goes into one pool per market, and the people who backed the winning outcome split the whole pool between them. There is no bookmaker, no order book, and no counterparty — you are only ever trading against the other bettors.

If you have used a horse-racing tote, you already know the model. What is different here is who decides the result: the person who created the market, with their public record and a hard refund guarantee standing behind that power.

One pool, split pro-rata

Each bet names an outcome and an amount. The amount pays the 10% entry fee and the remaining 90% joins the pool. At resolution, the winning outcome’s backers take the entire pool — their own money plus everything staked on the losing outcomes — divided in proportion to what each of them put in.

your payout  =  pool  ×  (your net stake  /  total net stake on the winning outcome)

pool         =  Σ (every bet's net stake, winning and losing alike)
net stake    =  what you paid  −  10% entry fee
Payouts are floored per winner so the distributed total can never exceed the pool; the sub-micro remainder stays with the treasury.
  • Nothing is minted. The pool is exactly the money bettors put in, so total payouts can never exceed total stakes. Solvency is arithmetic, not a promise.
  • Your return depends on the final pool, not the pool you saw when you bet. More money on your outcome later means a smaller slice for you; more on the other outcomes means a bigger one.
  • Being early is usually — not always — better. You get the same slice of a pool that later bettors grow, but only if your outcome wins.

What the percentages mean

The percentage next to an outcome is not a Hunch opinion and not a price we set. It is the pool’s own shape: that outcome’s share of all net stake — the crowd’s implied probability.

YES  $70 net staked        DOWN the crowd thinks YES is 70% likely
NO   $30 net staked        →    YES 70%   NO 30%     (always sums to exactly 100)

If YES wins:   a $10 net YES bet collects  100 × (10/70)  ≈ $14.28
If NO wins:    a $10 net NO  bet collects  100 × (10/30)  ≈ $33.33
  • Percentages are distributed by largest remainder, so an N-way market’s figures sum to exactly 100 rather than drifting to 99 or 101.
  • An empty pool shows the uniform split (50/50 on a binary) — no stake, no information, no invented favourite. The first bettor sets the odds.
  • The bet panel shows what your stake would return at the current pool and says so. A fixed “you win $X” would be a number nobody can honour in a parimutuel.

Where the fee goes

One 10% fee, charged once, at entry — never at settlement, never on withdrawal, never per outcome. It is split three ways the moment the market settles.

your $10 stake
├── $1.00  entry fee (10%)
│    ├── creator    20–55% of the fee   (tier + weekly kicker)
│    ├── referrer   20% of the fee        (only if the bettor was referred)
│    └── protocol   the remainder            (≥ 25% of every fee, always)
└── $9.00  into the pool (90%)
Conservation is exact by construction: the protocol number is a subtraction from the total, never a second multiplication.

The protocol floor is load-bearing: it is what makes wash-trading your own market strictly lossy, which is why creators are allowed to earn on their own bets at all. See Creator earnings for the tier ladder and Sharing & referrals for the referral slice.

The lifecycle, precisely

StateWhat it meansWhat can happen
draftCreated but not published. Not public, not indexed, no bets.Publish or abandon.
openLive and taking bets until its close time.Bet (≥ $0.50, ≤ $100.00 per person), share, close.
closedBetting has ended; the creator owes a resolution.Resolve any time before deadline + 48h.
resolvedThe creator called the outcome and everyone was paid in that call.Nothing — terminal and absorbing.
voidedRefunded in full. Either the guarantee fired, or a policy takedown.Nothing — terminal and absorbing.

Resolve and auto-refund partition time exactly

Resolving is legal while now < deadline + 48h; the guarantee fires at now >= deadline + 48h. Strict on one side, inclusive on the other — so there is no instant where a market could be both paid out and refunded, and none where it is stuck with money in it. A market resolved at deadline+47h59m pays normally; at exactly +48h the refund has taken over.

The four ways a pool does not simply pay winners

All of them return money rather than keeping it. This matters more than the happy path, because these are the cases a creator-resolved venue could otherwise abuse.

CaseWhat happensFees
Unresolved48h past the deadline the market auto-voids and every bettor is refunded their FULL GROSS stake.Creator earns nothing; the fee is refunded too.
Only one bettorNo market existed to trade against, so the lone bettor gets their full gross stake back — whatever outcome was called.Refunded with the stake.
Nobody backed the winnerThe creator resolved to an outcome carrying no stake. Rather than let that sweep the pool, the market voids in the bettors' favour and everyone is refunded.Refunded with the stake.
Policy takedownAn admin removes a market that breaches content policy. Before resolution: void and refund everyone. After: bettors keep their payouts and the creator's fees on that market are clawed back to treasury.Forfeited by the creator.

Settlement, on-chain

Real markets

Bets settle in USDC on Base. Payouts are dispatched inside the resolve call, through the same payout engine that has been settling real money on the main Hunch product since June 2026 — Bazaar does not fork it, it settles through it. That single authority is why the arithmetic here and there cannot diverge.

Practice markets

The practice surface runs the identical engine on pUSDC, a non-cashable paper balance. Currency is a tag on the market, so a real and a paper bet can never meet in one pool — crossover is impossible by construction, not by convention. See Practice with pUSDC.

A worked example, end to end

"Will the team ship v2 before Friday?"   YES / NO   closes Fri 18:00 UTC

Ana   bets $50 on YES   → fee $5.00  net $45.00 into the YES pool
Ben   bets $30 on NO    → fee $3.00  net $27.00 into the NO  pool
Cara  bets $20 on YES   → fee $2.00  net $18.00 into the YES pool

pool = $90.00          odds shown: YES 70%  NO 30%   (the fee is proportional, so ratios are unchanged)
fee take = $10.00

Friday: it shipped. The creator resolves YES with a link to the release tag.

winning net stake = $63.00   (Ana $45.00 + Cara $18.00)

Ana  collects  $64.29   (pool × 45/63)   on a $50 stake
Cara collects  $25.71   (pool × 18/63)   on a $20 stake
Ben  collects  $0.00

creator's cut of the $10.00 fee take:
  Rookie 20%  →  $2.00
  Oracle 50%  →  $5.00   (+ 5pp with the weekly kicker)
Figures use the live config: 10% fee, $0.50 minimum, 48h guarantee.

Had the creator never resolved it, all three would have been refunded $50, $30 and $20 — the full gross, fee included — 48 hours after the deadline, and the creator would have earned nothing.

How Bazaar works — parimutuel pools, no house