Start here

RH Grand Prix

Three thousand kart racers built from the memes of Robinhood Chain, a browser racer you actually drive, and a season system that settles on chain. This section documents all of it, including the parts that are not finished.

What this is

Robinhood Chain went live on 2026-07-01 as an L2 for tokenized equities. The launch materials never used the word meme. Within ten minutes somebody deployed CashCat, and within three weeks the chain was doing more daily actives than Base off the back of animal tickers. RH Grand Prix is a collection about that, built as a kart racer because a grid of nine mascots is what the culture already looked like.

The roster was picked on cultural weight rather than market cap, and the research behind every pick is in REPORT.md at the root of this repo. Every character here is drawn from scratch. Nothing traces a token team's art, nothing borrows Robinhood's marks, and nothing uses Nintendo's visual grammar. The reasoning is on the FAQ.

Start here

Pick the thread that matches why you opened this.

By the numbers

FigureValueWhere it comes from
Total supply3,000Hard cap in the contract. No mint function can exceed it.
Generative racers2,940IDs 1 to 2940, composited from per-faction layer families.
Legendaries50IDs 2941 to 2990. Hand-parameterized scenes of dated chain events.
One of ones10IDs 2991 to 3000.
Factions9550 / 450 / 400 / 400 / 320 / 280 / 240 / 180 / 120.
Tracks3Vault Alley, The Trenches, Night-Vision Swamp.
Chain ID4663Robinhood Chain mainnet, an Arbitrum Orbit L2 with ETH gas.
Contract tests3523 on the collection, 12 on the season registry.

What is built and what is not

The honest version, because a docs site that reads like a launch announcement is useless to anyone trying to check something.

PartStateDetail
ArtGeneratedAll 3,000 images and metadata documents exist, with a provenance hash over them.
ContractsWritten and tested35 Foundry tests pass. Nothing is deployed and no key has been used.
RacerPlayableThree tracks, nine karts, deterministic replay. Drive it at the Pit Wall.
Race APILive locallySign in, submit, standings. SQLite in development, Postgres needs one more Store implementation.
MintColdNo contract address is configured, so the mint page shows the cold garage state.
Season settlementNot runThe settle script and the SeasonRegistry contract exist. No season has been frozen.
TrophiesNot builtSoulbound ERC-1155s to each racer's token-bound account are designed, deliberately left out of the current contracts.

How the pieces fit

Five programs, each of which can be run and checked on its own. The arrows only ever point one way, which is why a bug in the site can never corrupt a race result.

  1. generator

    Nine SVG art rigs, one per faction, composited under a fixed camera from a deterministic seed. Writes 3,000 PNGs, 3,000 metadata documents, and the sha256 over all of them. Traits.
  2. contracts

    ERC-721A collection plus a season registry that stores Merkle roots and daily batch hashes. Foundry. Provenance and chain.
  3. game

    A zero-dependency canvas racer with a fixed 60Hz simulation. The same module runs headless on the server to replay a submitted run. Racing.
  4. rewards

    Validation, scoring, the season ledger and the Merkle settlement. Pure functions where it can be, SQL where it has to be. Rewards and seasons.
  5. web

    This site. Garage, Pit Wall, Race Control, Paddock Pass, and these docs. Thin wrappers over the four packages above. Race API.