Data access · 16 min read

Robinhood Chain data: what five weeks of mainnet look like onchain

Robinhood Chain opened to the public on July 1. As of August 7 it has traded $19.42B across its swap pools, has $572.5 million of dollar tokens in circulation with $270.9 million of that inside Morpho Blue's lending market, and hosts 96 tokenized stocks worth at least $27.3 million.

Every number here is read out of the chain's own logs. No oracle, no price feed, no balance queries: quantities are added up from transfer events, and the prices come from the chain's own pools, hour by hour for ETH and day by day for the stock tokens. Every query is either printed in full or given as the exact filter that produced it, and one short Pipes SDK script reproduces the USDG float, the larger of the chain's two dollar tokens, to the cent.

Updated 2026-08-07 · By the SQD team

1. The money on the chain

Genesis → August 7, 2026 · reconstructed from logs, no price feed five weeks of public mainnet
DEX volume
$19.42B
priced by the chain's pools
Stablecoin float
$572.5M
USDG + USDe, netted from logs
Inside Morpho Blue
$270.9M
from 220,350 transfers
Equity float
$27.3M
33 pool-priced tokens, a floor
Corporate actions
12
incl. a 4-for-1 split

When we profiled Robinhood Chain's tokenized stocks in early July 2026, the chain's entire financial history fit in a glance: an $18.4 million stablecoin float, 313 stock-token transfers, a tokenized float worth about 36 shares. Five weeks of public mainnet later, the same queries return something much larger. Here is the July snapshot against the August 7 pin, re-measured from the same logs:

Measure July guide (block 323,791) Aug 7 pin (block 30,166,660)
Stablecoin float (USDG + USDe)$17.9M + $0.5M$572.5M
DEX volume per day55 v4 swaps, ever$607M across 4.88M swaps (Aug 6)
Tokenized instruments with issuance2596 of 96 in the official registry
Equity float, marked at pool prices~36 shares$27.3M
Largest netted protocol balancen/a$270.9M in Morpho Blue
Corporate actions recorded4 events, 1 token12 events, 7 tokens
Chain length323,791 blocks30,166,660 blocks · 100ms cadence

A note on method before the first chart. SQD's Portal serves this chain's raw history: headers, transactions, logs, traces. It does not serve reconstructed state, so there is no balanceOf to call and no TVL endpoint to read. Everything financial in this guide is therefore built from arithmetic on events: supplies netted from mints and burns, protocol balances netted from transfers in and out, volumes summed from swap events, and prices taken from the pools themselves, volume-weighted by hour for ETH and by day for each stock token. Every number here is therefore a sum over a fixed list of log events in a fixed block range, which anyone with access to the dataset can recompute.

2. DEX volume, priced by the chain itself

The hardest number to get right here is dollar volume, because swap events carry amounts, not prices. The standard shortcut is an external price feed; this guide does not use one. Instead, the pricing comes from inside the chain. The anchor is the 154 native ETH/USDG and WETH/USDG pools on the Uniswap v4 singleton, which clear $529M of lifetime volume between them; the singleton is one contract and carries the pool id in the first indexed topic, so the whole set is a single cheap filter. It is not the chain's deepest ETH market: 14 Uniswap v3 pools on the same pair carry $3.20B. Deriving the price from those instead moves the hourly figure by 0.04% on average and never by more than 2.4%, so the choice of anchor is not doing any work here. Divide the USDG that flowed through the anchor pools by the ETH that flowed the other way, hour by hour, and you get a volume-weighted ETH price for every hour from 19:00 UTC on July 1 onward; each swap elsewhere is then valued at the ETH price of its own hour, not a whole-day average. A swap against USDG or USDe is worth its dollar amount at face value. Between the two, 96% of all swaps get a dollar value with zero external inputs.

