Whitepaper · v3 · design draft
A daily stock-picking
tournament, settled on-chain
SKYRAT is the protocol. $CHEESE is the currency. A Seat is one NFT — a desk on the floor — and it is the only way in.
1 · What it is
Each trading day there is one pit. A Seat holder names a ticker and a direction. Every entrant is ranked by how far their ticker moved relative to its own normal volatility, and the top ranks split the pot. Entry costs one ticket, and a ticket is the only thing at stake.
A Seat arrives from mint already holding tokenized stock inside its own account, plus three tickets. That stock is never wagered. It leaves only when the Seat is burned.
Fantasy stocks, and the stock is in the seat.
2 · The Seat
An ERC-721 with a token-bound account per token, using the canonical ERC-6551 registry deployed on chain 4663. The account holds everything the desk owns:
- Backing stock — transferred in at mint, locked until burn.
- Tickets — pit entries, priced at a USD equivalent pegged at purchase.
- Locked winnings — 25% of every prize, released only on burn.
- Claimable winnings — the other 75%, withdrawable any time.
- Record — pits played, wins, best score, current streak.
Selling a Seat sells the desk, its stock, its locked winnings and its history in one transaction. Entry is keyed to the Seat, not the wallet — there is no ownership check at lock or settle, so if a Seat changes hands mid-pit the entry and the prize go to whoever holds it at settlement. That is deliberate, and it is the most distinctive surface in the design: scores are public while the pit runs, so a Seat leading with hours left is a tradable asset at a legible price.
Backing stock
30% of net mint proceeds buys tokenized equity, seeded into each Seat’s account at mint — roughly $0.81 per Seat at 3,333 × $3. Every Seat holds the same number of shares forever, and that holding rises and falls with the market. It is a market-linked floor, not a static one, and that is the whole reason for holding stock rather than cash.
Activation
Optional, and playing never requires it. An unactivated Seat can enter every pit, win every prize, and trade freely. Activation puts a Seat on the payroll: activated Seats share a slice of token trading fees, by weight.
| Tier | Cost | Weight |
|---|---|---|
| Base | $1 | 1.0× |
| Floor | $3 | 2.0× |
| Pit Boss | $9 | 3.5× |
90% of every activation fee is burned; 10% goes to treasury. Activation lapses when the Seat transfers, and unclaimed accrual is forfeited at that moment.
That last rule is the entire point. Seats are bought and sold in ETH, so the Seat economy contributed nothing to $CHEESE before activation existed. With lapse-on-transfer, every Seat sale creates fresh token demand.
3 · Scoring
For entrant i on symbol s, over the pit window:
r = price(close) / price(open) − 1 score = side × r / max(σ, σ_floor)
side is +1 or −1, declared at entry. σ is that symbol’s own recent volatility, an EWMA over the trailing 30 pit observations.
Why divide by volatility. Over one session a large-cap moves perhaps 1–2%. Ranked on raw return, everyone converges on the highest-beta ticker, ticker choice stops being a decision, and everyone on the same ticker ties. Dividing by the ticker’s own habit changes the question from which ticker moves most to which moves furthest beyond what it usually does.
σ is seeded at deployment from published historical daily volatility and converges on live data over the first six weeks. Whoever computes that seed can tilt early scoring, so the numbers and the method are published before launch and Season 0 is unranked regardless.
Payout ranks
| Entrants | Paid ranks |
|---|---|
| under 5 | pit voids, tickets refunded |
| 5 – 24 | winner takes all |
| 25 – 99 | top 3 — 55 / 30 / 15 |
| 100+ | top 10 — 30 / 18 / 12 / 9 / 7 / 6 / 5 / 5 / 4 / 4 |
Ties on the same ticker and side split the sum of the slots they span.
4 · Why daily, and the lag
One pit per trading day, scored close-to-close on the US regular session. This is a cost decision, stated plainly: the paid oracle rail costs $150/month per ticker against a launch budget near $9,000 total. The free push feeds update on a 24-hour heartbeat or a 0.5% move — which an hourly window routinely fails to clear and a daily window reliably does.
The consequence is accepted, not solved. The feed updates two to four times a trading day. On the day it was measured, the last update before the 16:00 close landed at 10:21 ET — five hours and thirty-nine minutes early. So the “close” a contract can read is not the close, and a player can be right and still lose because the move landed after the last update.
The other half of that: stale feeds are readable, and that is an edge. Anyone can compare the feed price to the real market price and see a ticker carrying catch-up into the next window. The mitigation is not to hide it but to publish it — the site shows per-ticker freshness live, so it is part of the visible board rather than private information held by whoever thought to check.
Hourly pits are the upgrade, gated on turnout paying for the subscription. That migration changes the oracle adapter and the schedule, and nothing else.
5 · Economics
| Per pit | Share |
|---|---|
| Prize pot | 87% |
| Treasury | 5% |
| Burn | 5% |
| Keeper tip | 3% |
The total deduction is 13%, inside the 10–15% band daily fantasy operators charge. Earlier drafts of this design claimed the same while deducting 28%; that was not true and would not have survived being checked.
Operator revenue comes from four places: the one-off Seat mint, a 1.5% fee on$CHEESE swaps, the 5% rake, and 10% of activation fees. Under a daily cadence the rake is not the main line — the trading fee is. That is more robust, because a quiet game with an active token still funds operations. It also means revenue partly depends on speculation, which is volatile, so fixed costs should not be sized against launch-week volume.
The trading fee also carries cold-start. At $10,000 daily swap volume, the 0.6% pot slice puts $60/day into prizes, against the $43.50 that 100 players at a $0.50 ticket would fund. At launch, traders fund the pot more than players do.
6 · $CHEESE
Total supply 1,000,000,000, fixed. No inflation and no emissions.Nothing paid out is newly minted; rewards come from allocation. Once the cold-start seed decays to zero at the end of Season 2, every $CHEESEpaid out was paid in by a player or a trader.
| Allocation | Share |
|---|---|
| Liquidity and launch | 25% |
| Treasury and operations | 25% |
| Community and airdrop | 20% |
| Team — 12-month cliff, 24-month vest | 15% |
| Ecosystem and partnerships | 10% |
| Cold-start pot seeding | 5% |
Demand, stated honestly. Tickets are pegged to a USD reference, so game demand is a fixed dollar bid rather than a fixed token bid: as the price rises each dollar buys fewer tokens, and usage alone cannot push the price far. That is the price of tickets that stay affordable. It should not be sold as a token that appreciates from usage.
7 · Risk
The backing stock is custodial
Every Robinhood stock token consults an issuer-run registry on every transfer. A blocker role can freeze any address with no timelock. A registry-level pause halts transfers across every stock token at once, and the event history shows it has been exercised. An admin burn needs no holder approval. These roles are held by a plain deployer wallet — no multisig, no timelock — and the powers are instantaneous and unilateral.
This exposure is identical for every participant on this chain, and sealing the stock in a different wrapper would not avoid any of it. The response is to size it so a total loss is survivable: that is what the 30% cap is for.
Claimed: every Seat holds real tokenized stock, checkable by anyone on-chain.
Never claimed: a guaranteed floor, a price that cannot go to zero, assets nobody can touch, or trustless backing.
No external audit
The contracts are self-reviewed against a written checklist, verified on the explorer at deploy, and exposed to six weeks of unranked live play in Season 0 before prizes carry value. A bug bounty is funded from treasury before launch. That is not the same as an audit, and it is not presented as one.
The oracle is not ours
The free push feeds exist for whoever sponsors them, not for us. Deprecation comes with two weeks’ notice, and after shutdown the read reverts — a hard stop, not a graceful degradation. A read access controller could be installed at any time, which would halt settlement outright. Settlement reverts rather than settling on a stale value, so the failure mode is a paused game, never a wrong payout.
Sybil resistance rests on supply
A hundred entries requires a hundred Seats bought on the open market. That makes the 3,333 cap load-bearing beyond fundraising: it cannot later become an open mint without replacing this defence with something else.
8 · Still open
This is a design draft, and the following are genuinely undecided rather than quietly settled: the collection’s own name; the token launch venue; whether activation should expire seasonally as well as on transfer; and the exact locked share of each prize, currently proposed at 25%. Three of the four launch tickers still need their price feeds confirmed on chain.
Contracts are not deployed. Nothing on this site is investment advice.