We push. You route.
Two streams, one event log. The public stream carries what the dashboard shows — scores, incidents with evidence, the index — for everyone. The evidence stream carries raw measurements, three-leg timings and webhooks — for an ecosystem's teams, through its foundation's partnership. Every incident is also published on X with the transaction that proves it.
WebSocket
A persistent stream per chain: every probe transaction with its timestamps, every incident as it opens and closes. The dashboard is a subscriber.
Signed webhook
A JSON POST to your URL — HMAC-signed, retried with backoff, idempotent by id. Point it at your pager, your runbook or your own bot.
REST API
Pull what the stream pushed: measurements, incidents, routes, scorecards. The same evidence, at rest.
Public feed on X
Every incident — opened and recovered — is posted publicly with its evidence transaction. Silent outages are not silent.
What opens an incident
Webhook payload
POST https://ops.example.chain/hooks/everysecond X-ES-Signature: sha256=9f3a… X-ES-Event: icm.stalled { "id": "evt_01J9…", "type": "icm.stalled", "severity": "incident", "chain": "northline", "route": { "from": "northline", "to": "polar-assets" }, "leg": 2, "stalled_ms": 90000, "source_finality_ms": 1380, "evidence_tx": "0x9a1c…f27e", "observed_at": "2026-09-02T14:02:11Z", "public_post": "https://x.com/everysecond/status/…" }
Signature & delivery
Every POST carries an X-ES-Signature header: HMAC-SHA256 of the body with your secret. Non-2xx responses are retried 5 times with exponential backoff (1 m → 30 m). Events are idempotent by id; the stream and the webhook carry the same ids.
Who receives what
Everyone receives the public stream and every incident on X, with evidence. Teams in a partnered ecosystem receive the evidence stream, the webhooks and the full API for their chains — provisioned by their foundation.