Why hourly, and not one price per day. A daily average is the easy version and it is what the first pass of this guide used, but it charges every trade in a day the same price for ETH. That is a poor fit here: across the five hours of July 1 that carry a price, the chain's own ETH quote ran from $1,910.84 at 19:00 UTC down to $1,617.50 at 23:00, a spread of 18.1%, and because the daily figure is itself volume-weighted it tracks the busiest hours and misprices the rest: it lands within 0.3% of the 20:00 hour that carried the most volume that day, and 15.0% away from 19:00, the first hour in the series. Repricing the whole history hour by hour moved the lifetime total by 0.07%. The largest single-day change is July 1 at 12.3%, and almost none of that is the reprice: the hours before 19:00 that day have no ETH price, so 1,371 ETH of volume the daily method did value drops out, worth 15.0 points, while repricing the five hours that do carry a price adds 2.7 points back. Away from that boundary day no day moves by more than 1.5%. The small total is not an accident either: the daily figure was already volume-weighted, so it was never a flat average of the day's quotes. The case for hourly is the method rather than the size of the correction, since no trade is charged a price from a different part of the day. Finer still would be better, and the exact answer prices every swap at its own execution ratio, but the ETH/USDG pools do not trade in every minute; an hour is the smallest slice where they reliably clear enough to set a price. That floor, not the chain's opening, is what sets the start of the series: the anchor pools first traded on June 24, but across 59 hours before 19:00 UTC on July 1 they cleared only $5,036 between them, and the series begins at the first hour that did more than $5,000 on its own. Inside the series exactly one hour, 03:00 UTC on July 6, saw those pools trade less than $5,000, and it inherits the last price that did clear the bar. Hours before the series starts carry no ETH price at all, so the 60,712 ETH-side swaps in them are left unpriced rather than valued at a stale rate; swaps against a dollar token in those hours still count at face value, $51,976 in total.

Daily DEX volume from genesis
Uniswap v4 + v3 + v2 pools · dollar amounts at $1, ETH amounts at the chain's own hourly ETH/USDG price
$19.42B
genesis to Aug 7
registry equities, dollars, ETH all other tokens $0.25B $0.5B $0.75B $1B $1.25B $1.5B $1.28B Jun 22 Jul 1 Jul 8 Jul 15 Jul 22 Jul 29 Aug 6
Every Uniswap-family swap event in the pinned window, 110,863,045 of them across v4, v3, and v2 pools, aggregated per pool per hour inside the stream (no raw event was stored) and priced hour by hour from the chain's own pools. The lower band is volume between registry equities, dollar tokens, and ETH; the upper band is everything else, mostly tokens launched on the chain itself. Swaps in pools where neither token is a dollar token or ETH, 4% of the total, are excluded rather than guessed at, so the series is a floor.
The same days, as a public dashboard publishes them
DefiLlama daily total for the chain, all protocols · same dollar scale as above
$16.52B
their Jun 20 to Aug 6 total · $19.26B ours
dashboard-published total raw-event series from the chart above $0.25B $0.5B $0.75B $1B $1.25B $1.5B the July gap: pairs the dashboard does not track August: the two agree within a few percent Jun 22 Jul 1 Jul 8 Jul 15 Jul 22 Jul 29 Aug 6
The reference series is DefiLlama's published daily volume for Robinhood Chain (all protocols, fetched August 7, 2026), with this guide's raw-event total overlaid as the line. Their adapter values a v2 swap the way this guide does, at the amount of whichever side of the pair is on its list of core assets rather than the sum of both sides, so for the pools both series see, the gap is not about how one trade is counted. It is about which pools are counted at all: their Uniswap v2 adapter tracks only the top 42 pairs per factory by pooled value, and their v3 and v4 adapters drop pools their wash-trading filter flags. Those exclusions bite hardest through July, when the non-registry pairs were busiest; from August 1 the two measurements land within a few percent of each other (August 6: $582.9M there, $607.2M here).

The split in the first chart matters as much as the total. Of the $19.42B, only $4.14B moved between assets with a registry identity: the tokenized equities, the two dollar tokens, and ETH. The other $15.28B sits in pairs involving tokens the registry does not list, led by memecoins launched on the chain itself; on the heaviest July days a handful of anonymous WETH pairs cleared $75M to $90M each on a few thousand swaps apiece. On the largest of them, the WETH bought and the WETH sold over the day matched to within a single unit out of 24,456, which is round-tripping rather than accumulation. Both bands are real swap events in canonically-created pools, and separating them by token identity keeps speculative churn from inflating the size of the market, and the market from lending credibility to the churn. It bears on the second chart too, though only in direction: across July this guide's series runs $2.72B above the published one, which is 20% of the non-registry band over the same days rather than all of it. Count every event and July comes out higher; once that activity faded, the two measurements converged.

The raw material is three topic filters, one per pool design. Uniswap v4 concentrates everything in one contract, so its filter is a single address and the pool appears as the first indexed topic; v3 and v2 pools each emit from their own address, mapped back to token pairs through PoolCreated and PairCreated events. This is the v4 sweep; amounts are signed 128-bit integers in the first two data words:

