BlockReq
Back to all articles

Rpc Tutorials

CompanyPad company-market listen: catch RHC Launched

CompanyPad Robinhood Chain company-metric markets: public WSS eth_subscribe on PAD factory Launched (ticker / metricId / creator / curve / market), optional Settled follow. Register for 3M free requests monthly.

BlockReq EngineeringSeptember 13, 20265 min read

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.

UseEndpoint
Public HTTPShttps://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public
Public WSSwss://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public
PrivateTrailing 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 feelOn-chain signalWatch
Company market openPAD factory Launchedticker · metricId · creator · curve · market
Curve landscurve in Launched databonding / pricing curve address
Market settleper-market Settledepoch · value · beat · potSpent · nextEventAt
Radar tapehit → outboundDedupe = market + launchTx
ContractAddress (editable prefills)Role
PAD factory0xe7A07A059B9dF760AAdd3F877760d4fbC1d7D193primary Launched path
ORACLE0x35f8De73DD80FbAF9A04d2BF4484D6b604099649company-metric feed
CURVE_DEPLOYER0x372dCf7F2B1121453711f5CB3B27B3650c9e4916curve deploy
Project TOKEN (site ERC-20 / CA)0x05a70a73a787863d7259abfbcd84452ad2de714asite token
Uniswap v4 PoolManager (shared RHC)0x8366a39CC670B4001A1121B8F6A443A643e40951V4 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] = creator
  • data: 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); swap address for the card’s market
  • Decode epoch / value / beat → stack settled on the same market card
FieldRule
padcompanypad
market / key / creatorLaunched topics
curve / metricId / ticker / firstEventAtdecoded data
epoch / value / beatSettled layer (optional)
readyLaunched 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-demosexamples/companypad-rhc-company-market-listen (Vite+React+viem; open repo root in StackBlitz).

Product page: ZH · EN

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

  1. Launched arrives → decode market / key / creator / curve / metricId / ticker · open the window.
  2. Settled (optional, selected market) → stack epoch / value / beat / nextEventAt on the same card.
  3. OutboundCompanyPad RHC · ticker=NVDA · market=… · curve=… · creator=… · metricId=… · launchTx=… · blk=….
  4. 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

  1. Grain: CompanyPad RHC company-market open = PAD factory Launched listen.
  2. Recipe: Launched topic0 + editable PAD → open card; optional per-market Settled.
  3. Runnable: browser on BlockReq RH public WSS; demos1 paths above.
  4. 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.