Forex & Multi-Asset Trading 6.0.2

1 August 2026

This release has upgrade notes. Read them before updating — they describe behaviour changes that need your attention.

PROVIDERSMARKET DATACTRADERSTREAMINGCOSTSADMINSETUPONBOARDINGOAUTHDOCSUIBUG-FIXES

Forex & Multi-Asset Trading v6.0.2

Release Date: August 1, 2026 Tags: PROVIDERS, MARKET DATA, CTRADER, STREAMING, COSTS, ADMIN, SETUP, ONBOARDING, OAUTH, DOCS, UI, BUG-FIXES

Overview

A market data release. cTrader Open API is now a market data provider — the only one whose live feed is free — and the provider screen has been rebuilt around choosing between them.

The terminal quotes from the provider's WebSocket and from nothing else, so a plan without streaming produces a terminal that shows a last price and refuses every order. Every provider supported until now charged for that. The provider screen now states plainly which plans stream, what each costs, and lets a key be tested — including the stream — before it is saved and the server restarted.

Requires Core v6.6.0.

Update Instructions

pnpm updator

No schema change. The cTrader provider row is created on the first load of the provider screen after upgrading; it ships switched off and changes nothing until activated.


Upgrade Notes

  • Nothing about the existing providers has changed. Twelve Data, Finnhub, TraderMade and Polygon behave identically after this upgrade.
  • The repeating "Your plan doesn't include websocket access" log line is unchanged and still expected on a plan without streaming. It repeats because the connection keeps retrying at its slowest interval so the feed recovers on its own if the plan changes. It reports your subscription, not a fault.

Added

cTrader Open API as a market data provider

Free live prices and chart history from any cTrader-affiliated broker (IC Markets, Pepperstone, FxPro, Axi, Fusion). No data plan, no per-symbol charge, no per-account fee — a demo account is free and opens in minutes.

  • Added streaming bid/ask prices, which is what makes an instrument tradable.
  • Added chart history on every timeframe the terminal draws except 2-hour, 6-hour and 3-day, which cTrader does not publish and the platform already builds from other timeframes.
  • Added instrument discovery from the broker's own symbol list, so the catalog import matches what that broker actually offers.
  • Applies to forex and precious metals on every broker. Indices, shares and crypto CFDs vary by broker.

The cTrader feed is not yet broker-verified

The cTrader price feed has not yet been verified against a live broker account. The connection and sign-in are shared with the A-book bridge that has been in production since 6.0.1, but the live price subscription and history request are new and have only been written against Spotware's published protocol. Two details in there decode prices, and a mistake in either produces wrong numbers rather than an error — prices a hundred times too large on yen pairs and metals while looking correct on EUR/USD, or candles decoding near zero.

  • Point a demo account at it before a live desk. Because the failure is wrong numbers rather than an error, nothing will alert you — the feed will look healthy while quoting badly.
  • Check a yen pair and a metal, not just EUR/USD. Those carry different decimal places, which is exactly where a decode mistake shows up; EUR/USD can look perfectly correct while both are wrong.
  • Compare the first candles against your broker's own chart. A decoder fault that survives the live quote can still land history near zero.

Provider comparison on the admin provider screen

  • Added a comparison table covering every provider, ordered so recommended and free-streaming options come first.
  • Added a Streams on free tier column, placed first because it decides whether a free plan can run a desk at all.
  • Added cost, coverage, history depth, best-use and known limitations per provider.
  • Added a redistribution column stating whether each vendor's terms allow showing its prices to your own customers — every free tier forbids it, and the paid tiers that allow it price it separately.
  • Added coverage, cost and a streaming badge to each individual provider card.

Credential setup guide and test-before-saving

  • Added a How to get credentials panel to every provider card, with step-by-step instructions written for that vendor and direct links to its signup and key pages.
  • Added a Test without saving box that validates a pasted key against the vendor, opens the quote stream to prove the plan includes it, then discards everything. Nothing is cached, persisted or written to logs.
  • Added a ready-to-paste configuration block, printed once a test passes.
  • Applies to the credential check alone was never enough — it is a simple price request that a non-streaming plan answers perfectly well, so the stream probe is the part that decides whether the desk can trade.

cTrader connection flow

cTrader issues no key to copy — it uses a sign-in grant, so no broker password is ever handed over and access can be revoked from your cTrader settings at any time.

  • Added the exact redirect address to register on your cTrader application, with a copy button, shown before anything else is configured.
  • Added a Connect cTrader account button that runs the grant and returns to a page completing the setup.
  • Added display of the refresh token and every trading account the grant can see, each labelled Demo or Live with its broker login.
  • Added caching of the tokens as soon as they are issued, so the provider works immediately — before the configuration file has been edited. Copy them across anyway; the cache does not survive a restart.
  • Added a paste box on the callback page accepting the authorization code by hand.
  • Applies to doing this on the server is what makes it workable — the authorization code expires after sixty seconds, exchanging it needs the application secret, and the account identifier the platform needs is not the account number the cTrader app displays but an internal value readable only over the trading connection.

Documentation

  • Added a Market Data Providers page: the streaming constraint, the full comparison, credential walkthroughs for all five providers with configuration examples, and troubleshooting for the failures operators actually hit.

Changed

  • Changed cTrader to the recommended provider, marked on its card and sorted to the top of the comparison.
  • Changed the "API Key Missing" badge to Credentials Missing, and cards now name every setting a provider needs while marking only the missing ones.
  • Changed the cTrader sign-in to open in the same tab. It opened in a new one, so the page completing the setup appeared in a tab you had navigated away from while the tab you returned to appeared unchanged.

Fixed

Part of the provider screen was invisible

  • Fixed the provider comparison table, the connection-error card and the "no providers registered" message rendering at full height and zero opacity — composed, occupying their space, and impossible to see. It read as a large blank gap between the catalog import panel and the provider cards.
  • These cards animate in with the page, and that animation only reaches elements present when the page first draws. All three appear a moment later, once the provider list has loaded, so they stayed permanently in their starting state.
  • Applies to the empty state and error card have been affected since they were added; the comparison table was new in this release and is what made it noticeable.

cTrader could not be activated

  • Fixed the activation check requiring a setting named APP_CTRADER_API_KEY, which no part of the platform reads. cTrader signs in with four values, none of them called that, so a correctly configured installation was refused activation and told to set a variable that does nothing.
  • Fixed the same assumption on the provider list, which reported a fully configured cTrader as missing its API key and named that non-existent variable in the instructions.

Providers with more than one credential were skipped as fallbacks

  • Fixed the chart-history and calendar fallback chains testing for a single setting per provider, so a provider signing in with several values looked unconfigured and was silently skipped as a history source even while its live feed worked.
  • Applies to cTrader only today, but the check is now generic — a provider counts as configured when the credentials it actually uses are present.