Research note, retrospective calibration. This article documents what an hourly substrate observation grid records on the Ethereum L1 and Optimism L2 chains, together with the CCTP bridge between them, over calendar year 2025. The grid is the production v2.0 API contract, reconstructed retrospectively from public on-chain data. The companion article on the ETH-ARB-CCTP corridor follows the same methodology and serves as the natural reading point for the comparison between the two corridors (ETH-ARB-CCTP 2025: critical windows inventory).
Three claims are not made and should not be read into the text. The article is not a hack detector: smart contract bugs, governance compromises and exchange breaches are out of scope by design, since substrate observability does not target application-layer code. The article is not a forecaster: the regime classification qualifies the substrate state at a given hour, it does not predict the next hour. The article is not a verdict on RWA criticality: it identifies hours where the substrate diverges from its 30-day nominal, but whether each divergent window is operationally consequential for a Real World Asset settlement flow is a separate question, addressed only by cross-referencing with documented academic Tier A sources.
Every hour of the year is described by one combined cross-chain tuple. The notation is explicit:
Each of the four positions in the tuple is a discrete classification, calibrated per chain or per bridge direction, exposed in the production v2.0 API. Concretely:
rhythm_ratio, continuity_ratio, beacon_participation. The D axis aggregates sigma_demand, size_demand, tx_demand. The 12 signed codes are S1D1, S1D2+, S1D2-, S1D2±, S2+D1, S2+D2+, S2+D2-, S2+D2±, S2-D1, S2-D2+, S2-D2-, S2-D2±. Per-axis thresholds are calibrated on a P97 / P2 quantile of a rolling 30-day window with multi-confirmation hysteresis (a regime flip takes about 3 hours to confirm).sequencer_publish_latency as a third structural observable (computed from Ethereum L1 transactions to the OP Stack BatchInbox EOA). The D axis adds complexity_value and gas_complexity_ratio as L2-specific demand observables. Same 12-code vocabulary applies to OP with its own per-axis calibration.BS1 nominal, BS2 degraded. The classification reads the per-hour attestation_latency_p90_s against a threshold calibrated on a P97 quantile of a rolling 14-day window. The two directions are calibrated and classified independently.What is not in this matrix, and is therefore not what this article tests:
drift.structural and drift.demand blocks (a separate primitive, addressed in the Delta calibration research note).shift, shift_delta, shift_magnitude_delta continuous fields (these are inputs feeding the regime classification, exposed in diagnostic mode, but not themselves part of the classification tested here).precursors[] array (Primitive 3, chain-type-exclusive, exposed per chain after independent calibration; out of scope for the cross-matrix test).The cross-chain reading rule applied throughout the article is disjunctive: an event qualifies as captured by the matrix when at least one of the four channels diverges substantially from its year-long baseline during the hot window. This rule is deliberate, not a calibration choice. A conjunctive rule (every channel must fire) would miss Pectra (Ethereum fires, Optimism stays nominal), USDe (Optimism fires, Ethereum stays mostly nominal) and OP-RPC (only Optimism fires, Ethereum stays nominal). The four channels are not redundant; they expose different substrate phenomena and combine by disjunction.
The analysis uses an hourly journal covering 2025 that records, side by side, the state of Ethereum (the base chain), Optimism (the OP Stack rollup built on top of Ethereum), and the CCTP bridge that transfers the USDC stablecoin between them. Each row of the journal is one UTC hour. Out of the 8,760 theoretical hours of the year, 8,281 are populated, giving 94.5 percent coverage. The Optimism panel, built from BigQuery public datasets (block aggregates and Ethereum L1 transactions to the OP Stack BatchInbox EOA), is complete on the 8,760 hours; the joint panel is bounded by the Ethereum panel coverage.
The CCTP corridor on ETH-OP carries lower volume than on ETH-ARB. Over 2025, the journal observes 111,477 DepositForBurn events originating on Optimism (versus 611,480 on Arbitrum) and 114,582 MessageReceived events on Optimism (versus 477,669 on Arbitrum). This volumetric context bounds the statistical power of bridge-side signals on this corridor, particularly for low-frequency stress modes.
Three families of observables drive the analysis:
Three precautions apply end to end. January 2025 is excluded from the baseline because the rolling average reference had not yet stabilized at that point. Latency ratios are computed only for hours with at least five CCTP messages transferred, eliminating outliers from very small samples. The comparison reference for each month is the monthly median calculated outside windows of plus or minus six hours around the labeled events, preventing the events themselves from contaminating the baseline.
Computed across the full year on the joint panel, the unconditional baselines are:
| Component | Share of hours in non-S1D1 or BS2 |
|---|---|
| Ethereum regime divergent (non-S1D1) | 29.5% |
| Optimism regime divergent (non-S1D1) | 28.4% |
| CCTP eth-op direction BS2 | 3.0% |
| CCTP op-eth direction BS2 | 5.8% |
Two readings deserve attention. The Optimism panel produces a year-long divergence share (28.4 percent) close to the Ethereum panel (29.5 percent), which is consistent with substrate dynamics that vary continuously even outside flagged events. The BS2 share on the op-to-eth direction (5.8 percent) is nearly double that on the eth-to-op direction (3.0 percent), reflecting the asymmetric CCTP volume on this corridor (outbound from Optimism carries fewer but heavier messages on average, more prone to attestation queue formation under load).
Status.optimism.io reports 100.0 percent uptime on Transaction Sequencing, Batch Submission, and Node Sync components for the calendar year. Unlike Arbitrum, which experienced a documented L2 sequencer connectivity incident on 2025-06-12 lasting 2 hours 35 minutes (L02 in the ARB inventory), Optimism mainnet did not record a comparable downtime in 2025. The events retained for this inventory are therefore five system-wide transitions that affect ETH and propagate through OP, plus one OP Stack hard fork that activated on OP mainnet with no operator-reported interruption, plus one short OP RPC outage initially classified as application-layer.
| ID | Date / time (UTC) | Title | Type | Mirror of ARB |
|---|---|---|---|---|
| S03 | 2025-05-07 10:05 | Pectra mainnet activation (Ethereum L1) | Hard fork (ETH L1 substrate) | S03 ARB |
| S03b | 2025-05-09 16:00 | Isthmus hard fork (OP Stack mainnet) | Hard fork (OP Stack substrate) | OP-only |
| D01 | 2025-10-10 20:30 to 10-11 06:00 | USDe Binance depeg cascade | Off-chain cascade with on-chain liquidations | D01 ARB |
| S04 | 2025-12-03 21:49 | Fusaka mainnet activation (Ethereum L1) | Hard fork (substrate, PeerDAS) | S04 ARB |
| S05 | 2025-12-09 14:21 | BPO1 activation (blob target 6 to 10, max 9 to 15) | Hard fork (BPO, substrate) | S05 ARB |
| OP-RPC | 2025-08-19 17:43 to 18:05 | OP Mainnet Public Endpoint outage (22 min) | Initially RPC layer, reclassified after analysis (see section 6) | OP-only |
Five system-wide or OP-specific events are retained as substrate-relevant. The OP-RPC event is included for context because the official status page classified it as application-layer; the next sections show that the substrate panel disagrees with that classification on the data, which is the central finding of this article.
For each documented event, the matrix response on the hot window (event start to event end) reports the share of hours that fall outside the nominal S1D1 regime, and the share of hours that flip the bridge to BS2.
| Event | ETH divergent | OP divergent | BS eth-op BS2 | BS op-eth BS2 | Attestation p90 max |
|---|---|---|---|---|---|
| S03 Pectra | 75.0% | 0.0% | 0.0% | 0.0% | 1,910 s |
| S03b Isthmus | 80.0% | 0.0% | 0.0% | 0.0% | 2,469 s |
| D01 USDe | 20.0% | 100.0% | 0.0% | 0.0% | 7,360 s |
| S04 Fusaka | 100.0% | 100.0% | 20.0% | 0.0% | 12,038 s |
| S05 BPO1 | 75.0% | 12.5% | 0.0% | 0.0% | 1,463 s |
Pectra (S03) and BPO1 (S05) fire the Ethereum side of the matrix at 75 percent of the hot hours and leave the Optimism panel close to nominal (0 percent and 12.5 percent respectively). This is the expected pattern for a strictly L1 hard fork: the substrate signature lives on the chain where the upgrade activates, the L2 absorbs it through changed blob economics or batch composition over a longer time scale than the hot window.
Isthmus (S03b) is the OP-specific hard fork of 2025. The matrix qualifies the hot window at 80 percent divergent on Ethereum (the day after Pectra activation, ETH is still in its post-Pectra hot zone) and at 0 percent on Optimism. The OP Stack activation did not perturb sequencer cadence at hour granularity, consistent with the absence of any operator-reported interruption. The matrix correctly records "no observable substrate divergence on OP", which here means "the upgrade was clean on the OP substrate side".
USDe (D01) is the inverse pattern: Ethereum stays mostly nominal (20 percent divergent), Optimism flips to 100 percent divergent over the hot window. The matrix on Optimism qualifies the cascade hours as a mix of S1D2+, S2+D1 and S2+D2+, with the demand axes carrying most of the displacement. The bridge does not flip to BS2 because CCTP volume on this corridor is moderate and Circle's attestation pipeline kept the upper-decile latency below the threshold (peak 7,360 seconds, about 2 hours 4 minutes, which is high in absolute terms but below the calibrated BS2 cutoff). On the same event, the ARB-corridor panel had a different pattern: Arbitrum 50 percent divergent and the arb-to-eth bridge direction at 30 percent BS2 because outbound flow from Arbitrum was concentrated and heavier.
Fusaka (S04) is the only event of 2025 where every channel of the corridor fires simultaneously. Ethereum panel at 100 percent divergent. Optimism panel at 100 percent divergent. CCTP eth-op bridge state flips to BS2 on 20 percent of hot hours. Attestation peak reaches 12,038 seconds, more than 3 hours, the highest of the year on this corridor. The matrix captures Fusaka as a system-wide discontinuity, which it is: PeerDAS rewrites the blob propagation contract, BPO mechanism changes the per-block blob limits, every layer is in transition over the same window.
Across the full year, the CCTP eth-op direction registers 3.0 percent of hours in BS2, the op-eth direction registers 5.8 percent. Co-occurrence is rare. The independence test between the two directions on the joint hourly panel does not reject the hypothesis that the two directions stress independently of each other. This mirrors the finding on the ARB corridor: CCTP must be monitored as two separate queues per corridor, four per chain pair, not as a single bridge box.
The official OP status page documents a 22-minute outage on the Mainnet Public Endpoint on 2025-08-19 between 17:43 and 18:05 UTC, attributed to a routine cluster upgrade. The status report classifies the event as RPC-layer only and explicitly states that the sequencer, batcher, and proposer were not affected. The substrate panel disagrees with that classification on the data.
The matrix response on the hot window reports the OP panel at 100 percent divergent during the hour that contains the outage end (18:00 to 19:00 UTC). Direct inspection of the panel around the event shows the following:
| Hour UTC | regime | block_count | sequencer_publish_latency (s) | shift |
|---|---|---|---|---|
| 2025-08-19 15:00 | S2+D1 | 1,800 | 708 | +0.488 |
| 2025-08-19 16:00 | S2+D1 | 1,800 | 636 | +0.336 |
| 2025-08-19 17:00 | S1D1 | 1,800 | 516 | +0.084 |
| 2025-08-19 18:00 | S2+D1 | 1,800 | 708 | +0.486 |
| 2025-08-19 19:00 | S1D1 | 1,800 | 456 | -0.043 |
| 2025-08-19 20:00 | S1D1 | 1,800 | 480 | +0.008 |
Two facts are visible. Block production on Optimism remains stable at 1,800 blocks per hour throughout the window (the OP Stack target cadence of 2 seconds per block), which rules out any sequencer halt and any data collection gap on the substrate side. The S2+D1 regime at 18:00 UTC is driven by sequencer_publish_latency rising from 516 seconds at 17:00 to 708 seconds at 18:00, a 37 percent increase relative to the prior hour with a positive shift of +0.486 above the slow EMA baseline.
The signal is computed from Ethereum L1 transactions to the OP BatchInbox EOA, which is independent of the OP public RPC layer. The conclusion is direct: the cluster upgrade that disrupted the OP public endpoint also affected the batch submission service during a short window on L1, producing a measurable substrate footprint on the matrix. The operator's status page rated the event as RPC-only; the L1 data shows a batch-posting interval distinctly above the prior-hour baseline at the same wall-clock moment.
This is a positive finding for the substrate observability grid. An infrastructure-grade event that the operator characterized as application-layer nevertheless produced a substrate footprint that the matrix detected without relying on operator self-reporting. The same property protects an agent acting on cross-chain settlement: the matrix is a direct view on the L1 data carrying the L2 batch posting cadence, and it reports what the data shows rather than what the operator dashboard summarizes.
The regime classification is computed on the blocks observed during each hour. A sequencer downtime that suppresses block production leaves no blocks to classify on the affected hour, and the matrix produces no regime signal for that hour (the regime defaults to S1D1 by construction, since there is nothing to qualify as structural divergence). This is a known boundary of the matrix vocabulary.
On the OP corridor in 2025, this boundary did not come up: Optimism mainnet did not have a sequencer downtime in 2025 according to the operator status page, and the substrate data confirms uninterrupted block production (1,800 blocks per hour on every hour observed). The boundary applies symmetrically to every chain: a sequencer halt is detected by the per-entry status field on the panel (OK / STALE / UNAVAILABLE / UNCALIBRATED), which is orthogonal to the regime code. An agent reading the panel inspects both: the status for substrate availability, the regime for substrate dynamics conditional on availability. The two compose by design, and the documentation has been updated on the public site to make this explicit.
Where the ARB corridor inventory presents eighteen critical windows over the year, of which four match documented academic events, the OP corridor inventory is structured differently. There is no operationally significant non-documented stress cluster on the OP corridor that requires the multi-channel disjunction rule the ARB article describes. The OP corridor exposes a different set of phenomena: lower CCTP volume, fewer non-documented bridge-only windows, and an operator status report that the substrate panel was able to refine in one specific case.
On the documented events shared between the two corridors (Pectra, Fusaka, BPO1, USDe), the matrix response is qualitatively similar in vocabulary across the two chain typologies, with magnitude differences that reflect the actual substrate behaviour. Fusaka in particular fires at 100 percent on both L1 and both L2 panels, with bridge BS2 detected on both corridors, which is the strongest case for the universality of the Regime + Bridge State primitive across chain typologies. The companion research note describes this in detail (Delta calibration is chain-type-exclusive).
Three limitations apply.
First, the BS1 / BS2 calibration on the OP corridor uses the same retrospective methodology as on the ARB corridor (P97 percentile on rolling 14-day attestation latency). It is not equivalent to the production calibration that uses a Circle Iris probe in milliseconds. Conclusions should be read as retrospective, not as an audit of the production calibration.
Second, the OP corridor carries less CCTP volume than the ARB corridor (111k versus 611k DepositForBurn events over 2025). Bridge-side signals have lower statistical power on this corridor by construction, and the calibrated BS2 threshold sits higher in absolute seconds than on the ARB corridor because the underlying distribution is thinner. The matrix nevertheless fires on BS2 during Fusaka (S04), confirming that the threshold is not set too high to miss real stress.
Third, this article presents a qualitative reading on six events. A formal statistical test of the universality of the Regime + Bridge State primitive across chain typologies would require a larger event corpus and a placebo permutation framework over the regime distribution. That work is recorded as a research follow-up and is out of scope for the present note.
The observation grid built from Ethereum, Optimism and the CCTP bridge qualifies five of six documented events on the ETH-OP-CCTP corridor in 2025 with the same vocabulary as the ARB corridor article. The qualification is not a discovery in the same sense as on the ARB corridor (where fourteen non-documented critical windows surfaced); the OP corridor exposes fewer non-documented anomalies in 2025, consistent with lower CCTP volume and an operator that maintained 100 percent uptime on substrate components.
The strongest result of this corridor is the OP-RPC reclassification. The substrate matrix detected a measurable footprint on sequencer batch posting during a window the operator classified as application-layer only. The matrix is computed from Ethereum L1 data that does not depend on operator self-reporting, and it disagreed with the operator status page on the data. This is the kind of independence property the substrate observability layer is designed to provide: a direct view on the L1 data carrying the L2 batch posting cadence, which an agent acting on cross-chain settlement can read without relying on the operator dashboard.
The hard-fork signatures (Pectra, Fusaka, BPO1) and the macro cascade signature (USDe) on the OP corridor are qualitatively similar to the same events on the ARB corridor, with magnitude differences that reflect the substrate dynamics rather than the vocabulary. This is the operational reading of the universality of Primitive 2 across the two chain typologies tested. Fusaka in particular fires every channel of the corridor simultaneously, which is the textbook case for a system-wide substrate transition.
The matrix has a boundary that is worth naming: it describes substrate dynamics under observation, not absence of substrate. Downtime detection is the role of the per-entry status field on the panel, which is orthogonal to the regime code. The two primitives compose by design, and the documentation on the public site has been updated to make this explicit.
The OP substrate panel is built from bigquery-public-data.goog_blockchain_optimism_mainnet_us (blocks, transactions, logs) and from Ethereum L1 transactions to the OP Stack BatchInbox EOA 0xff00000000000000000000000000000000000010. CCTP V1 DepositForBurn and MessageReceived events are decoded from logs on the OP TokenMessenger 0x2B4069517957735bE00ceE0fadAE88a26365528f and MessageTransmitter 0x4D41f22c5a0e5c74090899E5a8Fb597a8842b3e8. Latency ratios compare the upper-decile attestation latency of a given hour to the monthly median computed outside labeled windows. The BS1 / BS2 calibration uses the P97 percentile on a 14-day rolling window of attestation latency p90. Year-long baselines are computed across the full 2025 panel.