Investigate open no-auth FX spot rate sources for seeding

Table of Contents

This page is a capture in the deferred bucket of the product backlog — a pre-sprint idea, not yet pulled into a sprint as a story.

What

Investigate whether there are freely-available, no-authentication open market-data endpoints we can pull a one-off snapshot of spot FX rates from, covering as many currencies as possible. We do not need a live streaming feed or high accuracy — just vaguely-current spot rates to use as the initial seed price (gmm_initial_price / fx_spot_generation_config.gmm_initial_price) for synthetic feeds, instead of hand-entering them. Candidate sources to evaluate (licensing, coverage, rate limits, stability, output format): the ECB euro reference rates (daily XML/CSV, no key), exchangerate.host / open.er-api.com / frankfurter.app (ECB-backed, no key), Fawaz Ahmed's currency-api (GitHub-hosted JSON, no key), and similar. Output of the investigation: a short comparison and a recommendation for a default seed source, plus notes on how a small importer could populate initial prices for the configured currency pairs.

Why

Synthetic FX feeds currently start from a manually-set initial price. Seeding from a realistic current spot rate makes generated data look plausible out of the box and removes a manual step when commissioning a new pair. A no-auth source keeps the integration trivial (no key management, no secrets) for this first cut.

References

  • projects/ores.synthetic.api/domain/fx_spot_generation_config.hpp — gmm_initial_price seed field.
  • projects/ores.qt/synthetic/src/FxSpotRateEditor.cpp — where the initial price is currently entered by hand.

See also

Emacs 29.3 (Org mode 9.6.15)