EXL Tourney
Skill-based web3 esports on Solana, without a token
This document explains what EXL Tourney is, how a tournament is run end to end, how prizes are split, why the system needs neither a token nor custody of player funds, and where the network goes next. It is written for players, builders, grant reviewers and anyone auditing a result.
Print / save as PDF Pitch deck Source code
1. Abstract
EXL Tourney turns classic mobile game mechanics — a jumper, a snake, a 2048 board, a bubble shooter — into short esports events with real prizes. Every participant in an event plays the same server-seeded, deterministic setup; ranking is by score only, so there is no random winner. Entries are plain SOL or SKR transfers, prizes are paid back on-chain by an automated settlement job, and every event leaves a public proof page with the seed commitment, the revealed seed, the wallet-signed scores and the payout transactions. The platform issues no token and never holds a balance in a player's name.
2. The problem with "play-to-earn"
Most web3 gaming products of the last cycle shared three flaws, and each one is a design decision we reversed:
- Prizes denominated in a project token. The prize's value depended on an asset the project itself issued, which turned players into exit liquidity. EXL prizes are native SOL (or SKR, the Seeker ecosystem token) — assets whose value we do not control.
- Opaque outcomes. Loot tables, hidden RNG and server-side "balancing" made results unverifiable. EXL publishes a hash of the seed before a round opens and the seed itself after it closes; anyone can replay the setup.
- Custodial balances. In-app wallets and "withdraw requests" put player money on the platform's books. EXL has no account balance anywhere: a paid seat is a stake inside a room, and WITHDRAW returns it on-chain immediately.
3. Product
Tourney leagues
Daily (0.1 SOL), weekly (0.3 SOL) and monthly (1 SOL) tournaments per game, plus SKR-denominated leagues for Seeker holders. Entry fees form the pool; a cron job settles and pays when the window closes.
Duel rooms (v1.3)
Any player opens a room for free, chooses SOL or SKR, the stake (0.02–5 SOL · 200–50,000 SKR), 2–10 seats and the split (winner-takes-all, top-2, top-3, top-half). Each player pays only their own seat; the host presses START; REMATCH re-opens the same room.
Sol EXathlon
A four-game event (Jump, Dodge, Stack, Tiles): one entry, one attempt per game on the same seed, decathlon-style placing points decide the podium, scores are signed once at the end. The first "event" type — a bundle of sub-tournaments settled by one transaction.
Free play
Every title is playable without a wallet. Tournaments are one tap away; the wallet is the only identity — no e-mail, no password, no personal data.
4. Fair-play model
- Seed commitment. When an event opens, only
sha256(seed)is published. The seed is revealed the moment play goes live (duels) or after payout (leagues), so nobody — host included — can preview the course. - Deterministic engines. Every game derives its entire sequence (platforms, tiles, food, barriers, bubbles) from the seed. Two players with the same seed see the same game; only skill differs.
- Wallet-signed scores. A score is submitted together with a wallet signature (Seed Vault / Mobile Wallet Adapter
signMessages, PhantomsignMessage). In duels an unsigned score is not accepted at all. The proof page shows a ✓ verified badge per score. - Telemetry validation. Duration, tap count and per-game score ceilings (
maxScorePerSec) are checked server-side; impossible values are rejected and never rank. Inputs that arrive between GO and the server acknowledgement are ignored, so an early tap cannot burn an attempt. - One attempt, same clock. Rooms start for everyone at once; each player has exactly one attempt per game.
- Replay validation (next). Touch logs will be re-played server-side against the seed — anti-cheat v2, already supported by the deterministic engines.
5. Economics — where the pool goes
Entry fees accumulate in the pool wallet. Distribution ratios are fixed in code; unfilled ranks are never charged; the on-chain transaction fee of the payout is deducted from the service share, never from prizes.
| Format | Entry | Prize split (of pool) | Service fee |
|---|---|---|---|
| Daily | 0.1 SOL | Winner 99% | 1% |
| Weekly | 0.3 SOL | 50 / 30 / 17 | 3% |
| Monthly | 1 SOL | 30 / 18 / 12 / 9 / 7 / 6 / 5 / 4 / 2 / 2 | 5% |
| Duel room · SOL | 0.02–5 SOL per seat | Host's choice: WTA, top-2, top-3, top-half | 3% |
| Duel room · SKR | 200–50,000 SKR per seat | Host's choice | 5% |
| EXathlon | per event | Placing points → same split table | as format |
The service share is called "network, service & operating fees" in the apps. It funds RPC, Cloudflare, settlement transaction costs and development. There is no token, no NFT, no presale and no treasury emission. Revenue is the fee; nothing else is sold.
Refund rules
- Fewer than 2 paid players, or no valid score by the end of the window → every seat is refunded in full (only the chain fee is deducted).
- A room that expires before START → full refund.
- WITHDRAW before START → stake minus service share and network fee, immediately.
6. No custody
The platform never keeps a balance for a player. Joining is a single-signature simple transfer to the pool wallet; the app requests no other authority over the wallet. MY WALLET in the apps is a view of the player's paid seats and history, not an account. Anything owed to a player is paid by the settlement job to the wallet that paid the seat — there is no claim form, no withdrawal queue and no minimum.
Pool wallet: 25cZtbrmvNrMdLvzuy1KK8EbavyQLdMxKoeheQqyjvbL · Service wallet: 9oQgS5qbnWcY8AbJQ6Uuks3WS5adhWMcvz7APDq3dMbW — both public, both auditable on Solscan. The Transparency page lists them with links.
7. Architecture
Clients
Flutter apps for Android / Seeker, published on the Solana dApp Store. Shared modules: exl_wallet (MWA + Phantom deeplink), exl_duel, exl_troom (seat rooms), exl_mywallet, exl_proof, exl_ui (3D kit).
Backend
A single Cloudflare Worker (exl-tournaments) with D1 (SQLite) and a 5-minute cron. Endpoints for join, attempt start, score submit, seat rooms, withdraw, EXathlon events and the public /proof query. Backend v5.1.
Settlement
The cron ranks signed scores, builds one transaction per event (prizes + service share), signs with the pool key and records every signature. Payout transaction fees come out of the service share.
Proof
web3.excobalab.com/proof/?id=… renders seed commitment, revealed seed, ranked participants with ✓ badges, entry and payout transactions with Solscan links — for any tournament, room or EXathlon event.
Wallets: Seeker Wallet, Jupiter, Solflare, Backpack via Mobile Wallet Adapter; Phantom via encrypted deeplink. Everything — backend, client modules, docs — is public at github.com/excobalab/exl-tourney.
8. Legal framing
- Skill, not chance. Outcomes are decided by measurable performance on an identical setup; there is no random element in who wins. The platform positions itself as skill-based competition, not gambling.
- 18+. Tournament modes are for adults only; each game's terms page states the exact ratios and rules.
- No personal data. No sign-up, no e-mail; the public wallet address is the only identifier. Nothing is sold or shared.
- Operator. Excoba Medikal Turizm İç ve Dış Ticaret A.Ş. (Ankara, Türkiye), trading as Excobalab. Availability may be restricted by local law; players are responsible for compliance in their jurisdiction.
9. Metrics (as of 17 Oct 2026)
First on-chain prize distribution: 14 Jul 2026 (Sol Jump weekly W29). First duel room settled on mainnet: 21 Sep 2026 (proof). Sol EXathlon 1.0.3 live since 16 Oct 2026. Client 1.3.0 (seat rooms, withdraw) rolling out across the seven Tourney games.
10. Roadmap (summary)
- Now — v1.3: seat rooms, instant withdraw, public room list, rematch, EXathlon events, single-signature scoring.
- Next: replay validation (anti-cheat v2); three more classic mechanics on the same rails; spectator leaderboard page.
- Then: Anchor escrow program (pools and payouts in a program account); clan / team leagues and seasons built on the event layer; streaks and quests in free play.
- Later: sponsored prize pools and community tournaments — a real esports calendar.
Full timeline and changelog: /roadmap/.
11. Company & contact
EXL Tourney is built by Excobalab, the software brand of Excoba Medikal Turizm İç ve Dış Ticaret A.Ş. (founded 2019, Ankara). Excobalab also publishes 41 apps on Google Play and the ExHukuk legal-AI platform. Contact: info@excobalab.com · @EXLTourney.
This litepaper describes the system as deployed in October 2026 and is updated with each client release. It is not investment advice and does not describe any token, security or financial product — there is none.