Protocol: keys, records, state machine
Who holds what, and how to check it.
Keys and addresses
| Role | Address |
|---|---|
| Keeper (Solana): fee payer, Memo signer | ErXXqZhENCKm4Ft3q32ixw1Fs512tXvTez3FzMmZwcG1 |
| House vault (Solana) | EPQafcAQEYMkgeKM84vCuFPsaCcAD3CGwq2DDsWDjHvG |
| House collector (Hyperliquid) | 0xDa18616eA1DCe0c11cAf26EbCd0134fbbaFA12a5 |
| House app builder address (index 0) | 0xbfB4c23CC67DEbab61284B482d9b83daF36C1831 |
Builder addresses are derived from one master secret, one index per app (index 0 is the house app). Each raise's escrow is a Solana key derived the same way; it holds no SOL, the keeper pays its fees and the rent of its USDC account. The protocol holds these keys: this is custody, and the records below are how anyone checks what the keeper did with them.
Records
Every transition is a Memo signed by the keeper, readable on Solscan:
hyperseed:<event>:<app>:<data> open the raise opens (target, minimum, cap, window) close funded or refunded at the end of the window refund one per transfer sent back live tranche 1 released tranche tranche k released, with the counts that met it return remainder returned (deadline or quiet code) epoch weekly claim and split, with the CSV hashes claim a backer's payout burn $SEED bought and burned check a first check (101 USDC) paid from the house vault
State machine
LISTED → OPEN (14 days) → FUNDED | REFUNDED FUNDED → LIVE (within 60 days) | RETURNED LIVE → TRANCHING → DONE | RETURNED (30 days without a routed fill)
What the site reads
Positions come from the escrows' USDC transfers, statuses from the keeper's records, fees from Hyperliquid's info API (referral), and counts from the builder_fills files. The keeper runs daily (fills, milestones, deadlines) and weekly (the epoch) as scheduled jobs. Every number on the site can be rebuilt from these public sources.