Open one.
Hold ten.

HOOD10 PLAY sells packs of the HOOD10 index. You pay in ETH, five cards are dealt, and every card is paid in the ten tokens the index holds — straight to your wallet, in about 2 seconds, with nothing to claim. The odds are published to the millionth, the randomness is sealed before you buy, and you can recompute any pack you have ever opened on this page.

Overview

a pack is a slice of the index

A pack is not a lottery ticket. It is a way to start holding the index. Every card is a slice of the same ten-token basket the treasury holds — a common card is a small slice, an epic card is a large one, and a rare card is not a different basket, it is a bigger one.

The machine holds the basket in inventory before it sells anything. Every open pack reserves the best card it could possibly deal, so a prize is never a promise against future sales — it is tokens the contract already has, waiting.

You sign once. Buying is the only transaction you send. The draw closes, a keeper reveals it, and your tokens land. If the keeper is asleep, anyone — you included — can settle the pack, and the result is the same.

The packs

three sizes, one ceiling

Three packs, three prices, one ceiling. The price buys you better odds at the same $5,000 best card, never a bigger one.

packpriceper cardexpected backP(epic)best cardodds of it
SEED PACK$50$10$455.7%500x · $5,0001 in 20,000
CORE PACK$250$50$2258.8%100x · $5,0000.013%
PRIME PACK$1,250$250$1,12512.4%20x · $5,0000.050%

Every pack is the same shape: three common slots, one mid slot, one hit slot. Only the hit slot changes between packs, and only in how far its tail reaches — 500x for the smallest pack, 20x for the largest — which is what keeps the best card at the same dollar figure across all three.

The hit slot cannot deal below 1.25x. So every pack contains at least one card worth more than that card cost you — guaranteed, not probable.

What is on a card

all ten seats, in kind

Always the same ten seats, always in index proportion — ten percent of the value in each. The basket is read from the treasury contract, not from a list someone typed, so a pack pays exactly the index the treasury holds.

  • DeltaDELTADelta
  • Cash CatCASHCATCash Cat
  • PonsPONSPons
  • StonkBrokerSTONKBROKERStonkBroker
  • Artificial InuAIArtificial Inu
  • microduckmicroduckmicroduck
  • The JuggernautJUGGERNAUTThe Juggernaut
  • The IndexIndexThe Index
  • TENDIESTENDIESTENDIES
  • YOLOYOLOYOLO

Payment is in kind: ten transfers, one per seat. A seat whose token refuses the transfer is booked to you and withdrawable later; the other nine land regardless. One bad token cannot hold a prize hostage.

The odds

published to the millionth

Rarity is defined against what a card cost, not in dollars — so a rung has the same rarity in every pack.

bandmultiple of card pricein a $10 cardin a $250 card
COMMONup to 1×$0 – $10$0 – $250
UNCOMMONover 1× to under 2×$10 – $20$250 – $500
RARE2× to under 4×$20 – $40$500 – $1,000
EPIC4× and up$40+$1,000+

Below is every rung a slot can deal and the exact weight it carries, per million. These are the numbers the contract stores; the page reads them, it does not summarise them.

cardbandBASEMIDHIT 500HIT 100HIT 20
0.15xCOMMON41.42%····
0.25xCOMMON25.12%····
0.4xCOMMON15.23%····
0.6xCOMMON9.23%22.09%···
0.8xCOMMON5.60%17.97%···
1xCOMMON3.40%14.62%···
1.25xUNCOMMON·11.90%37.82%32.59%27.09%
1.5xUNCOMMON·9.68%23.52%22.07%20.12%
1.75xUNCOMMON·7.88%14.65%14.94%14.95%
2xRARE·6.41%9.12%10.12%11.10%
2.5xRARE·5.21%5.67%6.85%8.25%
3xRARE·4.24%3.53%4.64%6.13%
4xEPIC··2.20%3.14%4.55%
5xEPIC··1.37%2.13%3.38%
8xEPIC··0.852%1.44%2.51%
12xEPIC··0.530%0.975%1.87%
20xEPIC··0.330%0.660%0.050%
40xEPIC··0.205%0.447%·
100xEPIC··0.128%0.013%·
250xEPIC··0.080%··
500xEPIC··1 in 20,000··

BASE · commons onlyMID · mostly uncommonHIT · the chase slot

The edge

10% · where it goes

