Install and enable
The prerequisite chain for the Binary Trading AI Engine — Ecosystem, AI Market Maker, an ECOSYSTEM-source binary market — plus the extension row that gates the cron, licence activation, permissions and how to prove it is running.
The addon ships inside the same repository tree as everything else. There is no
separate installer, no pnpm install step of its own and no service to start.
What "installing" means here is: get the four prerequisite layers in place,
switch the extension row on so its cron registers, and then build your first
engine.
Getting the order wrong is the most common failure. Every symptom on the Troubleshooting page traces back to one of the steps below being skipped.
Prerequisites, in order
- A working Bicrypto install — see Server requirements
- Binary trading switched on in core (
binaryStatus) - The Ecosystem addon installed, licensed and enabled
- At least one ecosystem market for the pair you want to run
- The AI Market Maker addon installed, licensed and enabled
- An AI Market Maker created for that ecosystem market, and ACTIVE
- A binary market for the same pair with
source= ECOSYSTEM - Rise/Fall enabled under Finance → Binary → Settings
- This addon's files present and its
binary_ai_engineextension row enabled - Your admin role holding the
access.ai.binary_enginepermission
Why each layer is non-negotiable
Ecosystem. The engine refuses to steer any market whose binaryMarket.source
is not ECOSYSTEM. On an exchange-backed market the tape belongs to Binance or
KuCoin — no amount of steering makes your settlement agree with their chart, so
steering there is guaranteed to be detectable. The refusal is recorded as
FAIR:MARKET_NOT_ECOSYSTEM.
AI Market Maker. An engine is attached one-to-one to an aiMarketMaker row
(the column carries a unique index, so a market maker can host exactly one
engine). The market maker owns the published price series; the engine writes the
steered close into it and updates the market maker's lastKnownPrice so the
chart and the trade history agree.
More importantly, an engine whose market maker is not ACTIVE has no independent
writer on the tape. Entries would read the last candle close and settlements
would publish into it — both numbers the engine itself last wrote. That is the
one configuration where steering is indefensible, so it fails safe:
FAIR:MARKET_MAKER_<status>.
Rise/Fall. The engine only steers RISE_FALL orders. If that type is
disabled under Finance → Binary → Settings, the engine has nothing to work
on. Every other binary type settles untouched no matter what the engine is doing.
Enable the extension
The extension row is the switch that matters, because the cron scheduler reads it directly from the database.
-
Open the extensions screen — Admin → System → Extensions. Find Binary AI Engine (
binary_ai_engine, product ID61364183). -
Activate the licence if the screen asks for one. Activation happens under Admin → System → License with the product ID above and the purchase code from your Envato account. The box needs outbound HTTPS to reach the licence host.
-
Toggle the extension to enabled. The toggle writes
extension.statusand clears the settings cache. -
Wait for the cron to pick it up. The scheduler re-reads the enabled extension set periodically and registers or deregisters addon jobs without a restart. Within a minute you should see
processBinaryAiEnginein Admin → System → Cron, running on a 10 second period.
processBinaryAiEngine is filed under the binary_ai_engine category. If the
extension row is off, that cron is never scheduled — so no engine is loaded into
memory, no period ever rolls over, no correlation monitor runs, and the
settlement hook finds nothing resident and settles fairly. The engine rows can
sit at ACTIVE in the database the whole time and look perfectly healthy on the
list screen.
What the cron does
Understanding this job explains most of the addon's behaviour.
Every 10 seconds it:
- reads the global master switches and fails closed — if the settings store cannot be read at all, the engine is treated as disabled rather than left running blind;
- refreshes the global min/max win-rate band used to clamp every decision;
- boots the engine singleton once, then reconciles database status against memory on every cycle — this is restart recovery, and it is why an ACTIVE engine comes back by itself after a deploy or a crash;
- rolls over win-rate periods that have come due (checked about once a minute) and closes A/B tests that have reached their configured duration;
- keeps an external price correlation monitor running for every engine that has one enabled;
- retrains and applies the machine-learning win-rate recommendation for engines that opted in, at most one engine per cycle and no more than once every six hours.
The per-second steering loop is separate: the cron supervises lifecycle and the kill switch, the tick loop does the work.
The tick loop and the in-memory engine map live on the main thread. The shipped
entry point (pnpm start) is a single process, so this is not a limitation you
will hit. If you switch to the threaded backend entry or PM2 cluster mode,
engines cannot be started or stopped from the admin screens at all, and the
per-order exposure cap falls back to a short-lived database lookup. Do not run
this addon under cluster mode.
Permissions
The addon adds one access key and twenty-three scoped keys. A role that should
administer engines needs at least access.ai.binary_engine — without it the
menu entry does not render and the dashboard endpoint returns 403.
| Area | Keys |
|---|---|
| Console | access.ai.binary_engine, access.ai.binary_engine.settings |
| Engines | view / create / edit / delete / manage .ai.binary_engine.engine |
| Tiers | view / create / edit / delete .ai.binary_engine.tier |
| Cooldowns | view / edit / delete .ai.binary_engine.cooldown |
| Snapshots | view / create / delete / manage .ai.binary_engine.snapshot |
| Analytics | view / create / edit / delete / manage .ai.binary_engine.analytics |
| Correlation | view / edit .ai.binary_engine.correlation |
manage.ai.binary_engine.engine is the destructive one — it covers the emergency
stop that halts every engine at once. manage.ai.binary_engine.snapshot covers
rollback. Grant both sparingly.
Permission keys are seeded, not created on demand. See Permissions for how a key is derived and the places it has to exist.
Where the screens live
The admin console is at /admin/ai/binary-engine, reachable from Admin → Extensions → Trading Automation → Binary AI Engine. Its own navigation is:
| Screen | Path |
|---|---|
| Dashboard | /admin/ai/binary-engine |
| Engines | /admin/ai/binary-engine/engine |
| Analytics | /admin/ai/binary-engine/analytics |
| Price Correlation | /admin/ai/binary-engine/correlation |
| User Tiers | /admin/ai/binary-engine/tiers |
| Cooldowns | /admin/ai/binary-engine/cooldowns |
| Snapshots | /admin/ai/binary-engine/snapshots |
| Settings | /admin/ai/binary-engine/settings |
Core binary trading stays where it was: Finance → Binary → Markets, Finance → Binary → Settings and Finance → Orders → Binary Orders. Payouts, durations, order types and per-user order limits are all set there, not here.
First run, safely
Do not point a fresh engine at live money on day one.
-
Seed the tiers. Enabling the extension runs a seeder that writes five default tiers — BRONZE, SILVER, GOLD, PLATINUM, DIAMOND — for each existing engine, with bonuses of 0%, +1%, +2%, +3% and +5%. If you create your first engine afterwards, add its tiers by hand under Users → User Tiers.
-
Create an engine against an ACTIVE market maker. New engines are created PAUSED, never ACTIVE — see Engines.
-
Turn on simulation mode on the engine before you activate it. In simulation the engine analyses buckets and records everything it would have done, and settlement is never steered.
-
Activate it and leave it in simulation for a full period. Watch the engine's audit log fill with
SIMULATION_RUNrows and confirm the decisions look sane. -
Check the dashboard's settlement verdict breakdown. It counts the last 24 hours of settlements by reason. In simulation every one should read
FAIR:SIMULATION_MODE. -
Only then turn simulation off, and start with a conservative
maxPriceAdjustmentPercentand amaxDailyLossyou are genuinely willing to lose.
Verify the install
Four checks, in order. If one fails, stop there.
| Check | Where | Expected |
|---|---|---|
| Cron registered | Admin → System → Cron | processBinaryAiEngine, 10s period, status not failed |
| Market maker running | Admin → Extensions → AI Market Maker | The attached market maker is ACTIVE |
| Binary market feed | Finance → Binary → Markets | The pair exists with source ECOSYSTEM and status on |
| Engine attached | Engine detail screen | Status ACTIVE, and the status response reports engineAttached: true |
engineAttached is the one that catches a silently dead install: it says whether
this process is actually running the engine, rather than merely recording that
it should be.
Uninstalling
Toggling the extension row off is enough to stop everything: the cron deregisters within a cycle, correlation monitors are torn down, and the settlement hook stops finding a resident engine — every subsequent order settles on the honest close.
Engine rows, positions, tiers, cooldowns, snapshots and the audit log are all left in place. Deleting an engine cascades to all of them, so if you want the history, do not delete the engine.