curl https://portal.sqd.dev/datasets/robinhood-mainnet/stream \
-H 'x-api-key: <your key>' -H 'Content-Type: application/json' \
-d '{
"type": "evm",
"fromBlock": 0, "toBlock": 30166660,
"logs": [{
"address": ["0x8366a39cc670b4001a1121b8f6a443a643e40951"],
"topic0": ["0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f"]
}],
"fields": {
"block": { "number": true, "timestamp": true },
"log": { "topics": true, "data": true }
}
}'

Where that volume happens is lopsided: native and wrapped ETH against USDG carry $3.74B of lifetime volume between them, 19% of everything priced, spread over 9.98 million swaps at a mean of $375 each. Tokenized stocks are real but smaller: NVDA cleared $147.1M of lifetime volume, GME $85.4M, SPCX $65.8M, AAPL $17.3M, and the 96 registry tokens together $391.0M.

Pair (lifetime, all pools) Volume Share of priced volume
WETH/USDG$3,480,319,99417.9%
CASHCAT/WETH$753,092,1563.9%
VIRTUAL/WETH$286,302,5201.5%
ETH/USDG$259,458,3401.3%
CASHCAT/USDG$218,602,4391.1%
PONS/WETH$140,859,6480.7%
NVDA/USDG$132,787,5420.7%
PIPEDOG/WETH$123,662,8730.6%
everything else$14,023,091,25072.2%

The table also shows something the tokenized-equity framing can obscure: this chain grew a memecoin economy within weeks. The largest non-ETH pairs are tokens outside the official registry: CASHCAT cleared $1.10 billion across its pools, VIRTUAL $341 million, PONS $216 million, PIPEDOG $125 million. And buried in the long tail is a warning about canonical addresses: a token calling itself GME, at an address the registry does not list for its GameStop equity token, cleared $65 million on its own, $32 million of it against USDG. On a chain with an official contract registry, supply and volume math is only as good as the address list it starts from.

Method notes. Volume counts each swap once, whichever way it traded, at the dollar value of whichever of its two tokens is a dollar token or ETH, across every pool the canonical factories ever created; pools pairing two unpriced tokens are excluded rather than guessed at (4,931,473 swaps, 4% of the total, sit in pools pairing two tokens this method cannot price). The pool census is itself a finding: 806,101 pools and pairs created since genesis across the three designs, 299,183 of them on the v4 singleton and 63,747 of those against USDG.

3. The dollar tokens: USDG, USDe, and Morpho

A dollar-pegged token's supply is its dollar float, valued at $1 a unit. Mints are transfers out of the zero address and burns are transfers into it, so one filtered query per token, cumulated by day, is a supply curve; as a check on the method, running it back to the July guide's snapshot returns $17,919,400 of USDG, matching what that guide reported from a different query five weeks earlier. For a protocol contract, the same arithmetic gives holdings: sum transfers whose recipient topic is the contract, subtract those whose sender topic is it. Topic filters take arrays and the logs field takes multiple selectors, so a single request streams both directions for five protocol contracts at once:

curl https://portal.sqd.dev/datasets/robinhood-mainnet/stream \
-H 'x-api-key: <your key>' -H 'Content-Type: application/json' \
-d '{
"type": "evm",
"fromBlock": 0, "toBlock": 30166660,
"logs": [{
"topic0": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],
"topic2": [
"0x0000000000000000000000009d53d5e3bd5e8d4cbfa6db1ca238aea02e651010",
"0x000000000000000000000000de770c84fe66e063336b31737cfe9790f18c4087",
"0x00000000000000000000000094bab9693ba2f6358507effcbd372b0660afff9d",
"0x00000000000000000000000014b107cf534239c59571b066cb6497a321da897c",
"0x000000000000000000000000fd2fd4b046136b540a56c11c75ac679ae7d1db24"
]
}, {
"topic0": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],
"topic1": [
"0x0000000000000000000000009d53d5e3bd5e8d4cbfa6db1ca238aea02e651010",
"0x000000000000000000000000de770c84fe66e063336b31737cfe9790f18c4087",
"0x00000000000000000000000094bab9693ba2f6358507effcbd372b0660afff9d",
"0x00000000000000000000000014b107cf534239c59571b066cb6497a321da897c",
"0x000000000000000000000000fd2fd4b046136b540a56c11c75ac679ae7d1db24"
]
}],
"fields": {
"block": { "number": true, "timestamp": true },
"log": { "address": true, "topics": true, "data": true }
}
}'
The dollar balance sheet, assembled from Transfer events
June 15 to the August 7 pin · mints minus burns for the floats, inflows minus outflows for Morpho
$572.5M
combined float at the pin
total float USDG USDe inside Morpho Blue $200M $400M $600M $572.5M Jun 15 Jul 1 Jul 15 Aug 7 USDe and Morpho move together: 99% of USDe sits inside Morpho Blue (dashed)
No balance lookups anywhere in this chart: 3,380 USDG mints against 3,971 burns, 1,890 USDe mints against 684 burns, and 220,350 transfers in and out of the Morpho Blue singleton, cumulated by day from genesis (the axis starts June 15; before that both floats were flat and small). The dollar system arrived with public launch.
Measured from transfer logs, at the Aug 7 pin Value
USDG float (3,380 mints, 3,971 burns)$330,185,702
USDe float (1,890 mints, 684 burns)$242,352,185
Combined dollar float$572,537,887
Morpho Blue balance (netted from 220,350 transfers)$270,916,727
Spark savings (spUSDG) balance$12,394,645
Lighter exchange core balance$6,306,455

