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 indexA 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.
The packs
three sizes, one ceilingThree packs, three prices, one ceiling. The price buys you better odds at the same $5,000 best card, never a bigger one.
| pack | price | per card | expected back | P(epic) | best card | odds of it |
|---|---|---|---|---|---|---|
| SEED PACK | $50 | $10 | $45 | 5.7% | 500x · $5,000 | 1 in 20,000 |
| CORE PACK | $250 | $50 | $225 | 8.8% | 100x · $5,000 | 0.013% |
| PRIME PACK | $1,250 | $250 | $1,125 | 12.4% | 20x · $5,000 | 0.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 kindAlways 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.
DELTADelta
CASHCATCash Cat
PONSPons
STONKBROKERStonkBroker
AIArtificial Inu
microduckmicroduck
JUGGERNAUTThe Juggernaut
IndexThe Index
TENDIESTENDIES
YOLOYOLO
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 millionthRarity is defined against what a card cost, not in dollars — so a rung has the same rarity in every pack.
| band | multiple of card price | in a $10 card | in a $250 card |
|---|---|---|---|
| COMMON | up to 1× | $0 – $10 | $0 – $250 |
| UNCOMMON | over 1× to under 2× | $10 – $20 | $250 – $500 |
| RARE | 2× to under 4× | $20 – $40 | $500 – $1,000 |
| EPIC | 4× 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.
| card | band | BASE | MID | HIT 500 | HIT 100 | HIT 20 |
|---|---|---|---|---|---|---|
| 0.15x | COMMON | 41.42% | · | · | · | · |
| 0.25x | COMMON | 25.12% | · | · | · | · |
| 0.4x | COMMON | 15.23% | · | · | · | · |
| 0.6x | COMMON | 9.23% | 22.09% | · | · | · |
| 0.8x | COMMON | 5.60% | 17.97% | · | · | · |
| 1x | COMMON | 3.40% | 14.62% | · | · | · |
| 1.25x | UNCOMMON | · | 11.90% | 37.82% | 32.59% | 27.09% |
| 1.5x | UNCOMMON | · | 9.68% | 23.52% | 22.07% | 20.12% |
| 1.75x | UNCOMMON | · | 7.88% | 14.65% | 14.94% | 14.95% |
| 2x | RARE | · | 6.41% | 9.12% | 10.12% | 11.10% |
| 2.5x | RARE | · | 5.21% | 5.67% | 6.85% | 8.25% |
| 3x | RARE | · | 4.24% | 3.53% | 4.64% | 6.13% |
| 4x | EPIC | · | · | 2.20% | 3.14% | 4.55% |
| 5x | EPIC | · | · | 1.37% | 2.13% | 3.38% |
| 8x | EPIC | · | · | 0.852% | 1.44% | 2.51% |
| 12x | EPIC | · | · | 0.530% | 0.975% | 1.87% |
| 20x | EPIC | · | · | 0.330% | 0.660% | 0.050% |
| 40x | EPIC | · | · | 0.205% | 0.447% | · |
| 100x | EPIC | · | · | 0.128% | 0.013% | · |
| 250x | EPIC | · | · | 0.080% | · | · |
| 500x | EPIC | · | · | 1 in 20,000 | · | · |
BASE · commons onlyMID · mostly uncommonHIT · the chase slot
The edge
10% · where it goesEvery 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 hashRobinhood 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.
| step | who | what |
|---|---|---|
| 1 · commit | operator | Generates 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 · draw | you | Your purchase joins the open draw. It closes 2 seconds later. Every pack bought in that window shares the draw. |
| 3 · seal | the chain | The hash of the block after the draw closed is recorded. Nobody chooses it, and it does not exist until entries are already in. |
| 4 · reveal | operator | Publishes 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 · deal | anyone | One 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.
If something goes wrong
every ending pays youThree endings. Every one of them pays you.
| ending | what happened | what you get |
|---|---|---|
| REVEALED | The normal case. Sealed, revealed, dealt. | Your five cards, as drawn. |
| DEFAULTED | Sealed, 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. |
| VOID | Nobody 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, hereEnter 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| machine | 0x4B387204FA1E9F95c32fa0B2a76470ffcf040eBB |
| beacon | 0x2EeAD9886E586b26A1Ca77201Fb605a5C94a4AD9 |
| chain | Robinhood 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.