Competitions
On Gaff, anyone can found and run competitions with smart-contract fairness and instant liquidity. This page covers Mixed Tournaments, Knockout Tournaments, Leagues, and Friendlies.
8.0 Core Concepts (Apply to Tournaments & Leagues)
8.0.1 Creator-Led, Contract-Enforced
Anyone can create a competition from the UI.
The contract escrows entry fees, enforces rules, schedules rounds, and releases prizes automatically.
8.0.2 Configurable Parameters (per competition)
Entry Fee
Per-club fee paid on join, escrowed until conclusion.
Max Strength
Upper bound on a club’s avg player strength allowed to enter (anti-whale tiering).
Match Frequency
Minutes/hours between rounds, drives synchronized kickoffs (Round 1 at T0, Round 2 at T0+f, etc.).
Payout Format
Hardline (winner-takes-most, sharper tails) vs Broad (more placements, softer tails).
TeamCount
Total slots, when filled, the contract locks (no more join/leave).
GroupCount (Mixed only)
Number of groups for round-robin stage (e.g., 2, 4, 8…).
Join/Leave window: Users can join or leave until TeamCount is filled. Filling the last slot triggers a contract lock, from that block onward no one can join or leave.
8.0.3 Creator Fee (Both Tournaments & Leagues)
5% creator fee (capped at 1 BNB) is paid at conclusion of the competition.
Fee is taken from the prize pool after chain fees and before prize distribution.
8.0.4 Leaderboards & Side Prizes
Top Scorer & Top Assist prizes exist for all competitive formats (Mixed, KO, League).
Tiebreak rule is “First to reach N” (chronological events) to avoid confusion.
8.0.5 Anti-Sybil & Fairness
Unique wallet checks + device heuristics keep entries honest.
Max strength filters prevent smurf stomps.
Synchronized rounds eliminate “schedule roulette.”
8.1 Mixed Tournament (Group Stage → Knockout)
A Mixed tournament runs a Group Stage (Round-Robin), then auto-seeds into a Knockout bracket.
8.1.1 Creation Flow
Set parameters: Entry Fee, Max Strength, Match Frequency, TeamCount, GroupCount, Payout Format.
Deploy/initialize: Contract advertises open slots.
Join/Leave window: Clubs enter or withdraw freely until TeamCount fills.
Lock: Filling last slot → contract lock. The group draw runs, fixtures are generated, and Round 1 kickoff time is set.
8.1.2 Group Stage
Draw: Clubs are randomly drawn into Group A…N with even distribution.
Fixtures: Round-robin within each group (each team plays all others once, admin/creator can choose “home/away” double round-robin in advanced mode, roadmap).
Synchronized rounds: Every match in a round starts at the same timestamp for fairness.
Scoring: 3 points win, 1 draw, 0 loss.
Tiebreakers:
Head-to-Head (H2H) points,
H2H goal difference,
Overall goal difference (GD),
Goals For (GF),
Fair Play (cards/discipline),
Coin Flip (on-chain random).
Completion check: The system verifies all group matches finished before seeding KO.
8.1.3 Auto-Seeding to Knockout
Top 2 (or creator-set top-K) from each group qualify.
Cross-pairing: Group A(1st) vs Group B(2nd), Group B(1st) vs Group A(2nd), etc., to avoid early rematches.
8.1.4 Knockout Stage
Rounds: Round of X → Quarterfinals → Semifinals → Final (depends on qualifiers).
Draw resolution: If tied after normal time, penalties decide (optional ET on roadmap).
Scheduling: Each KO round fires at synchronized times, the next round only generates once all matches in the current round have winners.
8.1.5 Payouts (Mixed)
Pool: Sum(entry fees) − gas − creator fee (5% capped at 1 BNB) − platform fee = prize pool.
Format:
Hardline: Winner 65–80%, Runner-up 20–30%, 3rd 0–10% (config bands).
Broad: Winner 50–60%, Runner-up 25–30%, 3rd 10–15%, 4th 0–5%.
Side Prizes: Top Scorer & Top Assist get fixed or % micro-awards.
Distribution: On chain, at conclusion.
8.1.6 Edge Cases
Walkovers (W/O): If a club cannot field a lineup, match is played with defaults, repeated W/O can auto-DQ (refundable rules are creator-set).
Reschedules: Only pre-Round (before any match in that round starts) and only to maintain synchronicity.
Disputes: Events and outcomes are on-chain / logged, admin overrides are visible and auditable.
Diagram (textual): Group Draw → RR Fixtures (R1, R2, R3…) → Standings (H2H > GD > GF > Fair Play > Coin) → Cross-Seed → KO (R of X, QF, SF, Final) → Payout & Creator Fee
8.2 Knockout Tournament (Pure Cup)
A straight bracket, perfect for weekend cups, brand events, or high-stakes sprints.
8.2.1 Creation Flow
Set parameters: Entry Fee, Max Strength, Match Frequency, TeamCount, Payout Format.
Open slots: Clubs join/leave until the TeamCount fills.
Lock & Seed: Final join triggers contract lock, bracket is drawn and Round 1 time is set.
8.2.2 Match Rules
Single-leg ties (default).
Tie resolution: Penalties if level at FT (ET optional on roadmap).
Round cadence: Synchronized rounds per Match Frequency.
Bracket integrity: Mapping of winners to next round is immutable post-lock.
8.2.3 Payouts (KO)
Same logic as Mixed but no group awards, all prize goes to placements + side prizes.
Hardline vs Broad distributions are creator-selectable.
8.2.4 Rescheduling & Forfeits
Reschedule is only possible before any match in a round has started (to keep synch).
Forfeits trigger W/O with published reason, repeated forfeits can auto-DQ.
Diagram (textual): Open Slots → Lock → Bracket Draw → R1 (sync) → R2 … → Final → Payouts + Creator Fee
8.3 Leagues (Seasonal / Recurring)
Longer arcs with standings, form cycles, and meta strategy. Top 3 win prizes, Top Scorer & Top Assist earn side awards.
8.3.1 Season Setup
Parameters: Entry Fee, Max Strength, Match Frequency, TeamCount, Payout Format.
Format:
Single Round-Robin or Double Round-Robin (home/away) per season length.
Matches are scheduled in rounds (all fixtures per round kick off together).
Locking: When TeamCount fills, league locks and the season calendar is minted.
8.3.2 Table & Tiebreakers
Points: 3/1/0.
Tie order: H2H points → H2H GD → Overall GD → GF → Fair Play → Coin.
8.3.3 Prizes & Fees (Leagues)
Creator fee: 5% capped at 1 BNB, paid at season end.
Prize pool: Sum(entry fees) − gas − creator fee − platform fee.
Placements: Top 3 paid according to Hardline or Broad:
Hardline (example): 1st 65%, 2nd 25%, 3rd 10%.
Broad (example): 1st 55%, 2nd 28%, 3rd 17%.
Side Prizes: Top Scorer & Top Assist (same tie rule: first to N).
8.3.4 Promotion / Relegation (Roadmap)
Multi-division ladders with auto-promote / auto-relegate across seasons.
Performance history & club rating influence seeded placements next season.
8.3.5 Integrity & Scheduling
Congestion-aware frequency (creators set cadence, system warns about over-tight windows).
Reschedules only before any match in a round has kicked off.
W/O policy similar to tournaments with progressive penalties & public logs.
Diagram (textual): Open Slots → Lock → Calendar Minted → R1..Rn (sync rounds) → Final Table → 1st/2nd/3rd + Side Prizes → Creator Fee
8.4 Friendlies (Low-Stake, High-Signal)
Great for chemistry, fitness, and evaluation, without inflating the economy.
8.4.1 Purpose & Effects
No entry fee, no prize pool (creator can optionally set micro bounties, roadmap).
Non-inflationary gains:
Chemistry: increases when units play together.
Fitness: restores match rhythm, helps form without boosting core attributes.
Scouting: reveals ranges for academy prospects (§Academy).
8.4.2 Setup
Quick-match (auto matchmaking) or private lobbies.
Synchronized start removed for agility, still logged for integrity.
8.4.3 Limits
Hard caps per day to avoid exploit loops.
Friendlies do not count toward prize leaderboards.
8.5 Payout Formats in Detail
Choose Hardline for sharper, esport-like stakes—Broad to reward deeper fields.
Hardline
Winner 70%, Runner-up 25%, 3rd 5% (KO), 1st 65%, 2nd 25%, 3rd 10% (League)
Fixed or % micro-awards (Top Scorer, Top Assist)
Broad
Winner 55%, Runner-up 28%, 3rd 17%
Same as above
Note: Exact bands are creator-selectable within safe ranges enforced by the contract.
Top Scorer / Top Assist tie rule: Sort by total desc, then earliest timestamp reaching that total (identical in backend payouts and frontend display).
8.6 Join/Leave, Locking, and Refunds
Join: Pay entry fee → escrow. The club is checked against Max Strength.
Leave: Full refund until lock (i.e., until the final slot is filled).
Lock Trigger: When TeamCount is reached, the contract locks the field, no join, no leave.
After Lock: If a club cannot continue, W/O rules apply, no refunds unless the creator set an explicit policy (visible at creation and enforced by contract).
8.7 Scheduling & Sync Rounds
Group & League rounds: All fixtures in the same round share one kickoff time per competition.
KO rounds: Synchronized per round, with the next round generated only after every tie in the current round has a winner.
Frequency: Creator-set
matchFrequency(minutes/hours) powers:R1 at T0, R2 at T0 + f, R3 at T0 + 2f… (group/league).
QF at T0, SF at T0 + f, Final at T0 + 2f (KO).
8.8 Admin & Diagnostics (Transparent by Design)
Event logs: Goals, assists, cards, subs, winners, on-chain or persisted with verifiable hashes.
Auditability: Any manual intervention (rare) is publicly stamped with reason.
Dashboards: Join/leave timelines, payout proofs, bracket seeds, tiebreak calculations.
8.9 Quick How-To (Creators)
Pick a format: Mixed (Group→KO), KO, or League.
Set parameters: Entry Fee, Max Strength, Match Frequency, TeamCount (and GroupCount for Mixed), Payout Format.
Publish: Competition appears in discovery, clubs start joining.
Watch the lock: When the last slot fills, the contract locks and fixtures auto-generate.
Run it: Rounds execute on schedule, standings/bracket auto-update.
Conclude: Payouts + Side Prizes distribute on-chain, creator fee is paid out (5% capped at 1 BNB).
8.10 At-a-Glance Comparison
Player Cap (TeamCount)
Yes
Yes
Yes
Optional
Group Stage
Yes
No
N/A (table season)
No
KO Bracket
Yes (post-groups)
Yes
No
No
Entry Fee / Prize Pool
Yes
Yes
Yes
No
Creator Fee
5% (cap 1 BNB)
5% (cap 1 BNB)
5% (cap 1 BNB)
None
Payout Format
Hardline / Broad
Hardline / Broad
Hardline / Broad (Top 3)
None
Side Prizes
Top Scorer / Assist
Top Scorer / Assist
Top 3 + Top Scorer / Assist
None
Join/Leave
Until lock
Until lock
Until lock
N/A
Round Sync
Yes (groups & KO)
Yes
Yes
Not required
Tie Resolution
H2H > GD > GF > FP > Coin
Pens
H2H > GD > GF > FP > Coin
N/A
8.11 UX Touches That Matter
“Slots left” and “time to lock” badges drive urgency.
Strength gate preview shows if your club qualifies before you pay.
Brackets & tables update live via sockets, mobile tabs for Fixtures, Standings/Bracket, Leaders.
Creator console surfaces health checks: no-shows, projected payout, dispute risk = low.
8.12 Why It Feels Premium
Zero spreadsheet admin, contracts do the heavy lifting.
Synchronized rounds feel like broadcast windows.
Fair, explicit tiebreaks and identical backend/frontend logic for side awards remove ambiguity.
Creator fee with hard cap makes hosting sustainable without draining the pool.
Build weekend cups, monthly leagues, or mega Mixed majors. Click Create, set your dials, and let the chain run the show, transparent, trustless, and addictive in the best way.
Last updated