How a market is decided
Fairness & settlement
The payout math
Pari-mutuel: there is no bookmaker taking the other side. The winning side splits both pools in proportion to stake, after fees. Fees are 2% of the pot to the protocol, plus 1% to the player who opened the duel, and never more than the losing pool, so backing the winner never returns less than your stake.
Example · NVDA vs AMD, player-made
Who holds what
Admin (deployer wallet)
CanList assets and their feeds, set fees (capped at 10% combined) and limits, pause new markets and bets, name operators.
CannotMove stakes, pick a winner, or block claims and refunds. Each market copies its feeds when it opens, so swapping a feed later can’t reach it.
Keeper (operator, optional)
CanSettle due markets so players find them final, and push a price into a relay feed when a deadline needs one. It can also pre-open the schedule without a seed and with no creator fee.
CannotSettle with a price other than the first round after the deadline. Anyone can settle; if the keeper is down, players settle their own markets when they claim.
Price feeds
CanRelay feeds with the same AggregatorV3 interface as Chainlink, fed from Yahoo Finance and Coinbase only when a deadline needs a price. Live prices on screen come from the same sources off-chain, at no gas cost.
CannotRewrite history: every round is stored, so a settlement can always be re-checked.
Contracts
Robinhood Chain Testnet · chain id 46630Price feeds (testnet relay, AggregatorV3)
On-chain proof
Deployed, and you can check it
Every contract and the transaction that created it, on both networks. Deployer, admin and treasury: 0x6C079ff20B77fBbc89Fb5C90c5f43Cf24166d7D4.