Robinhood Chain · Pons launchpad · $BRAWL
64 fighters.
One bracket a day.
Top 4 wins the daily prize pool.
Hold the token, claim a fighter, watch the bracket. Every punch is decided by a public engine and a seed nobody can pick. Replay it yourself against on-chain data.
Claiming is free: it never moves your tokens. Prizes are paid manually by the operator from the fee wallet, with every transaction hash published here.
Drag to rotate · click to punch
Fight night now
Two rounds, always visible
The current round fights on a pool locked at fight time. The next round is taking claims while its pool accrues.
Loading rounds
Next round
The roster in numbers
64 prices, 64 fighters, 8 archetypes
Read live from fighters.json and /api/config. Nothing here is typed in by hand.
Loading odds.
Join the Brawlhood
Hold, claim, fight, paid
Four steps. No deposits, no bets, no token leaves your wallet.
-
1
Hold
Buy the token on Pons. Each of the 64 fighters has a fixed price in tokens, 5M to 35M. Your balance decides which fighters you can claim.
-
2
Claim
Sign a free message to prove you own the wallet, then claim any fighter whose price is at or below your balance. Nothing moves. One fighter per wallet. Your balance must cover that fighter's price.
-
3
Fight
At fight time (18:00 UTC daily) claims lock and balances are re-checked. 64 fighters, single elimination, 63 matches plus a 3rd-place match. Pure stat-driven RNG from a seed committed before it exists; the whole bracket is fixed before match 1 and shown one match at a time.
-
4
Paid
The round's locked prize pool, accrued since the last lock and funded by the token's launchpad creator fee, is split 50 / 30 / 10 / 10 across the top 4. The operator sends the payouts by hand from the fee wallet and records each tx hash on the bracket page.
Provably fair
Why it can't be rigged
Commit first, seed from the chain, replay in public. Every round leaves a trail anyone can re-run.
-
Commit tx
Before fight time the operator hashes the frozen roster with a secret salt and writes that hash to Robinhood Chain in a 0-value transaction.
keccak(PFC1 · roundId · rosterHash · salt) -
Seed block
The seed block is the commit block + 10. It does not exist yet when the commit is sent, so nobody can pick a roster or salt to fit it.
seedBlock = commitBlock + 10 -
Seed
The seed is a hash of the round id, the roster hash, the salt and that block's hash. Change any input and the seed changes.
keccak(PFS1 · roundId · rosterHash · salt · blockHash) -
Engine replay
An open-source, deterministic engine turns seed + stats into 64 matches, turn by turn. The results root is fixed before match 1; the seed stays sealed while matches are shown. Same inputs, same output, in any browser.
engine.js · bracket.js -
Reveal tx
After the last match is shown, the salt and the results root go on-chain. Only then is the seed public: anyone can decode both transactions, recompute everything and compare.
PFR1 · roundId · salt · resultsRoot
Hall of fame
Titles, top-4s, best records
Computed from every finished round by /api/stats. House-owned fighters count like any other: the record is the fighter's, not the wallet's.
Last podium
Biggest upsets
cheaper fighter won| Loading records |
Win rate ranks fighters with at least 5 fights. Sorted by titles, then top-4 finishes, then win rate.
Classic view
All 64, one table
Click a column to sort, click a row to open the fighter.
| Loading fighters |
Odds are Monte-Carlo engine odds: a run of the public engine over many full 64-man brackets (data/sim-config.json). They describe the engine, not a promise of anything.
FAQ
Questions people ask
Does claiming a fighter move or lock my tokens?
No. A claim is a signed message plus a balance check. Nothing is transferred, approved or locked. You can sell at any time, but see the next question.
When is the first fight?
The first bracket runs as soon as all 64 fighters are claimed; every round after that fights daily at 18:00 UTC.
What happens if I sell before fight time?
At lock time every claim is re-checked against the wallet's live balance. If your balance no longer covers your fighter's price, the claim fails and that fighter fights for the house. Buying back before lock restores it.
What is a house fighter?
Any fighter that is unclaimed at lock, or whose claimant failed the balance re-check, fights anyway as a house fighter. Any prize a house fighter wins is not paid out; it rolls into the next round's pool.
How many fighters can one wallet hold?
One fighter per wallet. Your balance must cover that fighter's price. Release it if you want a different one, and each fighter can only be claimed by one wallet per round.
Do I keep my fighter for the next round?
Only if you tick "renew" when claiming. Renewed claims carry over to the new round at lock, provided the balance still passes. Otherwise fighters go back to free.
How and when are prizes paid?
Manually, by the operator, from the fee wallet, after a round is done. There is no smart-contract escrow in v1. Each payout's transaction hash is recorded on the bracket page next to the placing so you can check it on the explorer. The pool is locked at fight time; fees that arrive after that belong to the next round.
Where does the prize pool come from?
Pons pays the token creator 70% of a 1% trading fee. The prize pool for a round is what that wallet accrued since the previous lock, plus anything rolled over from house-fighter wins or added by the operator. The live number on this page is that accrual, converted to USD with a public price feed.
What does "SIMULATION" mean?
When the site runs without a real token, RPC or operator keys, it runs in simulation mode and says so in the banner at the top of every page. Balances, prize pools, claims and rounds are all fake, no transactions are sent and there is no on-chain proof to check. Nothing shown in simulation mode is ever presented as real.
Could the operator rig a round?
Not without it showing. The roster and salt are committed on-chain before the seed block exists, the seed comes from that block's hash, and the engine is public and deterministic. The results root is fixed before match 1 and published with the salt in the reveal tx after the last match; until then the seed is sealed, so nobody can replay ahead. Changing the roster, the salt or a result afterwards breaks the commit hash or the results root that anyone can recompute.
The sequencer caveat
The one party that could in principle influence a future block hash is the chain's sequencer, which is operated by the chain, not by us. This is the same trust assumption as every other block-hash-based lottery on a rollup. A second, independent entropy source (the drand beacon) can be mixed into the seed later, which would remove even that.
How are the odds calculated?
By running the public engine over many full 64-man brackets and counting how often each fighter wins the title or lands in the top 4. Expensive fighters have better stats and better odds; cheap fighters have better odds per coin. The exact ratio is shown in "The roster in numbers" above, computed from the same file the game uses.