AI Market Maker 6.1.2

29 July 2026

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

PRICE ENGINEVOLATILITYFAIRNESSSECURITYAI MARKET MAKERSTABILITYCLEANUP

AI Market Maker v6.1.2

Release Date: July 29, 2026 Tags: PRICE ENGINE, VOLATILITY, FAIRNESS, SECURITY, AI MARKET MAKER, STABILITY, CLEANUP

Overview

Version 6.1.2 replaces the price engine. The previous one advertised multi-timeframe behaviour it did not deliver — a market configured for 2% daily volatility realised 0.78%, and its micro-texture repeated verbatim every 25,600 updates, which a patient client could record and trade against.

The new engine plans a market's character months ahead, holds the volatility you configure at every timeframe from one minute to one week, and never repeats.

Update Instructions

pnpm updator

Three columns are added to the market-maker table on the next backend start. Nothing else is required — running markets pick up the new engine automatically and continue from their current price.


Highlights

Why the old engine was replaced

These are measurements, not estimates:

ConfiguredActually delivered
Daily volatility2.00%0.78%
Phase target of +40% over a day+40%+0.12%
Micro-texture repeat intervalneverevery 25,600 updates

The cause was a single unit error: every deliberate component — phase drift, session shape, texture, momentum, external gravity — was divided by 86,400 before it reached the price. The entire multi-timeframe system was decorative; what shipped was a plain random walk. That is why markets looked reasonable minute to minute and had no structure above it.

The stability fix that ships with it

The market-maker emergency-stop now returns a clear 503 instead of a generic crash when the ecosystem extension — which it depends on for order routing — is absent. The legacy bot subsystem the new engine supersedes is deleted; nothing outside it used it.


Upgrade Notes

Compatibility

Requires Core v6.4.9 or higher and the Ecosystem extension for live operation.

Configured volatility now takes effect as written

  • Changed: nothing breaks. Existing markets keep their configuration and continue from their current price.

Added

Multi-horizon planning

Each market now follows a plan built from four nested layers, the longest spanning roughly three years:

  • Campaign (30–150 days) — the prevailing era: bull cycle, bear cycle, range, recovery, blow-off or grind.
  • Chapter (4–35 days) — the movement within that era.
  • Swing (6 hours – 6 days) — the leg a swing trader would name.
  • Session (1–10 hours) — intraday character, with a per-market phase offset so two markets never breathe in sync.

The plan is a pure function of the market's seed and the wall clock, so nothing has to be stored, and a restart resumes exactly where it left off rather than starting a fresh story.


Changed

Volatility now matches configuration

Realised volatility is held within a few percent of the configured figure at 1m, 5m, 15m, 1h, 4h, 1d and 1w simultaneously. Previously only the shortest timeframe was close and everything above it collapsed.

Markets also show the characteristics real ones have: fat tails, and volatility clustering that decays gradually over hours rather than resetting each bar.

Prices no longer repeat

Randomness is now generated from a counter-based cipher keyed on absolute time. There is no lookup table and therefore no cycle — a market run for years never replays a sequence it has produced before, and two markets on the same server share no structure.

The old noise generator is retained solely so the test suite can prove its repetition detector works: the suite finds the 25,600-update cycle in the old generator and confirms its absence in the new one.

A note on structure versus predictability

Visible structure and unpredictability pull against each other: a planned four-hour leg large enough to see is also large enough to bet on. The engine resolves this deliberately.

The plan controls volatility, regime and jump intensity strongly — that is what makes a chart look alive, and none of it favours a rise or a fall. It controls direction only within a bounded budget. The large multi-month swings come from slow mean-reverting components which, over any short window, are as likely to go up as down.

The result: the chart has the shape traders read meaning into, while no strategy conditioned on recent returns, time of day, volatility regime or distance from the anchor beats a coin flip by a meaningful margin.

Removed

The rewrite supersedes an older bot subsystem, which is removed in full. Nothing outside it used any of it, so removing it changes no shipped behaviour.

Bot personalities are a live, documented feature — they are simply implemented elsewhere. The supported path is database-backed, with per-bot creation, editing, statistics and lifecycle driven by the admin Bot Management screen. Every capability in the removed code already exists there:

  • personality-driven side selection (accumulator/scalper/market-maker take the buy leg; distributor/swing take the sell leg)
  • per-bot daily trade caps, with a scheduled job that resets the counters
  • configuration-driven order sizing and human-like size variance
  • volatility-aware dynamic spread — strictly better than the removed fixed 15 bps
  • per-bot pause/resume, and richer aggregate statistics

The one thing the old subsystem did differently was order-flow-first price formation, where price emerged from bot orders and each personality applied a directional bias. That is not a missing capability — it is precisely the model the new engine replaces. The current engine is price-first: the price process advances each tick and trades are printed to follow it. Re-introducing order-flow-driven pricing would re-open the exploitability this release closes, so it was not a candidate for wiring.

No migration and no configuration change. Existing bots, markets and statistics are unaffected — they were already served by the live engine.


Fixed

Exploitable price behaviour

Four defects that let a client trade against the engine rather than the market:

  • Fixed hard price bounds acting as reflecting barriers. A market pinned at its configured maximum had a zero probability of rising — a free trade for anyone who noticed. Containment is now a property of the model itself (a slow mean-reverting component), not a clamp, so the price stays bounded without any point ever becoming one-directional.
  • Fixed momentum events re-applying their full magnitude on every update for their whole duration, compounding into a five-minute known-direction ramp of +13% / −9%.
  • Fixed every momentum event opening with exactly ±0.500000%, a perfect start-of-move detector on the public tape.
  • Fixed restarts being discontinuous, printing a visible jump whenever the process was restarted.

The seed is no longer exposed

  • Fixed several admin endpoints returning a market's entropy seed, which determines its entire future price path. It is now stripped from every API response, along with the stored engine state.