GRYD

Tap-to-predict price game — bet on where the price lands on GRYD, win the pool

GRYD

Created At

HackMoney 2026

Project Description

GRYD turns price watching into a multiplayer game. Instead of charts and order books, players see a simple grid of price buckets with a live price ticker and a countdown timer. Tap a cell to place your bet, and when the round ends, anyone who picked the right bucket splits the entire pool. Rounds are short — 15 seconds each — so the action never stops. No trading experience needed, no leverage, no liquidations. Just pick where you think the price is going and see if you're right.

The game is designed to be instantly accessible. Players sign in with just an email — no wallet extensions, no seed phrases, no gas fees. Behind the scenes, a smart account is created automatically, funded with free testnet tokens from the faucet, and ready to play within seconds. The entire onboarding flow takes less time than signing up for most apps. We wanted to remove every barrier between curiosity and gameplay.

Each room tracks a different asset — BTC, ETH, or BNB — with live prices streamed from Pyth oracles. The grid re-centers dynamically as the price moves, and pool multipliers update in real-time so players can see exactly what their potential payout looks like before the round closes. Past rounds stay visible on the board with winning buckets highlighted, giving players a sense of the price action and game history at a glance.

Under the hood, GRYD uses Nitrolite / ERC-7824 state channels to settle bets instantly without waiting for on-chain confirmations. Players deposit once, and from that point every bet, payout, and balance update happens off-chain at the speed of a websocket message. Funds remain secured by a custody contract on Base, so players can withdraw to their wallet at any time. This architecture lets us handle hundreds of bets per minute while keeping the experience snappy and gas-free.

GRYD is built for anyone who has ever stared at a price chart and thought "I bet it goes up." We're taking that instinct and turning it into a social, competitive, and genuinely fun experience — one 15-second round at a time.

How it's Made

We self-hosted a ClearNode instance running the Nitrolite ERC-7824 state channel protocol, deployed the Custody and Adjudicator contracts on Base, and whitelisted our custom tGRYD token as the channel asset. The game engine connects to ClearNode as the broker participant, opening app sessions to escrow each round's bets and closing them to settle payouts — all off-chain. Players deposit once through an on-chain channel, and from that point every bet and payout is just a signed state update over WebSocket. We configured the app sessions with quorum 50 and equal weights so the engine can submit state and close rounds unilaterally without needing the player to co-sign on every action.

Alchemy's Account Kit handles authentication and all on-chain transactions. Players sign in with email, get a LightAccount smart wallet, and every contract interaction — token approvals, custody deposits, channel resizes — goes through Account Kit's bundler and paymaster as gasless UserOperations. One fun challenge: the Nitrolite SDK uses viem's simulateContract internally, which chokes on AA smart accounts. We worked around it by encoding calldata manually with viem's encodeFunctionData and sending batched UserOps directly through Account Kit's sendUserOperation API — approve + depositAndCreate in one atomic gasless transaction.

Pyth's Hermes oracle feeds live BTC, ETH, and BNB prices into the engine via streaming SSE. The engine pushes price ticks to all connected players in real-time and snapshots the exact Pyth price at round close to determine the winning bucket. No delayed APIs, no stale prices — the settlement price is whatever Pyth says at the exact millisecond the timer hits zero.

Redis drives all the real-time state — player balances, active rounds, bet pools, multiplier calculations, and session tracking. Bet placement runs through atomic Redis pipelines that deduct balance, update the pool, and record the bet in a single operation. SSE streams are keyed per-player per-asset so balance updates and round transitions push to exactly the right clients instantly. Postgres via Prisma sits behind it for durable storage — player stats, round history — but Redis is why the game feels like it runs at the speed of a tap.

background image mobile

Join the mailing list

Get the latest news and updates