Every pack pays back 90.00% of its price in expectation, whatever it costs. The other 10% is the house edge, and it is a property of the table shape rather than of any dollar figure — which is why a $50 pack and a $1,250 one land on the same number.

cards, in kindindex · protocol

The 90% is not profit for anyone: it is spent on the basket that gets dealt back out. Of the edge, seven tenths goes to the HOOD10 index — the same dividend sink the trade tax feeds — and three tenths to the protocol. The fee is taken at settlement, not at purchase, so a refunded pack returns every wei it was charged.

The randomness

sealed seed + block hash

Robinhood Chain has no VRF, and its prevrandao is a constant. So the machine brings its own randomness: a sealed-seed beacon. Two halves, from two parties who cannot see each other's hand.

stepwhowhat
1 · commitoperatorGenerates thousands of secret seeds and publishes one Merkle root over all of them — before any draw exists. A seed cannot be swapped after this.
2 · drawyouYour purchase joins the open draw. It closes 2 seconds later. Every pack bought in that window shares the draw.
3 · sealthe chainThe hash of the block after the draw closed is recorded. Nobody chooses it, and it does not exist until entries are already in.
4 · revealoperatorPublishes the seed for this draw with its Merkle proof. The contract checks it against the root from step 1 and computes keccak256(seed, blockHash, drawId).
5 · dealanyoneOne hash per card, walked down the published weights. Your tokens are sent. Usually the keeper does this a beat after the reveal.

Neither half is enough. The operator knows the seed but not the block hash until entries are closed. The chain produces the block hash but has no idea what the seed is. A player knows neither. The outcome is fixed the instant the seal lands, and that instant is after the last purchase.

What the operator can see. Once a draw is sealed, the operator can compute its outcome before revealing it. What stops them from sitting on a bad one is the next section: withholding a seed is the most expensive thing they can do.

If something goes wrong

every ending pays you

Three endings. Every one of them pays you.

endingwhat happenedwhat you get
REVEALEDThe normal case. Sealed, revealed, dealt.Your five cards, as drawn.
DEFAULTEDSealed, then the operator did not reveal within 15 minutes. They saw the outcome and sat on it.The best card every slot can deal. A $50 pack pays about $5,060. Covered by the reservation taken when you bought.
VOIDNobody sealed the draw inside the block-hash window. No outcome was ever computable, so there was nothing to withhold.A full refund of what you paid. The fee is not taken.

The asymmetry is deliberate. Defaulting pays the ceiling; voiding merely refunds. So the cheapest way for an operator to dodge a payout would be to stop the seal — and sealing is permissionless, pays a bounty, and happens for free on the next purchase. Every void is a public counter on the front page.

Verify a pack

recompute any ticket, here

Enter any ticket number. The page fetches the seed from the reveal transaction, the block hash from the chain and the tables from this site, then recomputes the randomness and all five cards in your browser — and compares them to what the contract paid. Nothing here trusts a number the contract stored.

The same arithmetic, by hand: rnd = keccak256(seed ‖ sealHash ‖ drawId), then for card i: keccak256(rnd ‖ ticketId ‖ i) mod 1,000,000, walked down that slot's weights until the running total passes it. The seed is the second argument of the reveal call for your draw; the seal hash is drawOf(drawId).sealHash.

Contracts

addresses · what the owner can do
machine0x4B387204FA1E9F95c32fa0B2a76470ffcf040eBB
beacon0x2EeAD9886E586b26A1Ca77201Fb605a5C94a4AD9
chainRobinhood Chain · 4663

What the owner can do

  • Add new packs and slot tables. Never edit or remove one — a sold pack settles against exactly what it was sold as.
  • Open and close packs for sale.
  • Re-price the basket and the ETH rate, for future purchases only. Sold tickets keep their price.
  • Deposit inventory, and withdraw inventory that no open pack has a claim on.
  • Pause sales. Settlement and refunds keep working while paused.

What nobody can do

  • Change the ladder. It is written once.
  • Change a pack or a slot after it exists.
  • Touch inventory reserved by a pending pack, or tokens owed to a player.
  • Pick a seed after seeing the block hash, or a block hash after seeing the seed.
  • Withhold a payout cheaper than paying it.

The contracts are open source, the odds file that generated the tables is in the repository, and this page's verifier runs the same hashes the contract runs. Where this page and the chain disagree, the chain is right and the page is a bug — the machine reads its state live, and so does the verifier above.