Launch App

Docs

Under the hood

The stack: a persistent crown store, live reads from both venues, and an onchain registry settled by score attestations.

The stack

Crown state lives in Redis: the sitting CEO, crowning time and price per ticker, plus each wallet's cooldown clock and crown count. Scores are read from the venues directly. Tokenized-share balances come from Robinhood Chain over RPC, and perp notional comes from the Hyperliquid info API. The platform holds no funds at any point.

Wallet

files a takeover

Score engine

reads both venues

House rules

cooldown, cap, threshold

Crown store

CEO + dividend stream move

a takeover request, end to end

Score attestations

The CrownRegistry contract on Robinhood Chain records every crown onchain and enforces the same rules in Solidity: the score threshold, the 48 hour cooldown, the 3-crown cap, and the 12% firing. The Hyperliquid leg of a score cannot be read from another chain, so takeovers settle against an EIP-712 attestation of the full score, signed by the platform scorer key. Anyone can verify an attestation against the published signer; only the scorer can mint one. Crowned, Deposed, and Fired events form the public ledger that dividend payouts settle against.

API reference

EndpointMethodWhat it does
/api/crownsGETevery crown with live dividend accrual
/api/crowns/{symbol}GETone crown's live snapshot
/api/score?symbol=&wallet=GETa wallet's real score, per venue leg
/api/takeoverPOSTfile a takeover; house rules enforced
/api/firingsGETthe termination record
/api/healthGETstore, chain, and Hyperliquid status

Responses are JSON, unauthenticated, and rate-limited at the edge. The takeover endpoint is geo-gated in the same regions as the app.