The game
A single-elimination tournament is announced (4-128 teams). You fill out your entire bracket — every round, every matchup, all the way to the final — and commit it before the first game starts. Then you reveal your picks round by round as games settle.How it works
1
Bracket published
The operator sets up the tournament with teams, seeds, and round-by-round point multipliers.
2
Commit your full bracket
Pick every game across every round. Your entire bracket is sealed as a single Merkle root on-chain. You cannot change it after entry.
3
Games play out
Real-world games are resolved on the oracle. The contract records outcomes round by round.
4
Reveal per round
After each round settles, a reveal window opens. You prove your picks for that round against your original Merkle commitment.
5
Scoring and payout
ESPN-style path-dependent scoring: a later-round pick only counts if you also got the feeder game right. Top 3 finishers split the pool.
Why full commitment matters
The biggest problem with on-chain brackets is Sybil attacks — one person spins up 50 wallets with different brackets and guarantees a top finish. Full upfront commitment kills this:- 50 wallets = 50 entry fees. Expensive to Sybil.
- Full bracket locked before game one. No adjusting after seeing round 1 results.
- Path-dependent scoring. Random brackets score badly because later picks depend on earlier ones being correct.
Key details
- Teams: 4-128 (power of 2)
- Max players: 1,000 per tournament
- Scoring: Configurable point multipliers per round (e.g., 1x, 2x, 4x, 8x)
- Rake: Up to 20%, set at deploy
- Prize split: Top 3 (50/30/20 with tie-breaking logic)
