Docs

One shared vault of real Robinhood stock tokens on Robinhood Chain. Crack the combination from public clues; the first wallet to do it takes everything inside.

Jump to: rules · quota · fairness · vault · refill · API · risk · privacy

Rules

Set three numbers, 0–39, and try the lock. Every wrong try is public: the stethoscope reports whether one of your three numbers — the one it's listening to — was dead on, within 3, or cold, and the lock resets for five minutes. First wallet to hit all three takes everything inside.

The wheel and the lock

The combination is three numbers from 0 to 39 (64,000 possibilities), drawn at random when a round opens. The wheel wraps around: 39 and 2 are 3 apart.

The stethoscope

There are three tumblers, A, B and C. The stethoscope listens to one tumbler per try, in turn: try 1 listens to A, try 2 to B, try 3 to C, try 4 to A again. It shows whether your number for that tumbler was click (exact), warm (within 3 on the wheel) or cold (4 or more away). The other two tumblers tell you nothing on that try. The tumbler it will listen to next is shown before you try.

The lock reset

After every accepted real try the lock resets for 5 minutes, for everyone. When it opens, the first valid try to reach the server is accepted; the rest are told the lock is still closed (423) and keep their place for the next slot. You can arm a signed try ahead of time and it fires the moment the lock opens. Signing costs nothing and sends no transaction.

Heat map

The server publishes a heat map per tumbler built from all public lamps: numbers that are tested, cold, warm, click, or ruled out. Everyone sees the same map.

Practice

The practice lock needs no wallet. It has a private random combination per session and the same rules, but no reset and no prize. When you crack it, it reveals the combination and salt so you can check the commitment hash.

Quota

Real tries are free. The day is UTC and resets at 00:00 UTC. A wallet needs at least one transaction and a non-zero ETH balance on Robinhood Chain; any transaction counts. A try only counts against your quota when it is accepted, not when the lock turns it away.

Check any address: GET /api/quota?address=0x…

Fairness

The vault

The vault is a wallet run by our server, not a contract. Every refill and every payout is a public transaction on Robinhood Chain, listed on /proof with its hash. The combination is committed by hash before each round and revealed when the round is cracked.

When a round is cracked, the server transfers the whole balance of every stock token in the vault to the winning wallet, one transaction per token, one after another. ETH is never sent: the vault keeps it as gas. If a transfer fails, the server retries every minute and the page shows how many tokens were sent so far.

Tracked tokens: loading…. Anything else sent to the vault is not tracked and is ignored. Value shown on the site is what the vault's contents would fetch if sold now at the pool price (a Uniswap V3 quote); when only the pool's spot price is available it is labelled "spot, unofficial". Thin pools are labelled.

Refill

Seeded by the team. After launch, refilled by hand from creator fees. Not automatic, no schedule, no amount promised. Every refill is a public transaction listed on /proof.

When the vault is empty after a crack, the door stays open until it is loaded again. A new round opens by itself once the vault holds tokens again.

API

JSON, no keys, CORS open, no caching. Times are epoch milliseconds. Rate limits answer 429 with retryAfter in seconds.

EndpointWhat
GET /api/roundCurrent round: status, tries, which tumbler is next, opensAt, commit, vault contents with value, last crack, heat map, rules.
GET /api/attempts?round=&limit=Public try log (round id or all), newest first.
GET /api/quota?address=Eligibility, tries used today, limit, tier, reset time.
POST /api/try/newStart a practice lock; returns sessionId and the commitment.
POST /api/try{sessionId, combo:[a,b,c]} for practice; returns the lamp.
POST /api/attemptReal try: {address, combo, nonce, expires, signature, round}. Responses: 200 accepted, 423 locked, 409 already cracked, 403 (no-history, quota, ip-quota, consecutive-slot), 400, 503.
GET /api/proof?round=Commit, reveal after cracking, refills, payouts, rules.
GET /api/ledger?limit=Refill, payout and rules rows with transaction hashes.
GET /api/healthzServer and chain-read status.

Signed message

A real try is a personal_sign (EIP-191) of exactly this text. nonce is 8 to 32 hex characters, expires is an ISO UTC time at most 20 minutes ahead.

Latchdial round {round}
combination {a}-{b}-{c}
nonce {nonce}
expires {2026-10-28T12:00:00.000Z}

Risk

Not affiliated with Robinhood. Stock tokens are Robinhood Tokens on Robinhood Chain, not shares in a brokerage account. The vault is a server-run wallet; payouts depend on that server and on the chain being up. Nothing here is investment advice.

There is no payment per try and no promise of any amount: what is inside is whatever was last loaded, and you can read it on the site before you try. Value figures are estimates at pool price and move.

Privacy

IP addresses are hashed before storage and only used for the daily per-IP limit. Your signature, wallet address, numbers and time of each accepted try are stored and shown in the public log. Practice tries are kept in memory for two hours and never written to disk.