Overview
kolstake runs ETH contests built on real crypto traders' results. You pick a squad of five traders, called KOLs (key opinion leaders: traders with a public following), within a budget of 100 credits. You pay an entry fee in ETH. While the contest runs, each trader's real account is measured, and your squad's score is the average of your five traders. The best 20% of squads split 95% of the pot.
The one rule to remember: a contest only measures what each trader does while the contest is running, from its start to its end. Nothing before the start counts, and money moved in or out of an account is never counted as profit.
You play against other squads, not against kolstake. There are no odds and no house: the pot is made only of entry fees, and a smart contract on Robinhood Chain holds it until it pays out or refunds. Every payment is a transaction you sign in your own wallet.
Status today: The contracts are live on Robinhood Chain. The Contests page shows what's open now and when the next contest opens.
At a glance
| Squad size | 5 traders |
|---|---|
| Budget | 100 credits |
| Trader price | 10–40 credits |
| Contest length | 24 hours or 7 days |
| Minimum entries | 10 |
| Paid places | Top 20%, rounded up |
| To players | 95% of the pot |
| Platform fee | 5%, only on success |
| Challenge window | 24 hours, free |
| Guaranteed exit | 7 days after the end |
A contest's timeline
Every contest moves through the same stages. All times are in UTC, and each contest page shows its exact times.
- Published
- The contest's terms are fixed and can't change: entry fee, capacity, start and end times, the roster of traders and their prices, and the versions of the scoring, data and payout rules. A fingerprint (hash) of this list, called the manifest, is stored on-chain.
- Open
- Entries are accepted. You build a squad and pay the entry fee. Each wallet can enter once.
- Locked
- At the start time, entries close and every squad is frozen. There are no late entries and no substitutions. If fewer than 10 entries were confirmed, the contest is voided and everyone is refunded.
- Running
- For 24 hours, from the start time to the end time. FOMO's public 24-hour PnL leaderboard is read every hour, and provisional scores update from the latest read.
- Proposed
- Within 24 hours of the end, the publisher posts the final rankings and payouts on-chain, together with the full dataset and a report anyone can check.
- Disputed
- For 24 hours after a proposal, anyone can challenge it for free. A separate committee decides each challenge.
- Finalized
- The result is final. Winners claim their prize from their own wallet, whenever they like.
- Voided
- The contest is cancelled and every entry gets its full entry fee back. A contest ends either Finalized or Voided, never both. See Voids and refunds.
All eight stages, in order: Published → Open → Locked → Running → Proposed → Disputed → Finalized → Voided.
Building a squad
- Pick exactly five different traders from the contest's roster.
- Their prices must add up to 100 credits or fewer. Each trader costs a whole number from 10 to 40.
- One entry per wallet per contest. Once your entry is confirmed on-chain, it can't be edited. You can change a squad freely until you submit it.
- The entry fee is the same for everyone in a contest and is shown, in ETH, before you sign. Network gas is separate.
- A contest may have a capacity. When it is full, no more entries are accepted.
Credits are a picking budget, not money. They can't be bought, sold or cashed out, and every squad gets the same 100. Five 40-credit traders would cost 200, so every squad has to mix expensive and cheaper picks. Try it in the credit planner.
Each contest needs at least 10 eligible traders on its roster, and the roster must allow at least one squad within budget.
How prices are set
Prices come from a public formula, not from anyone's opinion. They are set once, when a contest is published, and never change during it.
- Once the pricing window closes, 24 hours before entries open, read FOMO's 7-day leaderboard once: its top 150 traders by profit and loss (PnL) over the last 7 days, as FOMO reports it. The read is stored exactly as received, and the contest manifest cites it by its SHA-256 fingerprint, so anyone can check every rating against it.
- Rate each eligible trader on the leaderboard by their 7-day PnL in whole US dollars. Only those traders are priced, so no two share a price and every squad can mix cheap and expensive picks. A trader who isn't in the top 150 waits for a later contest. If fewer than 10 eligible traders are on it, traders off it make up the number, all rated a dollar below its lowest PnL.
- Rank every eligible trader by rating and turn the rank into a percentile from 0 to 1. Traders with equal ratings share the average percentile.
- Set the price.
Example
The lowest-rated trader (percentile 0) costs 10. The highest-rated (percentile 1) costs 40. A trader in the middle (percentile 0.5) costs 10 + floor(15) = 25. A trader at percentile 0.84 costs 10 + floor(25.2) = 35.
The rating is FOMO's own number: kolstake doesn't recompute it, and it measures dollars made, so a large account can outrank a smaller one with a better percentage return. It sets prices only. Contest scores come from a different board, FOMO's 24-hour PnL leaderboard, read after the contest ends (see How a score is measured).
The percentile convention is published with the scoring version before any paid contest opens, and each contest's manifest names the method it uses.
How a score is measured
Each trader's score is their profit and loss (PnL) in US dollars over the contest's 24 hours, exactly as FOMO's public 24-hour PnL leaderboard reports it. kolstake doesn't recompute or adjust it.
Which board counts
The leaderboard (its top 200 traders) is read every hour, five minutes past the hour. The final score uses the first board captured after the contest ends, and no later than one hour after the end. Every board is stored exactly as received and cited by its SHA-256 fingerprint, so anyone can check every score against it.
Trader score and squad score
squad score = average of the five trader scores
- A trader who isn't on the board's top 200 scores $0.
- A score can be negative, and a negative squad score can still win if it beats the others.
- The dollars are the traders' own trading results. They aren't paid to anyone; they only rank the squads.
Example
A squad's five traders show +$1,250, −$80, +$430, $0 (not on the board) and +$2,100 on the first board after the end. The squad score is $3,700 ÷ 5 = +$740.00.
Precision and ties
Amounts are kept to six decimal places of a dollar (micro-dollars), and the average is cut off (truncated) toward zero, never rounded up. Two squads with the same score are tied. See how ties are paid in Pot, fee and payouts.
Why a score uses dollars, not percentages
The score is FOMO's own public number, so it can be checked by anyone on FOMO and needs no private account data. Because it counts dollars, a large account can outscore a smaller one with a better percentage return. Keep that in mind when you pick.
Try your own numbers in the score calculator.
Trader data and qualification
Trader accounts are read from fomo.family, a social trading app, through FOMO API, an independent data service (neither is affiliated with kolstake). Each contest manifest names the source and freezes each trader's FOMO account ID and wallets when the contest is published. A trader is draftable only once their account passes qualification.
- Ownership
- The trader's wallets must be matched to their on-chain holdings, not only claimed. Screenshots and posts never count.
- History
- The last 30 days of trading, rebuilt from FOMO's record of the trader's positions. FOMO lists closed positions newest first, so we read them in order until we reach one closed before the window: every trade inside the window has then been read. A list that ever comes back out of order isn't trusted. They need at least 10 trades closed in those 30 days, on at least 5 different days. A trader with more than 1,000 trades closed in 30 days can't be read this way and waits for kolstake's own readings instead. This history decides who qualifies; prices come from FOMO's 7-day leaderboard PnL (see How prices are set), and contest scores from FOMO's 24-hour PnL leaderboard (see How a score is measured).
- Equity
- Positive spot holdings when the roster is frozen, and no open perpetual futures.
- Coverage
- Every holding must have a price, and the holdings list must be complete. A list that is cut off counts as a missing reading.
The roster is on the KOLs page, with each qualified trader's price and the trades behind it. The same page lists the top traders on FOMO as candidates, with the time the list was captured: kolstake never lists an estimated or made-up trader.
Readings and data quality
Every number comes from automatic reads that are stored and published. Nobody types a figure in.
- Every hour
- FOMO's 24-hour PnL leaderboard is read at five minutes past each hour while a contest runs, and retried until half past if a read fails or is stale.
- The final board
- The first board FOMO captured after the end, and no more than one hour after it.
- Stored as received
- Each board is kept with its time, its fingerprint and every row, so a result can be checked line by line.
If no board is captured within an hour after the end, the whole contest is voided and every entry is refunded. Missing data is never guessed.
Pot, fee and payouts
The pot is every entry fee in the contest. When a contest settles successfully:
- 5% goes to the protocol treasury as the platform fee. It is taken only on success: a voided contest refunds everything.
- 95% is the prize pool.
- The number of paid places is 20% of entries, rounded up. Each place gets an equal share.
each place = (pot × 95%) ÷ prize places
Example: 100 entries at 0.01 ETH
| Pot | 1 ETH |
|---|---|
| Platform fee, 5% | 0.05 ETH |
| Prize pool, 95% | 0.95 ETH |
| Prize places, 20% of 100 | 20 |
| Each place | 0.0475 ETH |
Ties at the cutoff
Squads tied across the last paid place share the prizes for the places they cover. In the example above, if four squads tie for ranks 19 to 22, they cover places 19 and 20, so they share two prizes: 2 × 0.0475 ÷ 4 = 0.02375 ETH each.
Rounding
Prizes are calculated down to the wei (the smallest unit of ETH) and always rounded down. Any wei left over goes to the winning entry with the lowest entry number, so the whole prize pool is always paid out.
Claiming
Prizes are pulled, never pushed: you claim yours from My contests (in the wallet menu once you connect) with a transaction from your wallet. Each entry can claim once. Network gas is paid by you and is never part of the pot.
Settlement and challenges
- Within 24 hours of the end, the publisher calculates every score from the stored leaderboard and proposes the rankings and payouts on-chain, with the dataset and a report.
- For 24 hours, anyone can challenge the proposal for free, with no bond. A challenge names the record, the rule and the evidence.
- A committee of three, separate from the publisher, decides each challenge. Two of the three must agree, and every decision is published.
- If a challenge is upheld and the result can be corrected, a corrected proposal is posted and the 24-hour challenge window starts again.
- If the window passes with no open challenge, anyone can finalize the contest, and winners can claim.
The publisher can't sit on the committee. Nobody, including the publisher and the committee, can move escrowed ETH except through these rules.
Voids and refunds
A voided contest refunds every entry fee in full, with no platform fee taken. Network gas is not refunded. A contest is voided when:
- Fewer than 10 entries are confirmed by the start.
- No FOMO 24-hour PnL board is captured within an hour after the end.
- A challenge is upheld and the result can't be corrected.
- A challenge stays unresolved for 72 hours.
- The contest isn't finalized within 7 days of its end. Then anyone can trigger the refunds on-chain, without kolstake.
Each entry withdraws its refund once, from My contests.
Evidence
Every settled contest publishes, with a mirror copy that stays available if the main service is down:
- the contest ID and its manifest hash
- the dataset hash and the full dataset, including the leaderboard the scores came from
- the scoring version used
- the ordered rankings with every score
- the payout root, a single fingerprint that commits to every prize amount and is used to check each claim
With these, anyone can recompute the rankings and payouts. Hashes prove what was calculated from which data. They can't prove an outside data provider's numbers were right, which is why anyone can challenge a result for free.
Wallet and network
- Network
- Robinhood Chain, chain ID 4663.
- Currency
- Entry fees, prizes, refunds and gas are all in ETH.
- Explorer
- robinhoodchain.blockscout.com
- What you sign
- Entering, claiming and refunds are each a transaction you approve in your wallet. Native ETH needs no token approvals. kolstake never asks for your seed phrase or private key.
- Before you sign
- Check the network, the exact ETH amount and the contest in your wallet. Your entry counts only once its transaction is confirmed.
Contracts
The contracts are non-upgradeable. A contest keeps the terms it was published with until it is finalized or voided. Source code is verified on the explorer before any paid contest.
| Contract | Address on Robinhood Chain |
|---|---|
| Arena: schedule, entries, escrow, results and claims | 0x6bE206e4Ad33AbB28B3c5cAd4184f9E6CA568fDe |
| Trader registry | 0xd9846C74A3A0809323702431A681Ef4D2c8e0866 |
The committee is not a separate contract: its three members are fixed inside the arena, listed under Roles and powers.
What each action does
| Action | Who can call it | What it does |
|---|---|---|
createSeries | Keeper | Sets a daily or weekly schedule with a fixed entry fee and capacity. It can't be changed later. Emits SeriesCreated. |
launch | Keeper | Publishes the next contest of a schedule with its roster, ratings and manifest hash. Prices are computed on-chain. Emits ContestPublished and RosterPriced. |
enter | Anyone | Pays the exact entry fee in ETH with a valid five-trader squad. One entry per wallet. Emits EntrySubmitted. |
proposeResult / proposeVoid | Publisher | Posts the payout root and dataset hash within 24 hours of the end, or proposes a void if a trader failed the data rules. Emits ResultProposed. |
challenge | Anyone | Disputes a proposal during the challenge window, with no bond. Emits Challenged. |
voteDecision | Committee (2 of 3) | Each member votes to reject, correct or void. The second matching vote records the decision. Emits DecisionRecorded. |
finalize | Anyone | Makes an unchallenged result final once the window passes. Emits Finalized. |
voidContest / voidUnresolved | Anyone, when the rules allow | Cancels a contest that met a void condition, or that wasn't finalized within 7 days. Emits Voided. |
claimPrize | Winning wallet | Withdraws a prize once, with a proof bound to the entry. Emits Claimed. |
claimRefund | Entrant of a voided contest | Withdraws the full entry fee once. Emits Refunded. |
- Payouts
- Pulled, never pushed. Prizes and refunds are claimed by each wallet. Reused proofs, wrong wallets and double withdrawals are rejected.
- Escrow
- Holds entry fees only. It never funds operations, and no role can withdraw from it.
- Pause
- The admin can pause new entries and new proposals only. A pause never blocks finalized claims or timeout refunds.
Roles and powers
Every privileged power and who holds it. Holders are filled in when the contracts are deployed.
| Role | Power | Holder |
|---|---|---|
| Keeper | Creates schedules and publishes each contest with frozen terms, roster and prices. Records tracked traders. | 0x8b6a9Ca169ca5EbE881dc11eA5041bC4E15b366F |
| Publisher | Proposes contest results within 24 hours of the end. Cannot move funds. | 0x8b6a9Ca169ca5EbE881dc11eA5041bC4E15b366F |
| Committee member 1 (2 of 3 decide) | Decides challenges and publishes decisions. Separate from the publisher. | 0x7d8a9F0D1C476c22982652289E7FE4762Dcfbd79 |
| Committee member 2 (2 of 3 decide) | Decides challenges and publishes decisions. Separate from the publisher. | 0xa167fD5b053052CEA8DA15029D0C1bB2E34773dc |
| Committee member 3 (2 of 3 decide) | Decides challenges and publishes decisions. Separate from the publisher. | 0x41a49EC1F799A0fC58Ecf77069BA87B79d404337 |
| Admin | May pause new entries and proposals only. A pause never blocks finalized claims or timeout refunds. | 0x3a2F921ba1dBD7906FC42cF86B6044aB235106CC |
| Treasury | Receives only the 5% fee from successfully settled contests. | 0x3a2F921ba1dBD7906FC42cF86B6044aB235106CC |
No role can mint, withdraw escrowed entry fees or change an open contest's terms.
Token policy
KOLSTAKE is a ticker name. No token is needed to play. Holding a token never affects entry, scoring or ties, and a token contract address never switches contests on. No token contract address has been announced.
Risks
- Loss of entry fee. Most entries win nothing. Only enter with ETH you can afford to lose.
- Gas. Network fees are paid to the network and never refunded.
- Trust. You rely on the publisher to propose honestly, on the committee to judge challenges fairly, and on data providers for accurate account data. Challenges and published evidence reduce this risk but don't remove it.
- Smart contract risk. Reviewed contracts can still contain bugs.
- Wallet limits. Wallet support for Robinhood Chain varies. Check the network and amount in your wallet before you sign.
- Volatility. ETH prices move. Prizes and fees are fixed in ETH, not in any other currency.
- Past results. A trader's past performance, and their price, don't predict how they will do in a contest.