Commercial
Questions we are asked
Support, browsers, mobile, accessibility, data licensing and the awkward ones.
Browsers and Platforms
Which Browsers Are Supported?
Current versions of Chrome, Edge, Safari and Firefox, on desktop and mobile. The
requirements are Canvas 2D, ResizeObserver, Pointer Events, Intl and ECMAScript 2020
syntax, all of which have been available in every major browser since 2020. There is no
Internet Explorer support and none is possible without a compilation step you would have to
add yourself.
One caveat worth stating: the automated test suite exercises Chromium only — the desktop pane, headless, and phone emulation. Safari and Firefox are expected to work and have not been put through the visual suite. If you find a rendering difference on either, report it; it is a bug rather than a limitation.
Does It Work on Mobile and With Touch?
Yes, and touch handling is in the engine rather than in the chrome, so it works on a bare
createFinancialChart as well as in the shell. Drag pans, pinch zooms, a long press raises
the crosshair, and a fast flick has momentum.
The shell adapts below 640 pixels: the toolbar drops its labels, the resolution strip scrolls horizontally, the drawing rail becomes a horizontal bar under the chart, and coarse pointers get 32-pixel targets.
Full screen uses the Fullscreen API where it exists and a fixed-position layer where it does not, which is the case on iOS Safari.
Is There a React Native or Native Mobile SDK?
No, and there is not going to be one. The honest answer for a mobile application is the web build inside a WebView — Capacitor, React Native WebView or the platform equivalent — which is the same code, the same license key and the same behavior.
Does It Work in Vue, Svelte or Angular?
Yes. The engine has no framework dependency at all; it takes an element and returns an
object. The only framework-specific package is @ortex-charts/react, and it exists because
ORTEX needed it, not because the core requires anything.
A binding in any framework is the same three steps: create the chart in a mount effect, call
applyOptions or setData when props change, and call remove on unmount. Reading
the React source is a reasonable template.
Rendering and Size
How Big Is It?
77 KB gzipped for the full chart with the toolbar, drawings, indicators and order flow; 56 KB for candles and volume, 37 KB for a line chart, and 4.8 KB for the sparkline build. All in one file each, with no chunk loading at runtime. See Performance for how those are measured and how they compare.
Is It Canvas or WebGL?
Canvas 2D. That is a deliberate choice and it has a real ceiling.
Canvas 2D with typed-array columns, visible-range-only work and decimation holds 60 Hz to a few hundred thousand visible points, which covers every normal financial size: a decade of daily bars is 2,500 rows, and a decade of minute bars is about a million rows of which only the visible window is drawn.
What it does not do is millions of points all on screen at once without decimation. If that is your product, SciChart's WebGL renderer is the right tool today. A WebGL path behind the same API is on the roadmap and is not implemented.
Why Is My Chart Blank?
Almost always one of three things: the container has no height, the timestamps are in seconds rather than milliseconds, or the chart was created during a server-side render. See the common problems in Quickstart.
Data and Privacy
Is Any Data Sent Anywhere?
No. There is no analytics call, no usage beacon, no license check over the network and no hidden call-home in the library. The license key is verified locally with WebCrypto against a public key embedded in the bundle. Your bars, your symbols, your users and your layouts never leave the browser through anything the library does.
Two things are disclosed rather than hidden, and both are in the contract:
- The hosted kit's CDN logs. If you load the library from
cdn.ortexcharts.com, that CDN sees the requests, which means which domain loaded which kit and when. It is a standard web server log with no user data in it. Registry customers who bundle the packages themselves do not touch ORTEX infrastructure at all. - An optional license check-in. The agreement describes a documented check-in carrying
{ keyId, hostname, version }once per session, which enterprise customers may switch off. It is disclosed because a hidden one would be blocked by ad blockers and content security policies, would be a privacy liability, and would be the first thing a copier deleted. Nothing about it is covert.
There is no third position. If a privacy review asks "does this library phone home", the answer is no, and the two items above are the complete disclosure.
Do I Need a Data Subscription From ORTEX?
No. The library consumes data; it does not supply it. There is no bundled feed and no requirement to buy one. The ORTEX adapter preset exists because ORTEX is a customer of its own library, not because you have to be.
Can It Fetch Data Itself?
Only through what you give it. A datafeed is your code. An
adapter spec tells the library which URLs to call and how to read the
responses, using the browser fetch and WebSocket you would have used yourself. Nothing
is requested that your spec did not name.
Where Are Layouts and Drawings Stored?
Wherever you put them. getLayout() returns JSON, getDrawings() returns an array, and
list() on the alerts primitive returns a list. There is no ORTEX storage service and no
save-and-load server contract. See The shell and layouts.
Licensing
What Happens When a License Expires?
The ORTEX mark comes back and one warning is written to the console. Nothing else changes: the chart draws, the data updates, every feature works. Keys carry a 14-day grace period beyond the subscription period end, and a renewal re-signs onto the same key id and the same kit URL, so nothing in your deployment changes from year to year.
Does the Chart Ever Stop Working?
No. There is no state — no key, invalid key, expired key, wrong domain, revoked key — in which the library refuses to draw, degrades the data or disables a feature. A chart that broke over a licensing problem on a Friday night would be a support ticket for both of us; a branded one is a sales lead.
Is the License Key a Secret?
No. It ships to the browser, it is bound to your domains, and anyone can read it out of your
bundle. Treat it like a publishable API key. What is secret is the npm registry token in
your .npmrc, which grants package downloads and belongs in your continuous-integration
secrets.
Do I Need a License to Evaluate It?
No. The library is fully functional unlicensed; the only difference is the mark.
localhost is always allowed on every key, so local development never fails a domain check
either.
Can I Remove the ORTEX Mark?
Only with a license that grants the whitelabel feature, which is the White-label plan and
above. Setting branding.visible = false without it is ignored and logs one line. See
The ORTEX mark and /pricing.
Is It Open Source?
No. It is a commercial library. Source access exists under OEM and enterprise agreements;
see Installation and delivery. The only runtime dependencies are six
ISC-licensed D3 modules, plus d3-hierarchy for the viz package.
Can I Redistribute It Inside My Own Product?
Embedding it in an application you sell is what the Team and White-label plans are for. Redistributing the library itself — shipping it as a component your customers then build with — is an OEM matter, because it changes who the licensee is. Ask.
Features and Limitations
How Many Indicators Are There?
Eighteen. TradingView Advanced Charts ships about 110 and Highcharts Stock about 50, so this is a real gap and it is the most common source of unplanned work in a migration. Registering your own is about 20 lines and it then behaves exactly like a built-in one. See Indicators.
Is There Pine Script or Another Indicator Language?
No, and there is no plan for one. A scripting language is a decade of work and a permanent support burden. Indicators here are TypeScript, which is strictly more capable — and strictly less safe for end-user authoring, which is the trade-off. If letting your users write their own indicators is a product requirement, this library does not solve it.
How Many Drawing Tools Are There?
Nine: trend line, ray, horizontal line, vertical line, rectangle, parallel channel, Fibonacci retracement, measure and text, with magnet snapping, handle editing, undo, redo and JSON serialization. The rest of the Fibonacci family, Gann tools, pitchforks, position tools and shapes are not built in. See Drawing tools.
Can I Show Several Charts in a Grid?
Yes, but the grid is your CSS. linkCharts synchronizes the visible time range and the
crosshair across any number of charts, across resolutions, and a bar replay can drive
higher-timeframe followers. There is no built-in two-by-two layout container. See
Replay, linking and alerts.
Is There a Navigator Strip or Range Buttons?
No. Range presets are a few lines on setVisibleTimeRange and fit naturally as
toolbar actions; there is an example on
Time, sessions and resolutions. A navigator mini-chart is not built in.
Can the Chart Be Rendered on a Server?
No. The library is browser-only: it creates canvases, reads devicePixelRatio and observes
element sizes. There is no headless rendering mode. Chart images for emails and social cards
are better solved by a separate rendering service.
In React this means creating the chart inside an effect, which the components already do;
the file still needs "use client" in Next.js. See
Installation and delivery.
Is It Accessible?
Partially, and the gaps are worth knowing before you commit.
Implemented: the chart is focusable and responds to arrow keys, +, - and Home; toolbar
buttons carry aria-pressed; menus are role="menu" with arrow-key navigation, aria-checked
on toggles and focus return; dialogs are role="dialog" with aria-modal and a focus trap;
icon-only buttons have accessible names; reduced motion is respected.
Not implemented: there is no screen-reader description of the chart data, no focusable data table as an alternative representation, and no high-contrast theme shipped. If conformance is a procurement requirement, weigh those; Highcharts Stock ships an accessibility module and this library does not. The CSV export plus a table of your own is the honest interim answer.
Is the Interface Available in Other Languages?
Dates and numbers localize through Intl and follow the chart's locale option. The
interface strings — toolbar labels, menu entries, dialog titles — are English only, and
there is no string table to supply. A host that needs another language today switches the
toolbar off and drives the chart from its own controls, which are all public methods.
Does It Do Order Entry, Positions or Depth of Market?
No. Price lines and draggable alerts are as close as it gets. Order and position lines with drag handles are a small primitive on a documented interface and would be built if a customer needed them; a broker integration is deliberately out of scope.
Support and Process
How Does Support Work?
By email, at charts@ortex.com. Team plans include email support; White-label includes priority support; OEM agreements name an engineer and carry a service-level agreement. Commercial questions go to sales@ortex.com.
When reporting a rendering problem, window.__ORTEX_CHARTS_KIT__ on a hosted kit carries
the kit id, key id, plan and library version, which is the fastest thing to quote.
How Often Is It Released?
Within a major version, hosted kits pick up new releases automatically the next time the file is fetched; registry customers upgrade on their own schedule. A subscription buys the versions released while it runs, and under the White-label plan the last version released during the term keeps working with its key indefinitely.
Can I Get the Source?
Under an OEM or enterprise agreement, yes: read access to a repository mirror with the TypeScript source, the tests and the playground. Outside that, published packages are minified with no source maps.
Something Is Missing That I Need. What Now?
Ask. The library is young, the roadmap is short, and the extension points — series types, indicators, primitives — are the same ones the built-ins use, so a lot of what looks missing is a day of work rather than an architectural change. Where the answer is genuinely no — Pine Script, native mobile, a broker integration — this documentation says so rather than implying a date.