The composition is the part worth noting. The chain's two dollar tokens are close in size but doing different jobs: $239.6M of the USDe, 99% of every unit on the chain, sits inside Morpho Blue as a lending-market balance, while USDG circulates through trading, transfers, and the 63,747 USDG pools from the previous section. The largest balance among the contracts measured here is not equity-related at all; it is a synthetic-dollar lending market that went from $934,055 on July 1 to $270.9M five weeks later, with the logs giving its exact composition every day in between. The float moves in both directions: over August 6 and the morning of August 7 the USDG supply contracted by $27.4M, burn by burn, all of it visible at the end of the chart.

Two limits, and one double-counting risk. The limits: the Uniswap v4 singleton's own balance is excluded because flash accounting makes its settlement traffic enormous (64,000 to 155,000 transfers per fifty-minute window across three samples), and contracts holding native ETH rather than WETH need traces, not transfer logs. The risk: much of what sits inside Morpho arrived through curator vaults, so a tally that counts the curator's assets and Morpho's assets as separate line items restates the same dollars twice. Netting per contract makes the double count impossible: each unit sits in exactly one balance, because the transfer that moved it went in exactly one direction.

4. The equity ledger: 96 tokens, priced by their own pools

Robinhood's official contract registry lists 96 stock and ETF tokens, from AAOI to ZS, plus canonical WETH and USDG. All 96 show issuance activity in the logs within this guide's window: 13,916 mint and burn events on the equity tokens, against 73,420,659 transfer events moving them around, counted across the 97 tokens on the chain that emit the scaled-UI transfer event (the registry's 96, plus one fund token). Supply is the same arithmetic as the stablecoins, netted per token from its issuance events, with one extra step: ERC-8056 tokens carry a UI multiplier for corporate actions, so raw units are scaled by each token's multiplier at the relevant timestamp (CRWD's is 4.0 since its July 2 split; six others have moved off 1.0).

Shares are quantities; the pools supply the prices. For each token with a USDG pool that cleared at least $10,000 in a day, dividing the USDG that moved through the pool by the shares that moved through it gives a volume-weighted daily price, and 33 of the 96 tokens clear that bar. Marking each token's outstanding shares at its most recent liquid-day price values the whole tokenized-equity float:

The tokenized-equity float, marked at onchain prices
shares netted from issuance events × each token's own pool VWAP · June 20 to August 6
$27.3M
at the end of Aug 6
NVDA SPCX TSLA AAPL SNDK 28 others $10M $20M $30M $27.3M Jun 22 Jul 1 Jul 8 Jul 15 Jul 22 Jul 29 Aug 6
The 33 tokens with liquid USDG pools, valued daily. The 63 registry tokens holding shares without a liquid pool are excluded rather than guessed at, so this is a floor on the float's value, not an estimate of it.

The same arithmetic, read per token, shows what holders actually own, token by token. NVDA is the most valuable float and the busiest ledger, 55,300 distinct wallets have touched it. GME has the most shares outstanding, 63,563 of them. And single shares run expensive at the top of the price board: ASML marks at $1,674.07 (its last liquid day was August 4) and SNDK at $1,255.92:

NVDA $220.17
$3.97M
18,026 shares · 55,300 wallets
SPCX $110.69
$2.22M
20,094 shares · 40,199 wallets
TSLA $320.05
$1.65M
5,169 shares · 34,721 wallets
AAPL $312.96
$1.62M
5,166 shares · 42,388 wallets
SNDK $1,255.92
$1.35M
1,072 shares · 13,953 wallets
MU $872.23
$1.29M
1,482 shares · 17,745 wallets
SPY $770.65
$1.23M
1,600 shares · 19,286 wallets
GME $19.07
$1.21M
63,563 shares · 19,590 wallets
GOOGL $362.23
$1.04M
2,878 shares · 33,832 wallets
AMZN $273.48
$1.02M
3,724 shares · 24,002 wallets
AMD $483.69
$0.93M
1,930 shares · 24,487 wallets
USO $115.94
$0.85M
7,341 shares · 4,241 wallets

Issuance is not uniform, either. GME alone accounts for 3,729 of the 13,916 issuance events, more than a quarter of all mint and redemption traffic on the registry, against 422 for NVDA and 39 for MSFT: the meme stock's holders cycle in and out of the tokenized wrapper at a pace nothing else approaches.

One chart is worth separating out, because it answers a common question about tokenized stocks: what price do the onchain markets actually clear at? Here is NVDA priced purely by its own pools, one volume-weighted point per day, no oracle anywhere in the pipeline:

NVDA, priced by its own pools
daily VWAP: USDG through its v4 and v3 pools divided by shares through them · 29 days cleared the $10k liquidity floor
$220.17
Aug 6 VWAP
$180 $200 $220 $240 $220.17 Jul 9 Jul 18 Jul 28 Aug 6
The series is a function of the chain's own swap events alone, reproducible from two topic filters. Whether it tracks Nasdaq is checkable by anyone with a quote screen; no quote from outside the chain goes into the series itself.

The issuance sweep is one filtered query, the same shape as a stablecoin supply query but on the scaled-transfer signature (its topic0 is TransferWithScaledUI). Net supply needs both directions, so the request carries three selectors: mints pin topic1 to the zero address, and redemptions pin topic2 to the zero address or to 0xdEaD…dEaD. Mints alone give gross issuance, not the float:

curl https://portal.sqd.dev/datasets/robinhood-mainnet/stream \
-H 'x-api-key: <your key>' -H 'Content-Type: application/json' \
-d '{
"type": "evm",
"fromBlock": 0, "toBlock": 30166660,
"logs": [
{ "topic0": ["0x37e7f0db430edc9dd31bc66f25f8449353aa0818f503b906747dd8f286cd3802"],
"topic1": ["0x0000000000000000000000000000000000000000000000000000000000000000"] },
{ "topic0": ["0x37e7f0db430edc9dd31bc66f25f8449353aa0818f503b906747dd8f286cd3802"],
"topic2": ["0x0000000000000000000000000000000000000000000000000000000000000000"] },
{ "topic0": ["0x37e7f0db430edc9dd31bc66f25f8449353aa0818f503b906747dd8f286cd3802"],
"topic2": ["0x000000000000000000000000deaddeaddeaddeaddeaddeaddeaddeaddeaddead"] }
],
"fields": {
"block": { "number": true, "timestamp": true },
"log": { "address": true, "topics": true, "data": true }
}
}'

Two details from the ledger worth knowing. The equity tokens never stop. Bucket every wallet-to-wallet move through August 5 by weekday and hour of the New York day and all 168 buckets are busy: the quietest of them, 6 AM on Tuesdays, still holds 135,725 of the 71.2 million moves, so the tokens keep changing hands through nights and weekends when the US market is closed. And the burn conventions matter: supply math must treat transfers to 0xdEaD…dEaD as retirements alongside true burns to the zero address. Both routes appear here, though the dead-address one is rare: two events in the whole window, and both on a fund token rather than one of the 96 registry equities. A pipeline that nets only the zero address already misses those two retirements and nets that fund token 23% too high, and it will miss more the first time a registry equity uses the address.

5. Corporate actions went routine

The ERC-8056 guide read the first four multiplier updates ever recorded, all on one T-bill fund, and called the pattern: corporate actions as scheduled log events. Five weeks on, the same one-topic query returns 12 events across 7 contracts, and the pattern is now routine market plumbing; the newest, an ASML adjustment, landed on August 6 at 15:01 UTC with its effective time nine minutes later in the payload:

EVERY CORPORATE ACTION · STEM HEIGHT = SIZE OF CHANGE (LOG) split-sized distribution WEEKrehearsal, distribution, then x2 CRWDx4 at the open SGOV+0.096% MU+0.007% ORCL+0.221% DELL+0.006% ASML+0.010% Jun 22Jul 1Jul 15Aug 1
Every multiplier change in the chain's history, from one topic filter. WEEK's multiplier goes to x2 and back within fifteen minutes on June 23, takes a fractional step on June 24, then doubles for good at the June 29 open; CRWD lands the first 4-for-1 at a market open; from July 8 the small distribution-sized adjustments settle into a routine, five of them by August 6.
Token Emitted (UTC) Change Effective (UTC)
WEEKJun 23, 14:55×1 → ×2Jun 23, 14:58
WEEKJun 23, 15:10×2 → ×1Jun 23, 15:13
WEEKJun 24, 22:03×1 → ×1.003091Jun 24, 22:10
WEEKJun 26, 20:50×1.003091 → ×2.006183Jun 29, 13:30 (Mon 9:30 New York)
WEEKJun 29, 12:15re-announcement of the same changeJun 29, 13:30
CRWDJul 2, 01:01×1 → ×4Jul 2, 13:30 (9:30 New York)
CRWDJul 2, 12:15re-announcement of the same changeJul 2, 13:30
SGOVJul 8, 20:05×1 → ×1.000958Jul 8, 20:14
MUJul 24, 15:00×1 → ×1.000075Jul 24, 15:10
ORCLJul 27, 15:00×1 → ×1.002211Jul 27, 15:10
DELLAug 3, 15:00×1 → ×1.000064Aug 3, 15:10
ASMLAug 6, 15:01×1 → ×1.000101Aug 6, 15:10

Three things stand out. First, the CRWD token's multiplier quadrupled, announced twice on July 2 and effective at 13:30 UTC, which is 9:30 AM in New York: a 4-for-1 adjustment landing exactly at the market open, and the first split-sized action on one of the 96 registry equities (the WEEK fund had already doubled at the June 29 open, three days earlier). Second, the supply ledger shows the split took effect against an almost empty book: CRWD's first mint came four days after its multiplier moved, so the corporate-action machinery was live before the float was. Third, the small adjustments (MU, ORCL, DELL, SGOV, ASML, each a fraction of a percent) land in a fixed slot, four of the five taking effect at exactly 15:10 UTC, and read like income distributions paid by scaling positions rather than sending cash; SGOV's multiplier stepped up +0.096% in a single move on July 8 and has not moved since. Every one was announced before it took effect, with the effective timestamp in the event payload.

This changes the arithmetic for anyone summing stock-token amounts. In late June every equity token's multiplier read exactly 1.0 and raw sums were safe; today seven tokens have moved theirs, and CRWD's raw amounts understate effective shares by a factor of four: its raw net supply of 0.365 tokens is 1.459 effective shares. Scale raw sums by each token's multiplier at the relevant timestamp, or index the uiValue field of TransferWithScaledUI, where the contract has already applied it. The equity ledger in section 4 does the former.

6. Block production: one every 100ms

Everything above runs on a chain that produces a block every 100 milliseconds, around the clock. That cadence, and the transaction load it carries, is measured from every one of the 30,166,661 block headers in the pinned window, fetched in a single includeAllBlocks stream:

Block production, from zero-block days in May to 862k a day
blocks per UTC day, log scale, from all 30,166,661 headers
~862k
blocks per day since Jul 8
100ms
sustained block time
14,253,392
transactions on Aug 6
100 10k 1M public launch private mainnet, whole days at zero May 1 Jun 1 Jul 1 Aug 6
Four whole days in May produced zero blocks (May 2, 3, 9, 10); all of them inside the private phase that ran before the July 1 public launch. The ramp began June 17, public launch on July 1 produced 301,475 blocks, and the 100ms cadence has held since July 8. Transactions counted row by row from the dataset: 675,577 on launch day, 8,312,974 on July 23, 13,252,713 on August 5, and 14,253,392 on August 6.

7. Reproduce it: one Pipes SDK script

The curls above show the raw protocol; production pipelines use the Pipes SDK, which handles decoding, cursors, and typed events. This script reproduces the guide's headline stablecoin figure, the USDG float, from genesis. It is the exact file we ran, unedited:

import { evmPortalStream, evmEventDecoder, commonAbis } from '@subsquid/pipes/evm'
const USDG = '0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168' // 6 decimals
const ZERO = '0x0000000000000000000000000000000000000000'
const PIN = 30_166_660 // chain head when this guide was refreshed (Aug 7, 2026)
const stream = evmPortalStream({
id: 'usdg-float',
portal: {
url: process.env.PORTAL_URL ?? 'https://portal.sqd.dev/datasets/robinhood-mainnet',
http: { headers: { 'x-api-key': process.env.SQD_API_KEY! } },
},
outputs: {
// Two outputs so the portal query carries both server-side filters
// (topic "from" = zero for mints, topic "to" = zero for burns).
// The decoder matches logs on the event signature alone, so each output
// then sees the merged mint-and-burn stream: read ONE output and
// classify mint vs burn from the decoded fields.
mints: evmEventDecoder({
range: { from: 0, to: PIN },
contracts: [USDG],
events: { transfers: { event: commonAbis.erc20.events.Transfer, params: { from: ZERO } } },
}),
burns: evmEventDecoder({
range: { from: 0, to: PIN },
contracts: [USDG],
events: { transfers: { event: commonAbis.erc20.events.Transfer, params: { to: ZERO } } },
}),
},
})
const byDay = new Map<string, bigint>()
for await (const { data } of stream) {
for (const t of data.mints.transfers) {
const day = t.timestamp.toISOString().slice(0, 10)
const delta = t.event.from === ZERO ? t.event.value : -t.event.value
byDay.set(day, (byDay.get(day) ?? 0n) + delta)
}
}
let float = 0n
for (const day of [...byDay.keys()].sort()) {
float += byDay.get(day)!
console.log(`${day} ${(Number(float / 10_000n) / 100).toLocaleString('en-US', { minimumFractionDigits: 2 })} USDG`)
}

It walks all 30.2 million blocks in a little over twelve minutes on a laptop (the run behind this guide logged 735 seconds end to end, an average of about 41,000 blocks per second), because the two indexed-parameter filters travel to the Portal and only the few thousand matching events come back. The tail of its output, verbatim:

...
2026-07-31 333,107,632.80 USDG
2026-08-01 321,234,016.35 USDG
2026-08-02 320,252,457.92 USDG
2026-08-03 345,084,713.94 USDG
2026-08-04 339,275,328.95 USDG
2026-08-05 357,574,789.86 USDG
2026-08-06 338,724,489.55 USDG
2026-08-07 330,185,701.89 USDG

The final line is the guide's USDG float to the cent, from an independent implementation. One real gotcha, which the comment in the script encodes: the decoder matches logs by event signature, and both filters share the Transfer signature. Put the two filters in a single decoder and the SDK logs a duplicate-topics error while the second entry silently misses events; split them into two outputs, as here, and each output receives the merged mint-and-burn stream. Classify by the decoded from field instead of trusting the output name, or the mints and burns cancel to zero. We know because our drafts hit both failure modes before this version.

Every other number in this guide is the same pattern with a different filter. The full inventory:

The question The filter Where it ran
Dollar volume of every DEX tradeone address (the v4 singleton) plus two fork-family Swap topic0ssection 2
An hourly ETH price, no oraclev4 Swap filtered by pool id in topic1section 2
Any token's circulating supplyTransfer with topic1 or topic2 pinned to the zero addresssection 3
Any contract's balance sheetTransfer with the contract in topic1 and topic2, nettedsection 3
Shares outstanding, per stockTransferWithScaledUI with topic1 or topic2 at zerosection 4
A daily stock price, per stockv4 and v3 Swap on the token's USDG poolssection 4
Every corporate action, everone topic0: UIMultiplierUpdatedsection 5
The chain's whole cadenceevery block header, includeAllBlockssection 6
A wallet's complete historyTransfer with the wallet in topic1 or topic2the tokenized-stocks guide

All nine run against one endpoint. Every query in this guide is the same POST against portal.sqd.dev/datasets/robinhood-mainnet/stream with a different body, served from genesis and streaming at the head, in the standard evm shape that any EVM pipeline already uses. The testnet (chain ID 46630) is served the same way and listed alongside mainnet on the Robinhood Chain page.

8. Indexing notes at 30 million blocks

Lessons from building the numbers above, for anyone pointing an indexer at this chain:

  • Filter before you stream. The single TransferWithScaledUI topic family alone is 73.4 million events, about 35 GB of raw JSON as the Portal streams it; the full log stream, on a chain now clearing 14 million transactions a day, is far larger. Put the address list or topic filter in the request, not in your client. Downloading everything and filtering client-side worked in July; today it means moving tens of gigabytes for a single topic.
  • Aggregate in the stream when raw events do not fit. The volume series in section 2 covers 110,863,045 swap events without storing one of them: the sweep folds each page into per-hour, per-pool sums as it streams. Jobs that need the individual events keep them; jobs that only need totals usually should not.
  • Model the multiplier from day one. With seven tokens off a 1.0 multiplier inside this guide's pinned window and one of them at 4.0, raw-amount pipelines are silently wrong in a way they were not in July. The fix is one state table keyed on UIMultiplierUpdated, described in the ERC-8056 guide.
  • Balances are arithmetic; prices can be too. Netting transfers reproduces holdings to the wei with no state access. Valuation usually stops there, but on a chain whose only observable markets are its own pools, volume-weighted prices derived from the swaps themselves price ETH and 33 equities without any feed. The discipline is a liquidity floor at each timescale: a stock token is priced only from a pool-day that cleared $10,000, ETH only from an hour in which its benchmark pools cleared $5,000, and thinner periods inherit the last price that qualified.
  • Mind the burn addresses. Supply math on this chain must treat transfers to 0xdEaD…dEaD as retirements alongside true burns to the zero address. Both appear in the scaled-transfer stream, so a query that filters for only one of them nets the wrong supply.
  • RPC log pagination does not survive this volume. An eth_getLogs loop capped at a few thousand logs per response needs hundreds of round trips per day of stock-token activity alone; the caps and failure modes are the subject of our eth_getLogs guide. A streaming endpoint with server-side filters returns the same data in one request.

9. Robinhood Chain data with SQD

Every number in this guide came out of the robinhood-mainnet dataset: headers for the cadence, topic filters for supplies and corporate actions, one address for the whole v4 DEX, swap amounts for every price. The dataset serves the chain from genesis and keeps streaming at the head, using the standard evm query type, so pipelines built for any EVM chain (with the Pipes SDK or the Squid SDK) run against Robinhood Chain unchanged.

Robinhood Chain is currently a private SQD dataset, provisioned with an API key rather than through the free public Portal, for both mainnet and testnet. Access is by request: contact the team for a key. Dataset details are on the Robinhood Chain page.

Frequently asked questions

What is Robinhood Chain?
Robinhood Chain is an Ethereum Layer 2 built by Robinhood on the Arbitrum Orbit stack, chain ID 4663, with ETH as the gas token and Ethereum blobs for data availability. Its first blocks date to April 30, 2026 and the public mainnet opened July 1, 2026. Robinhood built it for tokenized real-world assets: the official registry lists 96 equities and ETFs issued as ERC-20 contracts that trade around the clock. Measured over this window, though, registry assets account for 21% of priced swap volume, and most trading is in tokens outside the registry.
How much trading volume does Robinhood Chain have?
Measured from every Uniswap-family swap event and priced entirely from the chain's own pools, $19.42B traded across Uniswap v4, v3, and v2 pools between genesis and the August 7, 2026 pin, nearly all of it in the five weeks after the July 1 public launch, with $607M on August 6, the last complete day in the window, alone. The dollar side of each swap is valued at the $1 peg and the ETH side at the chain's own hourly volume-weighted ETH/USDG price, so no external price feed is involved.
How much value is on Robinhood Chain?
Measured from transfer logs at the August 7, 2026 pin: a $572.5 million stablecoin float ($330.2M USDG plus $242.4M Ethena USDe), of which $270.9 million sits inside Morpho Blue. The tokenized-equity float adds $27.3 million at the end of August 6, the last complete UTC day in the window, valued at each token's own pool prices (a floor covering the 33 of 96 registry tokens with liquid pools). All of it is netted from mint, burn, and transfer events, with the $1 peg and the pools' own clearing prices as the only valuation inputs.
What chain does Robinhood use for tokenized stocks?
Its own Layer 2, Robinhood Chain, an Arbitrum Orbit chain settling to Ethereum. Every tokenized stock is an ERC-20 contract on that chain implementing ERC-8056, the scaled-UI extension for corporate actions. The official contract registry at docs.robinhood.com lists 96 stock and ETF tokens, and all 96 show issuance activity in the chain's logs.
What is Robinhood Chain's block time?
About 100 milliseconds, sustained. Derived from every block header in the dataset: since July 8, 2026 the chain has produced around 862,000 blocks per UTC day, one block every 100ms around the clock. Earlier phases were slower: private mainnet idled at seconds-to-hours block times through May, including four whole days with no blocks.
Is Robinhood Chain data free to access?
Robinhood Chain is currently a private dataset on SQD, provisioned with an API key by request rather than through the free public Portal. A provisioned key covers both mainnet and testnet with server-side filtering by address and topic, and both keep streaming at the head. Mainnet is served from genesis; the testnet dataset starts at block 40,000,000. Contact the SQD team for access.
Can I query Robinhood Chain like a regular EVM chain?
Yes. It is a standard EVM chain: the same Transfer topic signatures, the same log structure, the same tooling. On SQD's Portal it is served with the standard evm query type, so a pipeline built for Ethereum or Base works unchanged; the Pipes SDK script in this guide is ordinary EVM code. The one non-standard part is ERC-8056 on the stock tokens: raw amounts must be scaled by each token's multiplier once corporate actions start landing.

Building on real-world assets?

See how tokenized equities, treasuries, and funds feed RWA products on the RWA solution page.