Install and enable
Where the Chart Engine package goes, why the frontend must be rebuilt before it appears, how to activate the licence, and the two settings that decide which trading screens use it.
Chart Engine ships as a self-contained frontend package, not as backend routes
or database tables. Installing it is four things in a fixed order: activate the
licence in the Extension Manager, install the release from its product page and
let pnpm updator rebuild the frontend around it, switch the add-on on, then
turn it on per screen. Skip the rebuild and nothing changes — the site keeps
rendering TradingView and the only clue is a single warning in the browser
console.
Before you start
- A working Bicrypto install you can rebuild — see Server requirements
- An admin account that can open Admin → System → Extension Manager (permission
access.extension) - Shell access to the app directory, for the command that finishes the install
- The Chart Engine purchase code, from your MashDiv dashboard
- Enough free RAM to rebuild the frontend (8 GB is comfortable; 4 GB needs swap)
Where the files go
The package lives at exactly one path, and the parentheses are part of it:
frontend/components/(ext)/chart-engine/
├── index.tsx the component source
├── dist/index.js the built bundle — this is what the app actually loads
├── package.json declares main: ./dist/index.js
└── … indicators, drawings, renderers, panelsChart Engine is delivered as a single prebuilt bundle. Pressing Install on
its product page in the Extension Manager is what puts that bundle on disk, and
pnpm updator rebuilds the frontend around it. If you are unpacking a release
by hand, extract into the app root so the tree lands under
frontend/components/(ext)/chart-engine and not one level deeper.
The package's package.json points main at ./dist/index.js, so editing
anything under the addon's source directory changes nothing in the running site
until the bundle is rebuilt. A release always ships dist/ pre-built. You only
need to rebuild it yourself if you have customised the source:
pnpm build:chart-engineThat runs npm install and tsup inside the addon directory, and must finish
before the frontend build, not after.
Activate the licence
- The Chart Engine card — click it to open the product page
- Its switch stays disabled, reading Activate license first, until the licence is activated
Chart Engine is a licensed extension. Its identity in the platform is the
extension name chart_engine and the product ID 61364182. The licence is what
the settings screens further down this page look for before they offer Chart
Engine at all, so it comes before everything else.
-
Open the Extension Manager. Admin → System → Extension Manager (
/admin/system/extension; the screen needs theaccess.extensionpermission). Its heading reads Add-ons & Integrations. On the Extensions tab, or by searching for Chart, find the Chart Engine card and click it. Until its licence is activated the card's chip reads Activate and its switch is disabled, with the tooltip Activate license first. -
Activate the licence. The product page opens with a License Required chip; press Activate License. On the licence screen paste the purchase code from your MashDiv dashboard, optionally an email address for update notifications, and press Activate License. The screen confirms License Activated! and, for this product, lands you on Binary Settings a couple of seconds later — that is the per-screen switch from further down this page, and it is not the next step. Go back to the Chart Engine product page for the install. If the server has no outbound access, the License File tab on the same screen takes the licence certificate downloaded from your MashDiv dashboard instead, placed as
license.txtin thelicfolder at the project root.- Paste the purchase code here
- Activate License — then wait for the redirect
- License File — the offline route, for a server with no outbound HTTPS
- The Product ID — 61364182 for Chart Engine
The hourly licence heartbeat handles a revoked or expired result for product
61364182 by rewriting settings, not by showing a banner. It sets
binarySettings.display.chartType back to TRADINGVIEW, sets spotChartEngine
back to TRADINGVIEW, and every process picks the change up immediately.
Traders see TradingView again with no explanation, and an operator who does not know this looks for a chart bug rather than a billing problem. If your charts change provider on their own, check the licence first.
Install and rebuild
-
Install the release. Back on the Chart Engine product page — now the licensed view, with an Enabled switch in its heading and Overview, Releases and Capabilities tabs — the Overview tab has a release panel. If it offers Install v…, press it; if it says Up to date on a product you have only just licensed, press Check for Updates once, then install whatever it offers. The Releases tab holds the notes for the version you are being offered — read them first.
Install downloads the release, verifies it and extracts it over the project root, which is how the bundle lands under
frontend/components/(ext)/chart-engine. It builds nothing and restarts nothing, so finish it from a shell on the app root:pnpm updatorThat single command takes the platform down, checks dependencies, applies the schema and seed data, rebuilds the frontend and starts everything again. It is the whole install for an existing platform. If the panel still says Up to date after the check there is nothing to download; run the command anyway if this frontend has never been built with the bundle present, and move on.
- Check for Updates, then Install v… when it is offered
- Releases — the notes for the version you are about to install
- The Enabled switch — step 4, not yet
-
Confirm the files landed. The build's detection is a file-existence check, so this is the thing that decides everything downstream:
ls frontend/components/\(ext\)/chart-engine/dist/index.js -
Rebuild the frontend if you unpacked the files by hand.
pnpm updatoralready does this; a manual extraction does not.pnpm build:frontend pnpm restart -
Switch it on. Back on the product page — or on its card in the Extension Manager, usable now that the licence is verified — turn the Enabled switch on. Chart Engine has no admin console or user route of its own, so nothing new appears in the menus; what changes is that the platform now counts it among the active add-ons, and the admin dashboard's product card lists it as Running. It takes effect without a restart. No trading page has switched over yet — that is the per-screen settings below.
Why the rebuild is not optional
next.config.js looks for the addon on disk while it is loading, and turns that
one boolean into two things that cannot change at runtime:
NEXT_PUBLIC_HAS_CHART_ENGINEis baked into the client bundle as"true"or"false". The chart switcher reads that constant, not the filesystem.- A module alias redirects every import of
@/lib/stubs/chart-engine-stubto the real package. Without the alias those imports resolve to a stub component that rendersnulland exports nothing.
So a build that ran before the files existed produces a site that can never load the chart, however correct the settings are. The reverse is also true and worth knowing: deleting the addon without rebuilding leaves a bundle that still tries to import it.
Every screen imports the chart from the stub path, which always exists. On an install without Chart Engine the stub answers with a null component, the build succeeds, and each screen falls through to TradingView. That is the designed degradation — you will not see a module-not-found error either way.
Turn it on, per screen
Installing the addon does not switch any screen over. Each surface has its own setting, and each defaults to TradingView.
Binary trading
Admin → Binary Options → Binary Settings (/admin/finance/binary/settings,
permission access.binary.settings). The Chart Engine card only renders when the
licence is verified; pick Chart Engine Pro and save.
The value is stored inside the binarySettings setting. If that setting has
never been saved, or its display.chartType key is missing, the trade page
treats the value as TRADINGVIEW — the safe fallback, because it works whether
or not the addon is present.
Spot, futures and the Trading Pro workspace
- Confirm the provider still reads Chart Engine - a lapsed licence resets it silently
Admin → Trading Infrastructure → Trading Settings
(/admin/trading/settings), under the Chart group.
Set it to CHART_ENGINE. This one setting covers the classic trade page and
the Trading Pro workspace — the Pro layout mounts the same chart switcher in
spot or futures context, so it follows this value.
Bot terminal
Nothing to configure. The bot terminal shipped by Algo Trading Bots always asks for Chart Engine, because TradingView cannot draw a strategy's ladder. If the addon is missing the terminal falls back to TradingView and simply loses the overlays.
Verify the install
-
Open a trading page you switched over and confirm the chart's own toolbar is present — timeframe buttons, a chart-type picker, and buttons for indicators, alerts, replay, heatmap and fullscreen. TradingView has none of those in that arrangement.
-
Open the browser console. If you see
[ChartSwitcher] Chart Engine addon not installed. Falling back to TradingView., the build did not see the files. Rebuild the frontend. -
Add an indicator from the toolbar, reload the page, and confirm it comes back. Indicators persist in the browser, so this proves the whole chart is live and not a stub.
-
Watch the last candle move. A price that never changes means the historical fetch worked and the WebSocket did not — see Troubleshooting.
Removing it
Switching the add-on off is the same Enabled switch in the Extension Manager. It leaves the files and the licence in place, so switching it back on later needs no reactivation and no rebuild.
To remove it outright, delete frontend/components/(ext)/chart-engine, set both
settings back to TRADINGVIEW, and rebuild the frontend. Order matters here
too: rebuild after the delete, or the bundle keeps an alias pointing at a
directory that is gone.
Nothing else needs cleaning up. There are no tables to drop and no cron jobs to disable. User-side state — saved indicators, drawings, templates and favourites — lives in each browser's local storage and simply stops being read.
Next
- Admin settings — every switch in one place, including what each one does not cover.
- Data sources — the endpoints the chart will start calling once enabled.