Methodology

Our Methodology

Transparency about how we collect, aggregate, and present financial market data is fundamental to our credibility. This page explains exactly how ThePriceChart.com works — from the APIs that power our live price feeds to the editorial standards that govern our written content. If you have questions about anything described here, contact us at hello@thepricechart.com.

Data Sources

All live prices displayed on ThePriceChart.com are fetched directly from cryptocurrency and derivatives exchange APIs. Our primary data source is the OKX API (v5), which provides real-time SWAP instrument candle and ticker data. We use Bybit and Bitget as secondary and tertiary fallback sources respectively, ensuring there is no single point of failure in our data pipeline.

Every price you see on a page like XAUUSD is derived from actual exchange trading activity — these are live market prices from real order books, not derived estimates, interpolated values, or delayed feeds. We do not manufacture or adjust price data in any way.

This three-source architecture means that even if the primary exchange API experiences downtime or a rate-limiting event, our price displays continue to function using the next available source.

Price Aggregation

Cross-origin API requests from browser clients are handled by a CORS proxy deployed on Cloudflare Workers. This lightweight serverless layer sits between the browser and the exchange APIs, enabling client-side price polling without exposing API credentials or creating cross-origin policy conflicts.

Prices poll on a 30-second interval. On each poll cycle, the client attempts to fetch from the primary source (OKX). If that request fails — due to network error, timeout, or API unavailability — it automatically falls back to Bybit. If Bybit also fails, it falls back to Bitget. If all three sources are unavailable, the page continues to display the most recently fetched price (last known data), so users always see meaningful information rather than a broken or empty chart.

Chart data displayed on pages such as the XAUUSD chart is rendered in real time using the same API pipeline, with candle data updated as new price ticks arrive from the exchange.

Exchange Selection Criteria

The exchanges and brokers featured in our comparison tables — for example on the XAUUSD brokers page — are selected and evaluated based on a structured set of criteria. Forex brokers and cryptocurrency exchanges are assessed on different frameworks appropriate to each category.

For all platforms, we evaluate:

We do not accept payment for inclusion in comparison tables. A platform's presence in our comparisons is based solely on the availability of the relevant instrument and our ability to verify the required data points.

Editorial Independence

Our comparison tables and editorial content are not influenced by affiliate relationships. Platform rankings are based on objective criteria: regulatory tier, spread or fee competitiveness, and platform capabilities — in that order of priority.

We feature both brokers we have affiliate relationships with and those we do not. A platform that pays us a higher commission rate does not receive a higher ranking, a more favorable description, or preferential placement in a comparison table. Conversely, a platform that pays no commission is not penalized or excluded if it meets our inclusion criteria.

No platform has editorial input or approval rights over our content. We do not send draft content to brokers or exchanges for review before publication. If a platform disputes a data point we have published, we investigate independently and update only if we can verify the correction from an official source.

Our full affiliate disclosure is available on the Disclaimer page.

Content Standards

All content on ThePriceChart.com is written by humans with direct knowledge of trading markets. We do not publish machine-generated content without human review, editing, and verification.

We follow editorial standards modeled on those of established financial comparison publishers:

Update Frequency

Different content types on ThePriceChart.com are updated on different schedules, reflecting the nature of each data type:

If you notice information that appears to be out of date or inaccurate, please contact us at hello@thepricechart.com so we can investigate and correct it promptly.

Automated Spread Data Pipeline

In addition to the live prices described above, ThePriceChart.com operates a dedicated spread-monitoring pipeline built on Cloudflare Workers and Cloudflare D1 (SQLite at the edge). This pipeline records bid-ask spread measurements every 4 hours across 6 cryptocurrency derivatives platforms, building a proprietary 30-day spread history dataset that is not available from any single exchange or third-party data provider.

How the pipeline works

  1. Scheduled collection (Cron trigger: every 4 hours) — A Cloudflare Worker fires on a fixed schedule (0 */4 * * *) and concurrently fetches the current bid-ask spread for all three assets (XAUUSD, XAGUSD, USOIL) from each supported platform's official API.
  2. Validation and circuit-breaker logic — Each reading passes through a spread-validity check before being written to the database. Readings are rejected if the spread is zero or negative, if the spread exceeds a platform-specific upper bound (e.g., >5.0% for XAUUSD), or if the API response is malformed or times out after 8 seconds. Rejected readings are logged but never stored as valid data points.
  3. D1 write and TTL management — Valid readings are batch-inserted into the spread_readings table in Cloudflare D1. A TTL (time-to-live) cleanup step automatically deletes readings older than 30 days, keeping the dataset compact and relevant.
  4. Aggregate computation — After each collection cycle, SQL aggregates are recomputed: 24-hour average, 7-day average, 30-day average, standard deviation, minimum, and maximum. An industry average across all platforms is also stored for benchmarking individual platforms.
  5. KV cache — Aggregated results are written to Cloudflare KV with a 4-hour TTL, enabling sub-millisecond reads for the /api/spreads and /api/spreads-history API endpoints without querying D1 on every request.

The complete pipeline source code, including fetcher logic, validation rules, and schema definitions, is available at /.well-known/spread-feeds.json — a machine-readable feed descriptor that documents the collection parameters for each supported platform and asset.

What "spread" means in this context

The spreads reported by ThePriceChart.com are the bid-ask spread expressed as a percentage of the mid-price at the moment of measurement. For a perpetual futures contract where the best bid is 3,299.50 and the best ask is 3,300.50, the spread is recorded as (3300.50 − 3299.50) / 3300.00 × 100 = 0.0303%. This normalised representation allows meaningful comparison across assets with different absolute price levels.

Spreads are measured at the moment the scheduled cron fires. Intra-period spread volatility (e.g., a spike during a news event) will only be captured if it coincides with a collection window. We do not interpolate between collection points.

Affiliate Disclosure

ThePriceChart.com earns revenue through affiliate links. These links are identifiable by the /go/ prefix in the URL (for example, thepricechart.com/go/broker-name). When you click a link with this format and subsequently sign up for an account or make a qualifying deposit with the platform, we may receive a commission. This commission is paid by the platform and comes at no additional cost to you — the fees and terms you receive are identical to those available on the platform's own website.

This affiliate revenue model is what allows us to provide free, comprehensive market data, live charts, and platform comparisons to all users without charging subscription fees or requiring account registration.

Important points about our affiliate relationships:

For more information about ThePriceChart.com and the team behind this site, visit our About page.

External Research Citations

The spread data collected by ThePriceChart.com is used as a primary source by independent academic and market research initiatives. The Global Commodity TradFi Spread Index (GCTSI) is a quarterly research publication that cites ThePriceChart.com data to benchmark bid-ask spread efficiency across the nine platforms we monitor — spanning regulated forex brokers (IG, Exness, FXCM) and crypto derivatives exchanges (Bybit, OKX, Bitget, Flipster, Binance, CoinEx).

GCTSI publishes its reports at gctsi.org/reports and operates independently of ThePriceChart.com. Their quarterly index provides an academic-format analysis of the spread data we publish, including cross-platform efficiency rankings and structural comparisons between CFD and perpetual contract instruments.

Last updated: