CompanyPad company-market listen: catch RHC Launched
CompanyPad frames the tape as a Robinhood Chain company-metric markets registry—site config live → PAD factory Launched → ticker / metricId / creator / curve / market land as open cards. This post watches the company-market heartbeat: Launched arrives → decode the new market; pick a market to follow Settled epoch rhythm. HARMONIC RHC agent launch watches the Pons / Hookr agent launch path; here we watch the CompanyPad company-metric registry. Product: companypad.fun (config.js live).
Run on the public endpoint · blockreq.com register for 3M free requests monthly.
| Use | Endpoint |
|---|---|
| Public HTTPS | https://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public |
| Public WSS | wss://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public |
| Private | Trailing public → {API_KEY} (keys stay local) |
Chain: Robinhood Chain EVM chainId = 0x1237 (4663). Public endpoints · eth_subscribe · Plans · Register.
1. Hook: company-market registry × open card
| Tape feel | On-chain signal | Watch |
|---|---|---|
| Company market open | PAD factory Launched | ticker · metricId · creator · curve · market |
| Curve lands | curve in Launched data | bonding / pricing curve address |
| Market settle | per-market Settled | epoch · value · beat · potSpent · nextEventAt |
| Radar tape | hit → outbound | Dedupe = market + launchTx |
| Contract | Address (editable prefills) | Role |
|---|---|---|
| PAD factory | 0xe7A07A059B9dF760AAdd3F877760d4fbC1d7D193 | primary Launched path |
| ORACLE | 0x35f8De73DD80FbAF9A04d2BF4484D6b604099649 | company-metric feed |
| CURVE_DEPLOYER | 0x372dCf7F2B1121453711f5CB3B27B3650c9e4916 | curve deploy |
| Project TOKEN (site ERC-20 / CA) | 0x05a70a73a787863d7259abfbcd84452ad2de714a | site token |
| Uniswap v4 PoolManager (shared RHC) | 0x8366a39CC670B4001A1121B8F6A443A643e40951 | V4 pool layer hint |
On-chain snapshot (site RPC): marketsLength=2; sample NVDA market 0x094cA423757D96B5334AF5D5386a2105a8B3fCE1 · curve 0xffE27a2037faE2001ab3A2045d5B6f979Ba500Ce.
2. Event: Launched → optional Settled
Keep local JSON PAD_FACTORY + LAUNCHED_TOPIC0; optional SETTLED_TOPIC0 + selected market address. One RH public WSS: primary PAD Launched; after picking a card, parallel-subscribe that market’s Settled.
Step A · Subscribe PAD factory Launched
{
"jsonrpc": "2.0", "id": 1, "method": "eth_subscribe",
"params": ["logs", {
"address": "0xe7A07A059B9dF760AAdd3F877760d4fbC1d7D193",
"topics": ["0x8ef1af4ed9eefbc0fb2f9108f306c0eef37798141ad233ce9bfd344e1b8f756f"]
}]
}
topics[0]:Launched(address indexed market, bytes32 indexed key, address indexed creator, address curve, uint256 metricId, string ticker, uint64 firstEventAt)topics[1]= market ·topics[2]= key ·topics[3]= creatordata: curve · metricId · ticker · firstEventAt- Write
launchState[market], tag companypad
Step B · Optional: follow Settled on selected market
{
"jsonrpc": "2.0", "id": 2, "method": "eth_subscribe",
"params": ["logs", {
"address": "0x094cA423757D96B5334AF5D5386a2105a8B3fCE1",
"topics": ["SETTLED_TOPIC0"]
}]
}
- Event:
Settled(uint256 indexed epoch, int256 value, bool beat, uint256 potSpent, uint64 nextEventAt) SETTLED_TOPIC0: confirm against per-market ABI (editable in demo); swapaddressfor the card’s market- Decode epoch / value / beat → stack settled on the same market card
| Field | Rule |
|---|---|
pad | companypad |
market / key / creator | Launched topics |
curve / metricId / ticker / firstEventAt | decoded data |
epoch / value / beat | Settled layer (optional) |
ready | Launched seen |
Step C · Open-card fields
{ chain: "robinhood", pad: "companypad", market, key, creator, curve, metricId, ticker, firstEventAt, epoch?, value?, beat?, launchTx, blockNumber, ts }
Dedupe on market + launchTx; demo knobs: PAD / topic0, click card → Settled follow.
3. Browser demo (StackBlitz)
Main stage = new company-markets radar: default RH public WSS; PAD factory / Launched topic0 prefilled and editable — hit Start, stream Launched cards (ticker / metricId / creator / curve / market); click a card to optionally follow Settled. RPC settings stay collapsed secondary. Code lives in StackBlitz — the post only embeds the preview:
Repo: blockreq/blog-demos → examples/companypad-rhc-company-market-listen (Vite+React+viem; open repo root in StackBlitz).
WSS → wss://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public
HTTPS→ https://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public
env → PAD_FACTORY · LAUNCHED_TOPIC0 · SETTLED_TOPIC0 · ORACLE · CURVE_DEPLOYER · POOL_MANAGER
Keyed: swap trailing public for {API_KEY}. Quota: blockreq.com register for 3M free requests monthly.
4. Alert rhythm
- Launched arrives → decode market / key / creator / curve / metricId / ticker · open the window.
- Settled (optional, selected market) → stack epoch / value / beat / nextEventAt on the same card.
- Outbound →
CompanyPad RHC · ticker=NVDA · market=… · curve=… · creator=… · metricId=… · launchTx=… · blk=…. - Dedupe → one push per market + launchTx.
On disconnect: reconnect and re-subscribe; gap-fill with HTTPS eth_getLogs on the same PAD factory. POST → https://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public.
5. Summary + CTA
- Grain: CompanyPad RHC company-market open = PAD factory
Launchedlisten. - Recipe: Launched topic0 + editable PAD → open card; optional per-market Settled.
- Runnable: browser on BlockReq RH public WSS; demos1 paths above.
- Start: Public endpoints + blockreq.com register for 3M free requests monthly.
Next: widen metric filters → webhook → stack on-screen with HARMONIC agent launch / PONS one-pad. Docs · Pricing · Register.