What actually moved oil prices
Every major event, pinned to Brent crude and daily transit data. Hover any marker to preview; click to jump to the feed.
Filters
Analysis
Findings computed from the timeline data — the interpretation is ours, the numbers are not.
An independent, data-first record of the 2026 Strait of Hormuz crisis: every number on this site is computed from public sources and rebuilt weekly, with methods and caveats published alongside.
Questions, corrections, or data we're missing: [email protected].
Automated refresh, Tuesdays ~15:00 UTC. A scheduled pipeline pulls every source — IMF PortWatch transit counts (published Tuesday mornings, snapshotted so their retroactive revisions stay visible), FRED Brent, Polymarket and Kalshi price histories, Iranian state-media RSS (IRNA, Tasnim, Mehr), and the public Truth Social archive — then recomputes every number on the site: event reactions, percentiles, the calibration scoreboard, the status line. The result is committed and the site deploys itself. Nothing is edited by hand between the raw data and what you read.
Breaking events, by hand. Major events are curated and source-verified manually and pushed as they happen, which reruns the same computation — that push is what feeds the Atom feed and subscriber alerts. New statements, posts, and attack records otherwise appear at the next scheduled refresh, so between runs the feed can lag a few days behind the wire.
Freshness is visible. The footer on every page states when the site was last built and the exact date each dataset runs through. If a number looks stale, that's why — we'd rather show a dated truth than a fresh guess.
Everything on this site is computed from JSON you can fetch directly — no key, no rate-limit games. If you're wiring up an agent (a Claude Code or Codex job, a cron, a GitHub Action) to react when something breaking happens here:
Poll the feed. feed.xml is an Atom feed with one entry per major event and analysis piece, stable ids for deduping, and computed reactions in the summary. New entry → trigger your job.
Read the data. The full datasets behind the charts: timeline.json (Brent, transits, events with computed reactions), markets.json (prediction-market series), incidents.json, iran_statements.json, truths.json, analysis.json and calibration.json. Updated with each data refresh; please keep the source citations if you republish.
What we collect. If you subscribe: your email address and the time you subscribed. That is the complete list. The site sets no cookies, runs no analytics, and uses no trackers. The subscribe form is protected by Cloudflare Turnstile, which may process connection data to distinguish humans from bots under Cloudflare's privacy terms.
Where it lives. Addresses are stored in Cloudflare Workers KV and used for exactly one purpose: sending breaking-event updates. They are never shared, sold, or used for anything else.
Your rights. Unsubscribe instantly via the subscribe dialog ("unsubscribe instead") — this deletes your address outright, not just a flag. For anything else, including data questions: [email protected].
Method & caveats
Transits are AIS-observed daily transit calls for the Strait of Hormuz from IMF PortWatch (sources: Kpler; UN Global Platform; IMF PortWatch), published weekly with a several-day lag. During this crisis, GPS jamming, AIS spoofing and dark sailings mean every count is a lower bound on real traffic — PortWatch itself flags this. Iran-linked dark-fleet movements have always been largely invisible to AIS.
Brent is the daily Europe Brent spot price (FOB) from FRED (DCOILBRENTEU), which lags a few business days. Reactions: “+1d” compares the last close before the event with the first close on or after it; “+7d” with the last close within seven calendar days. Transit deltas compare mean daily transits in the seven days before the event against the seven days from the event day onward. With events this clustered, single-event attribution is genuinely hard — treat reactions as descriptive, not causal proof.
Events are hand-curated with sources; the seed archive is straits.live’s CC0 event data, independently re-verified.
Prediction markets: YES-probability histories from the public Polymarket and Kalshi market-data APIs (daily closes; Kalshi no-trade days use the bid–ask midpoint). The Kalshi closure market resolved YES on Mar 10, 2026 and is no longer listed in their current API; its history is recovered from their legacy v1 endpoints. Market prices are traders’ probabilities, not ours.
Trump posts are Truth Social statuses from CNN’s public archive (millisecond UTC timestamps), filtered to strait-related keywords; markers cluster nearby posts (the badge is the count) and link to the original post. Portrait: official White House photo, public domain. Nothing here is investment advice.
Breaking-event alerts
When something breaking happens in the strait, we compute what it actually did and send one update linking to the analysis here. No schedule, no filler. Unsubscribe any time.