HOODBETS← markets

docs

what is this

HoodBets is a parimutuel betting pool on real stock prices, running on Robinhood Chain. Every market is one question — e.g. "GME above $22.50 at the close?" — with two sides: OVER and UNDER. You bet native ETH. When the market settles, the losing pool is paid out to the winning side, proportional to stake.

There is no order book, no counterparty, no market maker. The crowd is the odds. The percentage you see on a market is simply the share of money on each side.

how settlement works (the important part)

Settlement is done by the contract reading a Chainlink price feed — the same oracles that secure lending protocols. When a market's settle time passes, the contract accepts exactly one price: the first oracle round published at or after settle time. It verifies this on-chain — a round that came too early, too late, or isn't the first one gets rejected by the contract itself.

Nobody — not us, not anyone — can override the oracle, pick a different price, or decide the outcome. The settle() function is public: you can settle the market yourself the second the round exists.

Price above strike → OVER wins. Price at or below strike → UNDER wins.

fees

The house takes 4% of the losing pool, only on settled markets. The rake is hard-capped at 5% in the bytecode and can never be raised. Winners always get their full stake back plus their share of the remaining 96%. Refunds carry zero fee.

Gas on Robinhood Chain costs a fraction of a cent per bet.

when do I get refunded

Markets flip to refund mode — everyone withdraws 100% — when:

Refund mode is triggered permissionlessly — you don't need us alive to get your money back.

how do I get ETH on Robinhood Chain

Robinhood Chain is an Arbitrum Orbit L2. Bridge ETH from Ethereum/Arbitrum using the official bridge (see chain.robinhood.com), or if you already trade on the chain, you have ETH there already. This app auto-adds the network to your wallet on connect (chain id 4663).

trust assumptions — the honest list

addresses

settle it yourself

Don't trust our bot? Call the contract directly once settle time passes:

cast send 0xA3cD4D80B48B272f14E233D266b1103900cb42fC \
  "settle(uint256,uint80)" <marketId> <firstRoundIdAfterSettleTime> \
  --rpc-url https://rpc.mainnet.chain.robinhood.com \
  --private-key <yours>

The contract verifies your round. If it's wrong, it reverts. If it's right, you settled the casino.