Skip to content

Instantly share code, notes, and snippets.

@Aboudjem
Last active March 30, 2026 08:07
Show Gist options
  • Select an option

  • Save Aboudjem/7f6c5eb3c75f6c6d1d80af65e1086db5 to your computer and use it in GitHub Desktop.

Select an option

Save Aboudjem/7f6c5eb3c75f6c6d1d80af65e1086db5 to your computer and use it in GitHub Desktop.
Integra PRD: 24-trading-tournaments (HTML)
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>PRD: Trading Tournaments</title><style>*{margin:0;padding:0;box-sizing:border-box}body{background:#0A0A1A;color:#E8E8F0;font-family:'Inter',system-ui,sans-serif;line-height:1.7}a{color:#00CEC9;text-decoration:none}a:hover{text-decoration:underline}.hero{padding:48px 32px 36px;border-bottom:1px solid #2A2A4A;background:linear-gradient(135deg,#0A0A1A 0%,#1A1040 50%,#0A0A1A 100%)}.hero h1{font-size:2rem;font-weight:800;color:#fff;margin-bottom:8px}.hero .meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700}.badge-owner{background:rgba(108,92,231,0.15);color:#A29BFE;border:1px solid rgba(108,92,231,0.3)}.badge-week{background:rgba(0,206,201,0.15);color:#00CEC9;border:1px solid rgba(0,206,201,0.3)}.badge-est{background:rgba(0,184,148,0.15);color:#00B894;border:1px solid rgba(0,184,148,0.3)}.container{max-width:900px;margin:0 auto;padding:32px 24px}.section{background:#12122A;border:1px solid #2A2A4A;border-radius:12px;padding:24px;margin-bottom:20px}.section h2{font-size:0.8rem;font-weight:700;color:#8888AA;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #2A2A4A}.section h3{font-size:0.95rem;font-weight:600;color:#E8E8F0;margin:12px 0 6px}.section p{font-size:0.95rem;margin-bottom:8px}.section ul{list-style:none;padding:0}.section ul li{padding:6px 0 6px 20px;position:relative;font-size:0.95rem}.section ul li::before{content:'>';position:absolute;left:0;color:#A29BFE;font-weight:700;font-family:monospace}.section code{background:rgba(108,92,231,0.1);padding:2px 6px;border-radius:4px;font-size:0.88rem;color:#A29BFE}table{width:100%;border-collapse:collapse;font-size:0.9rem;margin:8px 0}th{text-align:left;padding:8px 12px;background:rgba(108,92,231,0.08);color:#A29BFE;font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #2A2A4A}td{padding:8px 12px;border-bottom:1px solid rgba(42,42,74,0.5)}.checklist li::before{content:'\2610' !important;color:#8888AA !important;font-family:inherit !important}.back{display:inline-block;margin-bottom:16px;color:#8888AA;font-size:0.9rem}.footer{text-align:center;padding:24px;color:#555577;font-size:0.82rem;border-top:1px solid #2A2A4A;margin-top:32px}</style></head><body><div class="hero"><a class="back" href="https://gist.githack.com/Aboudjem/0af8c2ce9d5b62038a18eeff09603553/raw/integra-testnet-master-plan.html">&larr; Back to Master Plan</a><h1>Trading Tournaments</h1><div class="meta"><span class="badge badge-owner">Kalki</span><span class="badge badge-week">Week 3</span><span class="badge badge-est">0.5-1d</span></div><p style="color:#8888AA;font-size:0.9rem">tournaments.integralayer.com</p></div><div class="container"><div class="section"><h2>Overview</h2><div class=""><p>Weekly trading competitions where users pay an IRL entry fee, trade on GOB for a fixed period, and compete on portfolio performance. A public leaderboard ranks participants in real time. Winners split the prize pool. Think DraftKings meets DeFi — creating urgency, repeat engagement, and meaningful on-chain volume every week.</p></div></div>
<div class="section"><h2>Features</h2><div class=""><ul><li><strong>Tournament Listing</strong> — Browse active, upcoming, and completed tournaments with entry fee, participant count, prize pool, and countdown timer</li></ul><ul><li><strong>IRL Entry Fee</strong> — Pay to join, entry fees aggregate into the prize pool held by the contract</li></ul><ul><li><strong>7-Day Default Duration</strong> — Standard weekly tournament window, configurable per tournament</li></ul><ul><li><strong>Max Participants Cap</strong> — Optional limit on participants per tournament to control pool size</li></ul><ul><li><strong>Live Leaderboard</strong> — Real-time ranking of participants by portfolio performance during the tournament</li></ul><ul><li><strong>Portfolio Snapshots</strong> — Starting and ending portfolio values captured for accurate performance scoring</li></ul><ul><li><strong>Prize Distribution</strong> — 1st: 50%, 2nd: 30%, 3rd: 15%, Protocol: 5%</li></ul><ul><li><strong>Prize Claiming</strong> — Winners claim their share directly from the contract after finalization</li></ul><ul><li><strong>Tournament Detail Page</strong> — Leaderboard, countdown timer, participant list, and portfolio performance chart per user</li></ul><ul><li><strong>Performance Tracking</strong> — Participant GOB trades tracked and scored during the tournament window</li></ul><ul><li><strong>Tournament History</strong> — Past results with winner profiles, final standings, and prize amounts</li></ul><ul><li><strong>Countdown Timer</strong> — Prominent display of time remaining in active tournaments</li></ul></div></div>
<div class="section"><h2>Functions</h2><div class=""><ul><li><code>createTournament</code> — Admin creates a tournament with entry fee, duration, and max participants</li></ul><ul><li><code>join</code> — User pays entry fee and registers for the tournament</li></ul><ul><li><code>submitResult</code> — Snapshot portfolio value at tournament end</li></ul><ul><li><code>finalize</code> — Rank all participants by performance, allocate prize pool</li></ul><ul><li><code>claimPrize</code> — Winner withdraws their share from the contract</li></ul><ul><li><code>getLeaderboard</code> — Returns ranked participant list with performance data</li></ul></div></div>
<div class="section"><h2>User Flow</h2><div class=""><ul><li>Connect via Web3Auth</li></ul><ul><li>Browse active and upcoming tournaments on the listing page</li></ul><ul><li>Join a tournament by paying the IRL entry fee</li></ul><ul><li>Trade on GOB during the tournament window (7 days default)</li></ul><ul><li>Check the live leaderboard to track ranking vs. other participants</li></ul><ul><li>Tournament ends — contract finalizes rankings by portfolio performance</li></ul><ul><li>Winners claim prizes from the contract</li></ul></div></div>
<div class="section"><h2>Deliverables</h2><div class="checklist"><ul class="checklist"><li>TradingTournament smart contract deployed on integra-testnet-1</li></ul><ul class="checklist"><li>Tournament creation flow (admin)</li></ul><ul class="checklist"><li>Tournament listing page (active, upcoming, completed)</li></ul><ul class="checklist"><li>Join flow with IRL entry fee payment</li></ul><ul class="checklist"><li>Live leaderboard with real-time ranking updates</li></ul><ul class="checklist"><li>Portfolio snapshot and performance scoring</li></ul><ul class="checklist"><li>Prize distribution and claiming mechanism (50/30/15/5 split)</li></ul><ul class="checklist"><li>Tournament detail page with countdown timer and participant charts</li></ul><ul class="checklist"><li>Tournament history with past results and winners</li></ul><ul class="checklist"><li>On-chain event emissions for all actions</li></ul></div></div>
<div class="section"><h2>Integration Points</h2><div class=""><ul><li><strong>Depends on:</strong> GOB exchange contracts (trade/balance data for scoring), IRL token (entry fees and payouts), Web3Auth for authentication</li></ul><ul><li><strong>Used by:</strong> Ecosystem Hub (category: Trading), XP system for participation and wins</li></ul><ul><li><strong>Explorer:</strong> Integra Explorer</li></ul></div></div>
<div class="section"><h2>XP Rewards</h2><div class=""><table><thead><tr><th>Action</th><th>Points</th></tr></thead><tbody><tr><td>Join a tournament</td><td>25 XP</td></tr><tr><td>Complete a tournament (active + submitted result)</td><td>50 XP</td></tr><tr><td>Finish in top 3</td><td>200 XP</td></tr><tr><td>Win a tournament (1st place)</td><td>500 XP</td></tr></tbody></table></div></div>
<div class="section"><h2>Success Metrics</h2><div class=""><table><thead><tr><th>Metric</th><th>Target</th></tr></thead><tbody><tr><td>Tournaments completed</td><td>8+ (weekly cadence, 2 months)</td></tr><tr><td>Unique participants</td><td>200+ wallets</td></tr><tr><td>Average participants per tournament</td><td>25+</td></tr><tr><td>Total prize pool distributed</td><td>50K+ IRL</td></tr><tr><td>Repeat participation rate</td><td>40%+ return for next tournament</td></tr><tr><td>GOB volume during tournaments vs. off-tournament</td><td>2x+ lift</td></tr></tbody></table></div></div>
</div><div class="footer">Integra Testnet PRD — Trading Tournaments — Chain: integra-testnet-1 (EVM 26218)</div></body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment