How it works
No hype, no promises — just what happens and how you can check it. The whole point of ROBIBALL is that you don’t have to trust us.
What ROBIBALL is
Every 14 minutes a ball drops. One token holder wins the pool, paid in ETH on Robinhood Chain. Your odds are proportional to how much of the token you hold — weight equals balance. That’s the whole game.
How the draw works
The winner is picked by a formula anyone can recompute:
seed = keccak256(encodePacked(seedBlockHash, roundNumber))
pick = seed mod totalWeight
winner = the holder whose cumulative weight
(holders sorted by address ascending)
first exceeds pickThe randomness comes from a Robinhood Chain block hash — the first block mined at or after the round’s end time. A block hash isn’t known until that block is produced, and nobody funding the round beforehand can predict it. Once that block exists, the winner is fixed and every input is public, so the result is inevitable and checkable — not a promise, a computation.
What the operator can and cannot do
Being honest about the trust model:
Can
- Fund the pool with ETH
- Set the token and round interval
- Exclude addresses (treasury, LP, burn) from winning
- Skip a round (pool rolls forward)
Cannot
- Choose or bias the winner
- Change the block hash the seed comes from
- Alter a holder’s snapshot balance
- Re-run a draw to get a different result
The exclusion list and the pool amount are set before the seed block is mined. After that block exists, the winner is determined by public data alone.
How to verify a draw yourself
Two ways, from easiest to most paranoid:
- Open the verify page for any round. It re-runs the exact draw function in your browser and shows a ✓ MATCH against the paid winner.
- On the verify page, toggle “re-read balances from chain” to reconstruct each holder’s weight straight from Robinhood Chain at the snapshot block — so you don’t even trust our stored snapshot.
- Fully by hand: find the seed block on Blockscout (/block/{n}), take its hash, compute keccak256(encodePacked(hash, roundNumber)), mod by the total weight, and walk the holder list. You’ll land on the same winner. The payout tx (/tx/{hash}) proves the ETH actually moved.
Pool funding (the honest part)
The pool is operator-funded ETH. It is not automatically generated by token burns or fees. If a burn metric is shown anywhere, it’s a display figure only — it does not feed the pool. We’d rather tell you this plainly than pretend the funding is trustless when it isn’t. What is trustless is the draw: once the pool is funded and the seed block is mined, the winner is out of anyone’s hands.
Odds and exclusions
Your weight is simply your token balance at the snapshot block, so your odds are your share of the eligible supply. Some addresses are excluded from winning — typically the treasury, liquidity pools, and burn addresses — because they aren’t real participants. The treasury is always excluded automatically; any other exclusions are listed in the admin-set list and reflected in every snapshot.
FAQ
What if a round has no eligible holders?
The round is skipped and its pool rolls forward into the next round. Nobody loses the pool; it just accumulates.
What if a payout fails?
The keeper retries with backoff and is idempotent — it records the payout transaction hash the moment it broadcasts, so a crash or restart never double-pays. A round is only marked paid once its transaction confirms.
Is the winner ever chosen by a human?
No. Once the seed block is mined, the winner is a deterministic function of public data. The operator has no lever to pick or nudge it.
Do I need to connect a wallet?
No. The site is read-only. You just hold the token; snapshots and payouts happen on-chain automatically.