| What | Source | Role | Update cadence |
|---|---|---|---|
| Silver spot price (XAG/USD) | GoldAPI.io | Primary | Once per weekday at 10:30 IST |
| Silver spot price (fallback) | Yahoo Finance, then static stale cache | Fallback | On demand, only if primary fails |
| Gold spot price (XAU/USD) | GoldAPI.io | Primary | Once per weekday at 10:30 IST |
| USD/INR · GBP/INR exchange rates | Frankfurter (European Central Bank reference rates) | Primary | Once per weekday at 10:30 IST |
| FX fallback | exchangerate.host | Fallback | On demand if Frankfurter is unavailable |
| MCX India silver close | MCX official daily Bhavcopy report (CSV upload) | Primary | End of each Indian trading day |
| US macro indicators | Federal Reserve Economic Data (FRED): Federal funds rate, ten-year break-even, VIX | Primary | Daily, with publisher’s release schedule |
| Crude oil · copper · Nifty · S&P 500 | Yahoo Finance | Primary | Once per weekday at 10:30 IST |
| News-derived factors (Layer 3) | Web search via Anthropic API | Optional | On-demand via Factors Recon button |
The platform runs a fully automated compute job once per weekday at 10:30 AM Indian Standard Time (5:00 UTC). The job fetches all primary feeds in parallel, validates them, writes a signed snapshot to the public-snapshots table, and computes the four Beta features (market narrative, confidence explanation, delta vs yesterday, signal invalidation). The public viewer and the landing-page verdict pill read from this snapshot.
There is no intra-day re-computation. If you refresh the page at noon, the signal you see is the one computed that morning. The application’s public viewer displays the exact update timestamp next to the verdict.
Every record written to the platform carries five provenance fields: source (the upstream provider),
method (whether it was fetched live, derived by formula, or manually entered), fetched_at
(the moment we received it), lag_minutes (the gap between the source’s published timestamp and our
fetch), and verified (a boolean indicating whether the value was cross-checked against an independent
source). The calibration loop uses only records with verified = true.
Data feeds occasionally fail. When they do, the platform falls back in a predictable order rather than refusing to serve. The order, for the silver spot price, is:
The same waterfall applies to FX rates (Frankfurter → exchangerate.host → stale cache). At no point does the platform pretend to have current data when it does not — the freshness stamp is always visible.
The Indian rupee-per-kilogram MCX price is not the same as the global spot price multiplied by USD/INR. MCX prices embed three additional components that are entirely legitimate but that any procurement buyer must understand:
A 5 to 10 percent premium of MCX over the formula-derived spot is normal. Premiums below 0 or above 15 percent are flagged in the signal output and may trigger a kill criterion. See the Risk Disclaimer for the consequence of an active kill criterion.
All indicators are computed server-side from the underlying price data. None of them are downloaded from a third-party “indicator feed” that would obscure the calculation. The principal indicators are:
The exact formulae are visible in the platform’s public source code commentary inside the signal-engine module. We do not claim proprietary formulae for any standard indicator; the proprietary part of the platform is the combination of signals, the weight calibration, and the kill criteria.
If you spot a number that looks wrong on the platform, please tell us via the Beta feedback button. Include the date, the field, what value you see, what value you believe is correct, and your source. We act on data anomaly reports within one trading day.
We may add, replace, or remove data sources at any time as we improve coverage and reliability. Material changes — a new primary feed, a change in the MCX duty regime, or a methodology change in any indicator — will be reflected here, and announced on the homepage if they could change the meaning of historical signals.