every second / Methodology
Methodology · v1.0

Measurement you can cite.

Every figure Every Second publishes is reproducible: the procedure, the formula and the evidence are public. This page is the specification.

Independence

Probes never run on infrastructure of a chain we measure. Chains never pay to be measured, and payment never touches a number.

Reproducibility

The score is a deterministic formula. Auditors and licensees recompute any score from the raw dataset; every incident is published with the on-chain transaction that proves it.

Proof

Every measurement traces to a signed on-chain transaction, and every hour the Merkle root of the raw record is committed on-chain. What happened is provable; that the record was never altered is provable too.

How a measurement is made

Each probe holds a funded wallet on every measured chain. Every 60 seconds it sends a minimal signed transaction and records three timestamps from its own clock (NTP-disciplined, sub-millisecond):

t₀transaction broadcast to the chain's public RPC
t₁first inclusion observed in a block
t₂finality confirmed — the block is irreversibly accepted by the validator set

Finality is t₂ − t₀: what a user actually waits. Per chain and per region we report p50, p95 and p99 over the window. When any value drifts past its baseline, cadence tightens to 5 seconds until it recovers.

Regions

Frankfurt, Virginia and Singapore today; the roadmap is seven continent-scale internet regions. Each figure is reported per region and as a cross-region median, so a single vantage point never defines a number.

The score

Four components, each normalised to 0–1 against a fixed public scale, weighted and summed. Weights are versioned; a weight change is a new methodology version, never a silent edit.

score = 100 × ( 0.35·F + 0.30·U + 0.20·M + 0.15·V )
Ffinality — 1 at p99 ≤ 1 s, 0 at p99 ≥ 10 s, log-scaled between
Uuptime — share of probe windows with successful inclusion over 90 days
Mmessage delivery — share of probe ICM messages delivered within 60 s over 24 h
Vvalidator health — set size, stake concentration (HHI) and churn against public thresholds

Calibrate it yourself

The formula above, live. Move an input; the dial follows. No number on this site asks to be trusted — it asks to be checked.

99.4score
F
0.92
U
100
M
100
V
0.93

Resistance to gaming

A chain that could recognise the probe could favour it. The method assumes it will try.

rotating walletsEach probe holds a pool of short-lived wallets per chain; derivation is not disclosed and addresses retire continuously. No stable address to recognise.
randomised timingThe 60-second cadence fires at a random moment within each window. Even a recognised address is unpredictable.
organic cross-checkThe listener measures inclusion and finality of random third-party transactions passively. If probe results diverge materially from the organic distribution, the chain is flagged probe-preference suspected and its score follows the passive measurement.

What each interval measures

Finality as a user feels it mixes network path, RPC and consensus. The method separates them and says which is which.

t₁ − t₀inclusion — broadcast to first inclusion: RPC quality, mempool, block production. Probes rotate across several public RPC endpoints per chain.
t₂ − t₁consensus — inclusion to irreversible acceptance, observed by the listener, independent of any RPC.
t₂ − t₀finality — what a user waits. This is end-to-end user experience, not pure consensus latency; the score uses it deliberately, and the two components are published beside it so consensus can be read on its own.

Confidence

A difference smaller than the noise is not a ranking.

intervalsEvery percentile is published with a bootstrap 95% confidence interval; the score carries its interval (e.g. 99.4 ± 0.3).
tiesChains whose score intervals overlap share a rank band. The board never orders two chains the data cannot separate.
minimum sampleA percentile is published only when the window holds the minimum number of measurements; below it the value is shown as insufficient sample.

Coverage classes

Every mainnet L1 is in scope. The class is shown publicly next to every chain, and a chain without active measurement is never shown as healthy.

activeProbes hold funded wallets and transactions are accepted from all regions. Scored.
invitedA permissioned chain has allow-listed a registered Every Second probe wallet. Measured actively and scored; shown as invited measurement. Allow-listing is free — no chain pays to be measured. The organic cross-check still applies.
passiveThe chain rejects probe transactions and has not invited a probe. The listener publishes validator health and block cadence; no active finality, no score.
dormantNo organic transactions in 30 days — our own would be the only activity. Listed, not probed, not scored. Probing resumes when activity returns.
unsupported_vmThe chain runs a virtual machine our probe has no adapter for yet. Passively observed until the adapter ships. Adapters are per VM; the method is chain-agnostic, the probe is not.
unmeasuredA technical condition prevents active measurement for now — for example a wallet the chain throttles. Listed with the reason, no score, until it is resolved.

What the method does not do

no relayersEvery Second never operates an ICM relayer. Running one would make the instrument part of the system it measures. Where no relayer serves a route, message delivery is not applicable: M is omitted and the remaining weights are renormalised, with the label shown.
no adjustment for PoAPermissioned validator sets are small by design; V measures them as they are and publishes the set size next to the score (e.g. PoA · 5 validators). The reader sees the design choice, the number is not softened.

Three-leg ICM timing

Leg 1source finality

the probe message is finalised on the source chain

Leg 2relayer pickup

a relayer observes the signed message and submits it

Leg 3destination delivery

the message executes on the destination chain

Each leg is timed separately. A stalled message is attributed to the leg that broke — the alert says where, not just that.

Region gap

For each chain: (max − min) / median of p50 finality across regions. Below 0.10 is consistent; above 0.25 is flagged. It reveals chains whose RPC or validator geography favours one part of the world.

Incidents

An incident opens when probe transactions fail from at least two regions for 60 seconds, or when p99 finality exceeds 5× its 30-day baseline for three consecutive probes. It closes after five clean minutes. Duration, affected metric and evidence transactions are published.

Retention & access

Raw measurements are kept for 90 days, then reduced to hourly aggregates kept indefinitely. The public layer shows aggregates and every incident's evidence transaction; the full raw dataset is available to operators for their chains, and to licensees and auditors in full.

Verification & versions

The probe and scoring engine are proprietary. What is public is everything needed to check them: this specification, the evidence transaction behind every incident, the hourly on-chain commitment of the raw record, and the raw dataset under licence. Every published number carries the methodology version it was computed with. This is v1.0.

The score is public and is not sold. Depth — streams, raw measurements, breakdowns — comes through the ecosystem's partnership.