Every order on /trade carries the house builder code, so the house raise earns from day one

Protocol: keys, records, state machine

Who holds what, and how to check it.

Keys and addresses

RoleAddress
Keeper (Solana): fee payer, Memo signerErXXqZhENCKm4Ft3q32ixw1Fs512tXvTez3FzMmZwcG1
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.