Pre-deployment. No contract is live. No external audit. The games below are a demo with play credits and no on-chain settlement.
CASINHOOD

A transparent bankroll.
Games on top.

Casinhood is a bankroll contract for Robinhood Chain. Anyone can back it with ETH and take the other side of every bet placed on European roulette, coinflip and dice. The house edge is fixed and stated, exposure is capped by the contract, and realized profit is split with token stakers.

The bankroll earns because players lose in expectation: 2.70 % of every roulette bet, 2 % of every coinflip and dice bet. There is no other source of return, and backers can lose ETH.

Chain
Robinhood Chain · 4663
Contracts
Not deployed
Admin keys
None. No owner, no pause, no upgrade
External audit
None
Flat illustration of a quiet vault room with a card table

Bankroll state

Read from the contract, nothing else. While nothing is deployed, every field below is empty on purpose.

Contract state

Not deployed
Bankroll
Reserved for pending bets
Free bankroll
Max payout per bet (1 %)
Realized house result
High water mark
Total wagered
Paid to operator
Paid to stakers

No figure is shown until a contract answers on chain. Nothing here is simulated.

Addresses

HouseNot deployed
StakingNot deployed
TokenNot deployed
LP managerNot deployed
Uniswap v4 PoolManager

Sources will be published and verified on Blockscout at deployment. Until then there is nothing to point a wallet at, and any address claiming to be Casinhood is not ours.

Back the bankroll

Opens at launch

Deposit ETH, receive shares in the bankroll. You then earn the house edge on every bet and pay every winner. A losing streak is your loss.

  • Deposits priced as if every pending bet loses; withdrawals as if every pending bet wins. Reading an outcome early buys nothing.
  • No lock-up and no admin. The last shares wait for pending bets to settle, a few blocks.
  • Withdrawals take a minimum amount out, so a burst of bets cannot shave your exit.
Your shares

Stake the token

Opens at launch

1,000,000,000 fixed supply, no owner, no mint, no tax, no roles. Staking pays the stakers' share of realized profit, in ETH, dripped over a day.

Staked · Claimable

No yield figure is shown, here or anywhere: there is no realized profit yet, so any APR would be invented. The ticker is not final.

Economics and exposure

What the contract takes, what it can lose in one bet, and who receives the difference.

House edge, per game

GameReturn on a winEdgePlayer's expected loss
European roulette36 / covered2.7027 %−0.027 ETH per 1 ETH
Coinflip1.96x2.00 %−0.020 ETH per 1 ETH
Dice, roll under98 / chance2.00 %−0.020 ETH per 1 ETH

Single zero, and the same edge on every square of the felt: a straight-up pays 36 for 1 over 37 pockets. Short sessions are noise in both directions; the edge is what remains over many bets.

Exposure limits

Worst case reserved per betexact, at placement
Maximum risk, one bet1 % of the free bankroll
Maximum risk, one EVM block5 % of the free bankroll
Minimum wager0.0001 ETH
Solvency rulebankroll ≥ sum of reserved payouts

These are exposure limits, not a promise of profit. They bound what one bet or one block can take from the bankroll; they do not stop a long run of player wins from eating into it.

Split of realized profit

  • 20 % operator — an immutable address written into the contract at deployment, paid by payDev(), which anyone can call.
  • 40 % token stakers — in ETH, dripped over a day so nobody can stake for one block and take a cut.
  • 40 % bankroll — retained, raising the value of every backer's shares.

High water mark first. While the house sits below its previous peak, nobody takes anything: losses are recovered by the bankroll before a single wei is shared.

Flat illustration of three stacked casino chips

Where the money sits

Every balance is an explicit book inside the contract: bankroll, reserved, amounts owed to players, the operator's share, the stakers' share. Nothing is derived from the raw ETH balance, so a donation cannot distort the books and cannot lock anything.

A payout that a receiving contract refuses is credited and claimable later, so one player cannot block anybody else's settlement.

How an outcome is made

Commit at one block, reveal with a hash that did not exist yet.

  1. Commit. Your bet is accepted at EVM block N, and the contract reserves its exact worst case right there.
  2. Reveal. From block N+2 anyone can settle it: you, this page, a keeper. The result is keccak256(blockhash(N+1), keccak256(betId, player, seed)) — a hash that did not exist when the bet was accepted. The reveal never reads blockhash(block.number − 1).
  3. Same answer, whoever asks. Early or late, by you or by a stranger, settling gives the same result.
  4. Anchoring. Every call to the contract copies readable block hashes into storage. Once anchored, a bet can always be settled and can never be refunded, so sitting on a losing bet in the hope of a refund does not work.
  5. Refund. Only if nobody touched the contract for 256 EVM blocks (about 40 minutes) does the hash go unanchored; then the wager comes back in full.
Flat illustration: a sealed envelope on one block, opened on the next

What you still have to trust

Robinhood Chain is an Arbitrum-style rollup with a single sequencer. It orders transactions and produces the block data behind blockhash, so in principle it could see or steer an outcome. Casinhood cannot remove that trust, and no on-chain casino on this chain can. What the contract does guarantee is that nobody else chooses: not the player, not the operator, not a keeper.

Verify a settled bet

Nothing is deployed, so there are no on-chain bets to verify yet. Demo rounds can be recomputed here: play one below, then enter the id printed in the result.

Demo play credits only

The same payout math as the contract, run in your browser with credits that are worth nothing. No wallet, no settlement, no deposit. Random entropy stands in for the block hash.

Demo credits1.0000
Simulated table: bankroll 100 cr, max payout per bet 1.0000 cr
This session
Stake0
Worst case0
Table max1
Chips0/20

Pick a chip, then tap the felt. Edges and corners take splits, corners, streets and six lines. Every square carries the same 2.70 % edge.

Risks and status

Stated with the same weight as everything above.

Risks

  • Players lose in expectation. The edge is 2.70 % on roulette and 2 % on the other tables. Play only with what you can afford to lose, and only where it is legal for you.
  • Backers can lose ETH. Backing the bankroll is taking the other side of the bets: over a bad run, share value falls.
  • The sequencer is trusted. One operator produces the block data the outcomes are drawn from.
  • No external audit. The code has been tested and reviewed internally only.
  • Settlement needs someone to call it. A keeper settles and anchors; if nothing touches the contract for 256 blocks, a pending bet is refunded instead.
  • Smart contract risk. An undiscovered bug can lose funds. There is no admin key to pause or to reverse anything — by design, in both directions.

Where the build stands

Contracts written and tested62 tests, incl. fuzz, invariants and attack tests
Full dry run on a chain forkDeploy, liquidity, bets, settlement, payouts
Independent reviewOne, internal. 4 findings, all fixed
External auditNone
Deployed on Robinhood ChainNot yet
Token tickerNot final

Casinhood is built on Robinhood Chain. That is a choice of network and implies no relationship with, or endorsement by, Robinhood.