BlockReq
Back to all articles

Rpc Tutorials

Robinhood Chain volume spikes: eth_subscribe for density & dog-tape numbers

Hang Robinhood Chain DEX volume density on BlockReq public WSS eth_subscribe—newHeads + narrow Transfer/Swap, tag bursts/gas/same-block clusters. Free 3M quota.

BlockReq EngineeringSeptember 6, 20265 min read

Robinhood Chain volume spikes: eth_subscribe for density & dog-tape numbers

X is loud: Robinhood Chain just printed ~$3.7B 24h DEX volume—first time past Solana since the July launch. Dog-tape energy hits the chain first: denser headers, gas spikes, pool-log numbers jumping. This post does one job: hang volume density on eth_subscribe, then tag bursts / gas spikes / same-block clusters locally.

Basics live in yesterday’s post: Watch Robinhood opens with eth_subscribe. Open-watch = rhythm; volume-watch = density and bursts. Trend: X trending.

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: EVM chainId = 0x1237 (4663). Free 3M Requests / 30 days · Public endpoints · eth_subscribe · Pricing.

1. What a volume spike looks like on-chain (look first)

Tape feelOn-chain signalWatch
Blocks denser, gas spikesnewHeads: gasUsed / baseFeePerGas, adjacent timestamp ΔtSteep vs sliding window
Pool just movedNarrow logs: pool Transfer / SwapEvent-rate jump
Same-block pin clustersMany Transfer / Swap share one blockNumberBucket by block ≥ N
Same pool hit repeatedlyMany logs → same addressGroup by address.toLowerCase()

Volume-watch is about density and spikes—how fast the numbers jump; heartbeat rhythm lives in the open-watch post.

2. Subscribe → tag (volume recipe)

One public WSS, two subs + a local tag layer.

Step A · Subscribe newHeads (heartbeat + gas)

{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}

From each push: gasUsed / baseFeePerGas steep vs prior head or near-N mean → gas-spike; logs landing in that block → same-block-dense.

Step B · Subscribe narrow logs (Transfer / Swap)

{
  "jsonrpc": "2.0", "id": 2, "method": "eth_subscribe",
  "params": ["logs", {
    "address": "0xYourPoolOrTokenAddress",
    "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
  }]
}
  • Sample topics[0] = ERC-20 Transfer; common Uniswap V2-style Swap topic0: 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822 (confirm against pool ABI).
  • Always include address. During spikes, subscribe Transfer + Swap on the same pool (two calls) and bucket by topic0.

Step C · Local tags

TagSignalDemo cutoff
vol-burstNarrow-log rate jump in a sliding window≥ 5 logs / 30s
gas-spikegasUsed steep vs prior headgasUsed > last × 1.5
same-block-denseMany rows share one blockNumber≥ 3 in one block
same-pool-streakSame address fires repeatedly≥ 2 same addr in block

Tags = interpretation layer: JSON pushes → dashboard chips / alert copy. Tune thresholds per pool.

3. Preview: jumping-numbers demo (StackBlitz)

Defaults to BlockReq public WSS; optionally narrow-subscribe Transfer / Swap and tag bursts / gas / same-block live. Code lives in StackBlitz—article embeds the preview only:

Repo: blockreq/blog-demosexamples/robinhood-volume-watch. For keyed: swap trailing public for {API_KEY}.

4. Reconnect + eth_getLogs backfill

  1. Reconnect → re-subscribe — exponential backoff; dedupe with a blockHash / txHash+logIndex Set.
  2. Backfill the gap — remember last blockNumber, then HTTPS in segments:
{
  "jsonrpc": "2.0", "id": 3, "method": "eth_getLogs",
  "params": [{
    "fromBlock": "0xFROM", "toBlock": "0xTO",
    "address": "0xYourPoolOrTokenAddress",
    "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
  }]
}

POST → https://robinhood-mainnet-rpc.blockreq.com/v1/rpc/public. During spikes, 200–500 blocks per call; for Swap backfill, swap topics[0]. Hit 429 / fast closes → narrow address further, or switch to keyed at peak.

5. Summary

  1. $3.7B volume spike = density first: denser heads, gas spikes, jumping pool logs.
  2. Recipe: newHeads + narrow Transfer/Swap → tags (vol-burst, gas-spike, same-block-dense, same-pool-streak).
  3. Disconnects: re-subscribe + segmented eth_getLogs + dedupe.
  4. Public WSS runs as-is; Free 3M covers short dog-tape sessions; long boards go keyed.

Series: Watch Robinhood opens—same WSS; open window for rhythm, volume window for density. Next: pin a pool watch list → wire tags to webhooks / dashboards → persist backfill checkpoints. Public endpoints · Plans & pricing.