Benchmarks
First runs exist: probe files from a single vantage point (Dubai, residential connection) for the rpc, feed, blocks, and send subcommands are committed under benchmarks/data and rendered on this page under Runs recorded so far. Every cell reading "data coming" is replaced by a committed probe file, never by hand.
blck-probe is live. Its read-only modes need no funds; send mode needs a funded key and, on mainnet, both halves of the probe's guard. This page is the frame its output is poured into. Nothing on this page is estimated.
Why this page exists
Robinhood Chain orders transactions strictly by arrival time at one sequencer, and you cannot pay for position. So the numbers that matter are not the ones a typical RPC benchmark reports. What matters is how fast the sequencer submission endpoint takes your transaction, how much earlier the sequencer feed shows a transaction than block RPC does, how blocks are spaced, and how long it takes from your send to your receipt from a given part of the world. blck-probe is being built to measure those four things. Its rpc and feed subcommands also report block lag per endpoint and feed inter-message intervals as side outputs; those have no table here yet.
This is the measurement side of sequencer-edge engineering. If Robinhood ever adds a priority auction, arrival time still decides everything the auction does not cover, and the send-to-inclusion table gains a column for the paid lane. Nothing of the kind is announced (STATUS.md, Q3).
What blck-probe is built to measure
These are the four measurements blck-probe takes. All four have run from one vantage point: rpc, feed, and blocks on both networks, and send on mainnet. Their output files are committed under benchmarks/data and rendered below.
1. RPC round trip per endpoint
For each endpoint in the run, the probe will send a fixed sequence of read requests and record the round trip time of each, measured locally from send to complete response.
- Cold: the first request on a fresh connection, which includes DNS, TCP, and TLS setup.
- Warm: subsequent requests on a kept-alive connection.
- Reported as p50 and p95 over the run's sample count, per endpoint, per network.
Endpoints are the ones verified live in STATUS.md section 3: the official https://rpc.mainnet.chain.robinhood.com (rate limited), robinhood-rpc.publicnode.com, robinhood.drpc.org, robinhood.rpc.blxrbdn.com, robinhood.api.pocket.network, and rpc.ordofi.network. The probe's built-in default set is the official RPC, PublicNode, and dRPC; the rest, and keyed providers (Alchemy, QuickNode, Chainstack, dRPC, Blockdaemon, Validation Cloud, GetBlock), are added through --endpoints or BLCK_PROBE_EXTRA_RPCS as label and URL pairs. Output carries the label only, never the key.
The sequencer submission endpoint is not in this measurement. It rejects reads (eth_chainId returns method not found), so it can only be timed in send mode.
2. Feed arrival versus block visibility
The probe will hold a WebSocket to the sequencer feed (wss://feed.mainnet.chain.robinhood.com) and a block-head source against RPC: a newHeads subscription, or eth_blockNumber polling if the WebSocket is unavailable. For each feed message it records the local arrival time, then the local time at which the block containing that message becomes visible through RPC. The feed sequence number is mapped to a block number, and the mapping is checked against decoded transaction hashes. The difference is the feed lead.
Both timestamps are taken on the same machine, so clock skew against the sequencer does not enter the delta. What this measurement does not tell you is absolute latency from the sequencer to you. It tells you how much earlier the feed is than RPC from where you stand.
Reported as p50 and p95 of the delta, with the message count observed and which head source the run used.
3. Block cadence
The probe will record the local arrival time of each new block head it observes over a window and report blocks per wall-clock second, the mean inter-block interval, and the minimum and maximum blocks per second seen.
Nitro only produces a block when there are transactions to put in it. Cadence is therefore a measure of chain activity as much as of the sequencer's configured block speed, which Robinhood does not publish (STATUS.md, Q2). A quiet window will show wider intervals than a busy one on the same sequencer. Runs record the window length so that readers can compare like with like.
4. Send-to-inclusion delay by region
Send mode. The probe signs a minimal self-transfer with a throwaway key, submits it to the sequencer submission endpoint, records the local send time, then records when the hash is acknowledged, when the transaction appears in the sequencer feed, when its block arrives through a WebSocket RPC, and when a receipt is visible. Each of those is a separate column.
Runs are tagged with a region label from BLCK_PROBE_REGION. The point of the region column is to test the working hypothesis that the sequencer sits in AWS us-east-2 (Ohio). That location is inferred from DNS and from Glassnode's monitor. Robinhood has not published it. If the hypothesis is right, a vantage point in us-east-2 should show the lowest send-to-feed delta. If it is wrong, this table is how we find out.
Send mode has run on mainnet at the owner's direction, from a dedicated key holding a small balance: eight zero-value self-transfers, all included. Every row carries the endpoint it was measured against, because the endpoints differ by more than a few milliseconds.
Methodology caveats
Read these before reading any number that lands on this page.
- Single vantage point per run. Each JSON file is one machine in one place at one time. A row is a sample of that path, not a property of the chain. Multiple rows from the same region on different days are expected to differ.
- Local arrival timestamps. Every timestamp is taken by the probe on its own clock. There is no synchronization with the sequencer and no attempt to estimate one-way latency. Deltas between two local timestamps are sound; anything labeled as absolute is not on this page.
- Roughly 100 ms block granularity. The measured mainnet block interval is about 100 ms (STATUS.md section 2). Anything reported in blocks rather than milliseconds has that resolution at best. Whether inclusion delay has a floor tied to the sequencer's block speed setting, which Robinhood does not publish (STATUS.md, Q2), is something send mode will show, not something this page assumes.
- Public RPC rate limits. The official RPC is rate limited and returns HTTP 403 to the default Python urllib user agent, so the probe sends its own user agent string (blck-probe/<version>). TODO (owner): confirm the official RPC accepts it, or switch to a browser-style agent. Public third-party endpoints have their own limits. A p95 that looks bad may be a throttle, not a network path. Runs will record request errors separately, with rate-limit responses counted on their own, so throttling is visible rather than folded into latency.
- Region labels are self-reported.
BLCK_PROBE_REGIONis whatever the operator typed. BLCK does not verify it. Contributed runs are labeled by the contributor. - The feed is behind Cloudflare. Feed hosts CNAME to an Offchain Labs origin behind Cloudflare, so feed arrival includes whatever that edge adds from your location.
- Official RPC nodes are not identical. Nodes behind the official host have returned different Nitro versions in the same day (STATUS.md, Q13). Cold and warm samples may land on different nodes.
- Activity dependence. Nitro produces a block only when there is something to sequence, so cadence figures describe the chain during that run, not a configured block time.
Table layouts
Every committed run is rendered in full under "Runs recorded so far" at the bottom of this page: one block per file in benchmarks/data, with the run's facts (network, region, start and end time, sample count, probe version), its endpoints by label, every summary key as recorded, and the notes the probe attached to the run. Nothing is averaged across files and nothing is typed in by hand.
The layouts below are the comparison tables this page grows into as runs from more vantage points land. Their cells are only ever filled from committed probe files. Where no file exists, the cell says "data coming".
RPC round trip
Columns: endpoint, network, vantage region, cold p50, cold p95, warm p50, warm p95, samples, run date. The committed rpc runs are rendered below with their per-endpoint summaries. Rows for the remaining public endpoints and any labeled keyed endpoints are added as runs land.
Feed arrival versus block visibility
Columns: network, vantage region, feed lead p50, feed lead p95, messages observed, run date. The committed feed runs are rendered below.
Block cadence
Columns: network, window length, blocks observed, mean interval, min blocks per second, max blocks per second, run date. The committed blocks runs are rendered below.
Send-to-inclusion by region
One send-mode run exists (mainnet, eight transactions); it is rendered under Runs recorded so far.
| Vantage region | Network | Send to feed p50 | Send to feed p95 | Send to receipt p50 | Send to receipt p95 | Transactions | Run date |
|---|
Mainnet rows come from runs the owner directed; the probe refuses mainnet sends unless both halves of its guard are set.
Raw data
Every number on this page traces to a JSON file in benchmarks/data. The file format is the JSON Schema at benchmarks/schema/probe-result.schema.json, and scripts/check-probe-output.sh checks every committed file against it. Files are named <subcommand>-<network>-<region>-<UTC timestamp>.json, so each one carries its region label and run timestamp, and only real probe output is committed. There are no synthetic or hand-edited files in that directory, and there will not be.
External reference
Glassnode runs a public latency monitor for Robinhood Chain at https://latency.glassnode.com/robinhood/status. BLCK does not control it, does not know its methodology in detail, and does not reproduce its numbers here. It is useful as an independent view. It is also one of the two sources for the inference that the sequencer sits in us-east-2, and BLCK treats that as an inference rather than a fact.
Measure from where you are
Every number on this page was measured from one machine in Dubai, which answers the wrong question. Ordering on this chain is by arrival time, so what decides whether a strategy is worth building is how far you are from the sequencer, not how far someone else was.
The page carries a probe that measures that in your browser, against the same three endpoints blck-probe uses. All of them allow cross-origin requests, so there is no backend involved and nothing is uploaded: the numbers exist only in your tab. Your result appears beside the Dubai figure for the same endpoint.
Read it as an upper bound. A browser round trip carries overhead a native client does not, so the same machine measures slower here than through blck-probe, and the useful parts are the comparison between endpoints and the order of magnitude. If your fastest endpoint is several hundred milliseconds away, the chain produces more than a block per round trip from where you sit, and anything decided by arrival time is lost before your transaction leaves.
Contribute a region
The send-to-inclusion table is only as good as the set of vantage points behind it. A run from Frankfurt, Tokyo, Singapore, Sao Paulo, or a colo you already rent is worth more than a second run from the same region, and a run from inside us-east-2 is the one that tests the location hypothesis directly.
What a contribution needs:
- A blck-probe run with
BLCK_PROBE_REGIONset to something specific enough to be useful (provider and region, for exampleaws-eu-central-1orhetzner-fsn1). - The unmodified JSON output.
- Send-mode runs spend real ETH. Use a dedicated key with a small balance, and set both halves of the probe's guard deliberately.
- No keys, ever. Keyed endpoints appear by label only.
TODO (owner): add the contribution link and the review process for accepting contributed data files.
Measure from where you are
Everything below was measured from one machine in Dubai, which answers the wrong question. Ordering on this chain is by arrival time, so the question that decides whether a strategy is worth building is how far you are from the sequencer. Your browser can ask the same endpoints directly.
Measured in your browser, against the same endpoints blck-probe uses. Nothing is uploaded. A browser round trip carries more overhead than blck-probe's, so read these as an upper bound and a comparison between endpoints rather than as the same measurement. Public endpoints rate limit, so a failed request is counted rather than retried.
Runs recorded so far
Each block below is one file in benchmarks/data, shown under its own keys. Values are as recorded; fractions are rounded to three decimals for display. Histograms and raw samples stay in the file.
blocks-mainnet-ae-dubai-residential-20260915T224818Z.json
subcommand | blocks |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-15T22:47:48.899Z |
finished_at | 2026-09-15T22:48:18.901Z |
samples | 286 |
probe_version | 0.1.0 |
Endpoints rpc_ws wss://robinhood-rpc.publicnode.com, official https://rpc.mainnet.chain.robinhood.com
| summary key | value |
|---|---|
rpc_source | ws_newheads |
blocks_observed | 286 |
first_block | 64019346 |
last_block | 64019631 |
missed_numbers | 0 |
duplicate_heads | 0 |
observation_span_ms | 28679.672 |
interval_median_ms | 99.592 |
blocks_per_second_mean | 9.937 |
blocks_per_second_distribution | 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 21, 3 |
| summary key | count | min | p50 | p95 | max | mean |
|---|---|---|---|---|---|---|
interval_ms | 285 | 0.058 | 99.592 | 152.387 | 313.930 | 100.630 |
Not shown here, in the file: interval_histogram, per_second_histogram.
- Nitro produces a block only when there is at least one message to sequence, so intervals reflect chain activity as well as the sequencer's block speed setting; a quiet chain shows long gaps and a busy one shows the configured floor
- intervals are local arrival intervals through a third party WebSocket RPC (PublicNode), not sequencer timestamps; block header timestamps on this chain are whole seconds and were not used
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ
feed-mainnet-ae-dubai-residential-20260915T224748Z.json
subcommand | feed |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-15T22:47:15.986Z |
finished_at | 2026-09-15T22:47:48.880Z |
samples | 255 |
probe_version | 0.1.0 |
Endpoints feed wss://feed.mainnet.chain.robinhood.com, rpc_ws wss://robinhood-rpc.publicnode.com, official https://rpc.mainnet.chain.robinhood.com
| summary key | value |
|---|---|
feed_connect_ms | 1872.753 |
head_at_start | 64018989 |
frames | 870 |
feed_messages | 870 |
backlog_excluded | 615 |
backlog_first_seq | 64018442 |
backlog_last_seq | 64019056 |
live_edge_seq | 64019057 |
messages_with_txs | 255 |
decoded_txs | 2446 |
undecodable_submessages | 0 |
header_kind_counts.3 | 255 |
l2_kind_counts.3 | 254 |
l2_kind_counts.4 | 2446 |
confirmed_seq_updates | 1 |
rpc_source | ws_newheads |
rpc_blocks_seen | 286 |
seq_to_block_offset | 0 |
offset_confirmations | 6 |
offset_checks | 6 |
matched_pairs | 255 |
unmatched_feed_messages | 0 |
negative_delays | 180 |
feed_messages_per_second | 9.978 |
| summary key | count | min | p50 | p95 | max | mean |
|---|---|---|---|---|---|---|
delay_ms | 255 | -107.440 | -3.332 | 20.351 | 95.241 | -6.424 |
feed_interval_ms | 254 | 6.345 | 99.643 | 135.928 | 188.974 | 100.224 |
Not shown here, in the file: delay_histogram, feed_interval_histogram.
- 615 feed messages (seq 64018442 to 64019056) were a backlog replayed by the broadcaster on connect, already visible through RPC; they are excluded from every statistic and from raw
- 180 blocks were seen through RPC before the corresponding feed message arrived (negative delay); the feed path and the RPC path are different servers and networks
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ
- all timestamps are local monotonic arrival times at this vantage point, not sequencer timestamps; delay is rpc_seen minus feed_seen for the same block
- the feed is the sequencer's own broadcast; the RPC path is a third party replica (PublicNode) that itself consumes the feed, so the delay includes that replica's processing plus both network paths
feed-mainnet-ae-dubai-residential-20260915T225136Z.json
subcommand | feed |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-15T22:51:01.360Z |
finished_at | 2026-09-15T22:51:36.118Z |
samples | 248 |
probe_version | 0.1.0 |
Endpoints feed wss://feed.mainnet.chain.robinhood.com, rpc_ws wss://robinhood-rpc.publicnode.com, official https://rpc.mainnet.chain.robinhood.com
| summary key | value |
|---|---|
feed_connect_ms | 2000.148 |
head_at_start | 64021227 |
frames | 958 |
feed_messages | 958 |
backlog_excluded | 710 |
backlog_first_seq | 64020595 |
backlog_last_seq | 64021304 |
live_edge_seq | 64021305 |
messages_with_txs | 248 |
decoded_txs | 2045 |
undecodable_submessages | 0 |
header_kind_counts.3 | 248 |
l2_kind_counts.3 | 245 |
l2_kind_counts.4 | 2045 |
confirmed_seq_updates | 1 |
rpc_source | ws_newheads |
rpc_blocks_seen | 285 |
seq_to_block_offset | 0 |
offset_confirmations | 5 |
offset_checks | 10 |
matched_pairs | 247 |
unmatched_feed_messages | 1 |
negative_delays | 82 |
feed_messages_per_second | 10.050 |
| summary key | count | min | p50 | p95 | max | mean |
|---|---|---|---|---|---|---|
delay_ms | 247 | -72.179 | 1.713 | 39.290 | 91.273 | 5.117 |
feed_interval_ms | 247 | 0.048 | 100.700 | 137.856 | 179.920 | 99.499 |
Not shown here, in the file: delay_histogram, feed_interval_histogram.
- feed message seq 64021552 matched no candidate block in offset -2..=2
- 710 feed messages (seq 64020595 to 64021304) were a backlog replayed by the broadcaster on connect, already visible through RPC; they are excluded from every statistic and from raw
- 82 blocks were seen through RPC before the corresponding feed message arrived (negative delay); the feed path and the RPC path are different servers and networks
- 1 live feed messages had no matching RPC head within the run window (edge of window, or the head watcher missed them)
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ
- all timestamps are local monotonic arrival times at this vantage point, not sequencer timestamps; delay is rpc_seen minus feed_seen for the same block
- the feed is the sequencer's own broadcast; the RPC path is a third party replica (PublicNode) that itself consumes the feed, so the delay includes that replica's processing plus both network paths
rpc-mainnet-ae-dubai-residential-20260915T224715Z.json
subcommand | rpc |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-15T22:47:00.330Z |
finished_at | 2026-09-15T22:47:15.972Z |
samples | 120 |
probe_version | 0.1.0 |
Endpoints official https://rpc.mainnet.chain.robinhood.com, publicnode https://robinhood-rpc.publicnode.com, drpc https://robinhood.drpc.org
| summary key | value |
|---|---|
rounds | 20 |
min_spacing_ms | 100 |
per_endpoint | official | publicnode | drpc |
|---|---|---|---|
url | https://rpc.mainnet.chain.robinhood.com | https://robinhood-rpc.publicnode.com | https://robinhood.drpc.org |
chain_id_reported | 4663 | 4663 | 4663 |
chain_id_matches | true | true | true |
methods.eth_blockNumber.cold_ms | 737.329 | 722.095 | 737.267 |
methods.eth_blockNumber.cold_error | null | null | null |
methods.eth_blockNumber.warm.count | 19 | 19 | 19 |
methods.eth_blockNumber.warm.min | 254.149 | 243.087 | 258.223 |
methods.eth_blockNumber.warm.p50 | 261.563 | 253.055 | 277.281 |
methods.eth_blockNumber.warm.p95 | 305.293 | 287.035 | 330.232 |
methods.eth_blockNumber.warm.max | 327.386 | 517.748 | 356.733 |
methods.eth_blockNumber.warm.mean | 269.843 | 266.870 | 284.935 |
methods.eth_blockNumber.errors | 0 | 0 | 0 |
methods.eth_blockNumber.rate_limited | 0 | 0 | 0 |
methods.eth_chainId.cold_ms | 266.423 | 231.707 | 266.361 |
methods.eth_chainId.cold_error | null | null | null |
methods.eth_chainId.warm.count | 19 | 19 | 19 |
methods.eth_chainId.warm.min | 249.085 | 233.137 | 248.514 |
methods.eth_chainId.warm.p50 | 258.219 | 248.735 | 258.265 |
methods.eth_chainId.warm.p95 | 297.170 | 279.224 | 288.230 |
methods.eth_chainId.warm.max | 300.734 | 299.307 | 300.555 |
methods.eth_chainId.warm.mean | 263.462 | 251.057 | 265.853 |
methods.eth_chainId.errors | 0 | 0 | 0 |
methods.eth_chainId.rate_limited | 0 | 0 | 0 |
block_lag.rounds_compared | 20 | 20 | 20 |
block_lag.rounds_behind | 20 | 0 | 8 |
block_lag.min | -33 | 0 | -2 |
block_lag.max | -10 | 0 | 0 |
block_lag.mean | -24.400 | 0 | -0.450 |
errors_total | 0 | 0 | 0 |
- round trip is measured on the monotonic clock from request send to full response body; round 0 is the cold sample on a fresh connection and is excluded from warm stats
- eth_blockNumber for every endpoint in a round is fired at the same instant; block lag is that endpoint's number minus the highest number seen in the round, so it mixes replica lag with response time
- public endpoints are rate limited; requests to one endpoint are spaced at least 100 ms apart and 429 or -32005 responses count as errors with back off
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ
rpc-mainnet-ae-dubai-residential-20260915T225101Z.json
subcommand | rpc |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-15T22:50:45.790Z |
finished_at | 2026-09-15T22:51:01.353Z |
samples | 120 |
probe_version | 0.1.0 |
Endpoints official https://rpc.mainnet.chain.robinhood.com, publicnode https://robinhood-rpc.publicnode.com, drpc https://robinhood.drpc.org
| summary key | value |
|---|---|
rounds | 20 |
min_spacing_ms | 100 |
per_endpoint | official | publicnode | drpc |
|---|---|---|---|
url | https://rpc.mainnet.chain.robinhood.com | https://robinhood-rpc.publicnode.com | https://robinhood.drpc.org |
chain_id_reported | 4663 | 4663 | 4663 |
chain_id_matches | true | true | true |
methods.eth_blockNumber.cold_ms | 740.047 | 739.751 | 910.637 |
methods.eth_blockNumber.cold_error | null | null | null |
methods.eth_blockNumber.warm.count | 19 | 19 | 19 |
methods.eth_blockNumber.warm.min | 246.165 | 231.536 | 255.479 |
methods.eth_blockNumber.warm.p50 | 258.268 | 252.342 | 272.683 |
methods.eth_blockNumber.warm.p95 | 280.332 | 266.309 | 307.174 |
methods.eth_blockNumber.warm.max | 282.094 | 279.737 | 340.511 |
methods.eth_blockNumber.warm.mean | 262.344 | 252.667 | 274.948 |
methods.eth_blockNumber.errors | 0 | 0 | 0 |
methods.eth_blockNumber.rate_limited | 0 | 0 | 0 |
methods.eth_chainId.cold_ms | 246.454 | 246.239 | 253.638 |
methods.eth_chainId.cold_error | null | null | null |
methods.eth_chainId.warm.count | 19 | 19 | 19 |
methods.eth_chainId.warm.min | 250.018 | 233.870 | 240.540 |
methods.eth_chainId.warm.p50 | 263.753 | 252.357 | 261.730 |
methods.eth_chainId.warm.p95 | 295.612 | 270.301 | 305.319 |
methods.eth_chainId.warm.max | 348.020 | 277.040 | 347.812 |
methods.eth_chainId.warm.mean | 271.488 | 253.099 | 268.167 |
methods.eth_chainId.errors | 0 | 0 | 0 |
methods.eth_chainId.rate_limited | 0 | 0 | 0 |
block_lag.rounds_compared | 20 | 20 | 20 |
block_lag.rounds_behind | 20 | 1 | 8 |
block_lag.min | -33 | -1 | -1 |
block_lag.max | -13 | 0 | 0 |
block_lag.mean | -23.150 | -0.050 | -0.400 |
errors_total | 0 | 0 | 0 |
- endpoint official returned a lower block number than the round maximum in 20 of 20 rounds (mean -23.1 blocks, worst -33); at about ten blocks a second that is replica lag of roughly 2315 ms on average
- round trip is measured on the monotonic clock from request send to full response body; round 0 is the cold sample on a fresh connection and is excluded from warm stats
- eth_blockNumber for every endpoint in a round is fired at the same instant; block lag is that endpoint's number minus the highest number seen in the round, so it mixes replica lag with response time
- public endpoints are rate limited; requests to one endpoint are spaced at least 100 ms apart and 429 or -32005 responses count as errors with back off
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ
send-mainnet-ae-dubai-residential-20260916T061724Z.json
subcommand | send |
|---|---|
network | robinhood-mainnet |
chain_id | 4663 |
region | ae-dubai-residential |
vantage | macos aarch64 |
started_at | 2026-09-16T06:17:08.550Z |
finished_at | 2026-09-16T06:17:24.337Z |
samples | 8 |
probe_version | 0.1.0 |
Endpoints sequencer https://sequencer.mainnet.chain.robinhood.com, official https://rpc.mainnet.chain.robinhood.com, publicnode https://robinhood-rpc.publicnode.com, feed wss://feed.mainnet.chain.robinhood.com, rpc_ws wss://robinhood-rpc.publicnode.com
| summary key | value |
|---|---|
address | 0xe158b7928a3ad85bc470b29a55db623f4d580ed3 |
submit_endpoint | sequencer |
balance_wei_before | 9995978164000000 |
requested | 8 |
sent | 8 |
included | 8 |
send_failures | 0 |
timeouts | 0 |
feed_seen | 8 |
rpc_source | ws_newheads |
receipt_endpoint | publicnode |
| summary key | count | min | p50 | p95 | max | mean |
|---|---|---|---|---|---|---|
ack_ms | 8 | 277.434 | 313.889 | 357.400 | 360.311 | 318.686 |
feed_ms | 8 | 300.662 | 351.055 | 412.728 | 431.547 | 355.340 |
rpc_head_ms | 8 | 306.850 | 351.176 | 374.984 | 378.719 | 348.531 |
receipt_ms | 8 | 716.910 | 754.502 | 808.087 | 808.821 | 763.569 |
- feed backlog replay finished before the first send (feed seq 64287348, rpc head 64287350)
- submission connection to sequencer was warmed with one eth_chainId call before the first send
- ack is the eth_sendRawTransaction round trip against sequencer; feed is when a feed message carrying the hash arrived; rpc_head is when the newHeads notification (PublicNode) for the containing block arrived, the block being the feed sequence number plus the verified offset 0; receipt is when a 200 ms eth_getTransactionReceipt poll against publicnode first returned it, so it measures that replica's visibility plus poll quantisation, not inclusion. All from t0 on the monotonic clock at this vantage point.
- measured from region ae-dubai-residential; the sequencer is inferred (DNS, Glassnode) to be in AWS us-east-2, so numbers from other regions will differ