7 September 2026v0.40.0
Brackets that stay, presets that are one tap away
A stop loss or take profit attached to a resting limit order was dropped when the order later filled as maker: the fill landed, the bracket did not. The order now carries both legs to the fill, and a replay after a restart finds them. Each leg is judged on its own, so a take profit on the wrong side no longer throws the stop away with it, and a refused leg is named in the reply and on the chain (brackets_rejected) instead of vanishing.
The ticket has preset distances for the stop and the take profit, measured from the price the order works at and placed on the right side for the direction; the ticket refuses a wrong-side bracket before it is sent. The pre-trade panel folds to its verdict line and remembers your choice. Held positions carry the same presets and a one-tap close on the row itself, on the desk and on the phone cards, so nothing has to be opened to protect a leg.
The maintenance band is now on the ticket. The requirement to keep a position open is not a fixed tier here: it follows the worst minute the book has had in the last hour, so it moves while you hold. That is deliberate, and it is only honest if you can see it. The ticket and the account screen now show where the band sits and the ceiling it can never pass, so the worst case is known before the trade is on rather than discovered after it.
Ways in. The Account tab now lists every method linked to the account (e-mail, passkeys, wallets, account key) with buttons to add another, and says plainly when there is only one. Sign-out-everywhere and the sessions count now cover the whole account across methods, so a phone signed in with a passkey is signed out from a laptop signed in by e-mail. The terminal reopens on the market and timeframe you had, not on BTC at one minute.
The account is a screen of the terminal. The account tab now takes the whole desk under the terminal header: the name and id, equity, every way in with buttons to add another, sessions and devices with sign-out-everywhere, wallets and the payout address, alerts, points and the referral link, the paper book with its equity curve, API keys, appearance, terms, export and the danger zone, as cards on one screen, nothing duplicated. The order book ladder now measures the strip under the spread and the row height before deciding how many levels fit, and the house quotes twenty levels a side, so the ladder fills a tall column instead of floating in the middle of it.
A name for the account. Every account now carries a name a person can remember and say, like light-finch-31, given at creation and the same on every device; the hex id stays the key for the API and the chain. It shows in Account, on the points board when no X handle is linked, and in the export. Rename it once a day: letters, digits and hyphens, unique across the venue.
Forgot the password now exists: a six-digit code to the e-mail, a new password, and every e-mail session is signed out; passkeys, wallets and keys keep theirs. Adding a way in while signed in always lands on the account you are signed into, whatever this browser still carries from before, so e-mail, password, passkeys, wallets and an account key combine on one account from any device.
Build your desk. The gear on the ticket and on any position row opens a kit: which stop and take-profit presets the ticket offers, which one-tap actions a position row carries, which blocks the details show, and whether the pre-trade panel and the margin line appear at all. It is remembered on the browser, saved with the workspace, and follows the account. A text-size control in the header (100 / 115 / 130%) replaces zooming the page by hand.
6 September 2026v0.39.0
Watch, one hundred and fifty frames
The dog now moves on real animation cycles instead of two-frame swaps: an eight-frame walk, a six-frame trot, a fourteen-frame gallop, a creeping stalk, and short cycles for sitting down, lying down, standing up, turning around, tail wagging, sniffing, digging, scratching, shaking, yawning, stretching, barking, howling, sleeping breath, looking around, jumping, rolling over, begging, giving a paw, ear play, head tilts, sneezing, pouncing, pacing, a guard crouch and a sad sigh. Her day, his reactions and his tricks all draw on them. Posters, wallpapers and cards with his are on the brand page.
6 September 2026v0.38.0
Watch comes alive
The sticker character now lives along the bottom of the terminal with nineteen poses: he walks, runs, sniffs, digs, stretches, scratches, yawns, shakes, wags, looks back over his shoulder, howls, barks, lies down and curls up to sleep. Her day is a loop of patrol, sniffing and studying panels above his with a short scan; the eye stays the regime indicator. New functions on his card and by gesture: Fetch brings the latest fill or alert; Sniff a market by hovering a row in the market list for a moment; Guard a price by dragging his onto the chart, he sits under it and barks when the mark crosses the line; While you were away summarises regime changes and fills since your last visit; he barks up at the connection dot when the feed goes stale, digs before the funding hour when you hold something, and wags at a clean fill. Double-click his for a trick. On the phone he stays home unless called from Actions.
6 September 2026v0.37.0
Watch, the living interface of RiskOS
A small geometric dog now lives in the corner of the terminal. He watches the market when you can’t: his posture is the worst regime on what you hold (sits at Full, ears up in Divergence, stands tense in Degraded, lies down and stands guard by the ticket when the market on screen is Unavailable), his eye is the system indicator (green Full, blue observing, yellow Divergence, orange Degraded, red critical risk, off when there is no price), he looks toward the block where risk grew, gets visibly nervous when the buffer is under 2% of equity, and answers a clean fill with one short wag. Hover his for a one-line summary; click his for what needs attention, the worst market, a walk through the book, an hour of quiet, or to send his home. He never trades. Brand files: /brand/watcha/.
4 September 2026v0.32.0
The engine comes back from a crash with the chain's version of events
The journal is written per event; the state store every five seconds. Until today a process killed between the two woke up five seconds behind its own record, and the book rebuilt from the store re-queued every resting order at the back of the line, silently dropping any that would cross. Now the store remembers the chain sequence it last flushed, and on boot the engine replays every newer record onto the live accounts: fills with their legs, funding, deposits, take-profits and stop-losses, brackets, orders placed and cancelled, fund movements. The replay is itself a record (recovery_applied, under of_engine), reported on /api/v0/health and paged by the watchdog. Resting orders keep the sequence they rested with, so queue priority survives a restart; an order that could not rest again is cancelled on the chain with the reason instead of lingering unseen. Attached brackets are journaled like set ones, because a replay has to find them.
Funding was already zero-sum to the cent; its clock and its premium window now survive a restart too, so the first hour after a boot is charged on schedule and at the rate the hour earned, and every account's next funding time is the venue's, not its own. The docs table says what the engine does: a premium index plus the interest term, clamped, hourly.
Metrics and alerts. GET /api/v0/metrics is a Prometheus text endpoint: sweep age, loop lag, breaker, connections, memory, chain head against the flushed sequence, recovery, feeds per source, regimes, median confidence, funding rate per market, invariants, funds, accounts, orders, TWAPs. The watchdog now reads the trust report, the invariants and the chain rebuild every two minutes and pages on a broken chain, a cash residual, a funding leak, a rebuilt account that disagrees with the live one, a bad debt paid by a fund, an empty fund and a boot recovery; each has a runbook entry. Its own liveness is published as watchdog_age_s, and the operator's hourly check on another machine pages when that goes quiet. Deploys are gated on a new test that trades, kills the engine with SIGKILL inside a flush window, boots it again and checks positions, cash, brackets, orders, the rebuilt book, the invariants, the chain and the metrics.
4 September 2026v0.31.0
Workspaces: the desk as you left it
A workspace is one saved desk: the market, the timeframe, the chart type, the indicators, the open tab, the watchlist, the market-list filters and sort, the leverage. The chart toolbar has a Workspace menu that lists them with their hotkeys (Alt+1 to Alt+9), marks the active one and shows a dot the moment the desk drifts from what was saved; from there you save changes, save the current desk as a new workspace, rename or delete. The command palette lists every workspace as an action. Four come built in: Desk, Majors, Risk watch (line chart on the hour, Divergence markets sorted by the time of their regime change, the log open) and Macro.
Workspaces live in the browser and are mirrored on the account (POST /api/v0/account/workspaces, returned with GET /api/v0/account), so the same desk opens on the next device; the newer copy wins. Up to twelve, sixteen kilobytes in all, never journaled: they are preferences, not book state. On the phone the Action Center carries the workspaces as chips with a "save current" button. The deploy gate saves a desk, changes it, sees the dot, restores it and finds it on the account.
4 September 2026v0.30.0
Market discovery: the list answers a question
Eighty-one markets in sector order is a directory, not a desk. The market list now carries a row of chips with live counts, one per regime (Full, Divergence, Degraded, Unavailable), plus the watchlist, the markets you hold, and crypto or macro; one tap filters, a second clears. A sort reorders the list by confidence, 24-hour move, entry leverage, spread, volatility, funding or the time of the last regime change, and the sorted metric replaces the 24-hour figure on each row so the order is visible. The search matches sectors and regimes as well as names, so typing "defi" or "diver" is a filter.
Above the list a short discover block answers four questions from the same stream the list reads: the biggest movers of the day, the markets whose regime changed in the last hour, the tightest spreads among markets you can exit, and the highest entry leverage. Each name is a link into that market. Filters and the sort survive a reload; the phone gets the same chips and block in its market view. The deploy gate now checks that the Divergence chip leaves only Divergence rows, that the confidence sort is monotone, and that the search finds the macro books.
4 September 2026v0.29.0
The action center: a phone gets what the desktop had in Cmd-K
On a desktop the terminal is driven from the command palette. A thumb has had nothing like it, so the phone now carries a fourth tab, Actions, with a badge for what happened since the last look. It has four parts. A search over every market and every action the terminal can take, the same index the palette uses. Needs attention, read from the state of the book rather than from the journal: a negative or thin buffer, a margin mode other than normal, a held market that is Degraded or Unavailable, a position without a stop loss, a TWAP still running, orders far from the mark, each with the one button that answers it. Quick actions: trade the current market, what-if, close this position, close every position, cancel every order and schedule, brackets, share the book, push alerts, the full log, the theme. Anything that moves money arms on the first tap and names what the second will do, then disarms itself after five seconds. And the alerts: fills, take profits and stop losses, liquidation steps, regime and mode changes, rejected orders, OCO legs the engine cancelled, finished TWAPs and the day's funding, newest first, unread marked, with a way into the market each one is about.
Opening the page marks its alerts as read; the badge counts only what arrived after that. The desktop palette's theme switch, which had silently done nothing, now switches the theme. The deploy gate drives the action center on a phone-sized page with a signed-in session: it must list the book's needs and its fills, find a market by search, arm close-all on one tap without closing anything, and close on the second.
4 September 2026v0.27.0
The story around the terminal: the field, the cascade, the states, and a guest book
The terminal opens to a guest now. Without an account it carries a real margin report on a sample book, margined by the same arithmetic on live prices (GET /api/v0/guest), so a stranger sees positions, a buffer, a forward look and What-if instead of an empty strip. Under the landing headline the field is live: eight price sources on one ridge, and a hand that pulls one away; the readout shows the divergence the venue charges, confidence, the regime, the leverage it still lends and what an exit costs, with a sentence saying why. The arithmetic is riskcore's own, reduced to one book and a hand.
Three parts of a story, and a handoff. The cascade replays a real crash with the scroll as the clock, a fixed twenty times tier on the left and Openfield on the right, and ends on the run's own bill. The terminal in trouble walks the guest book through ten states a venue actually enters, each with a caption, and restores everything on exit. Entering the terminal from the landing grows the live frame to the viewport and continues in place; browsers that know cross-document view transitions carry the frame into the app.
Motion is a change of state made visible: numbers re-count instead of jumping, a regime change passes once as a wave through chart, ticket and positions, a leverage cut lights the multiplier that cut it, a fill travels from the book to the positions, a close is seen releasing margin. Under reduced motion every one of these is an instant change. Four public pages: the manifesto, the live market field, a case study of Black Thursday read from its replay file, and about the machine. Keyboard and readers: focus rings everywhere, a skip link on every page, names for icon-only controls, market rows that open with Enter, live regions for what changes on its own. Numbers and readouts moved to Manrope with tabular figures; the serif stays on editorial headlines.
2 September 2026v0.22.0
Divergence was the norm, so we repriced the basis point
The regime history page, an hour after it shipped, showed BTC in Full only 57% of the time: Divergence episodes of seven to eleven minutes, back to back, on two to four basis points of disagreement between eight venues. The hysteresis from the morning had stretched the flicker into episodes without touching its cause. The cause was the tariff on disagreement: a basis point cost 2.5 points of confidence, so ten basis points between two venues, which is a Tuesday, read as Degraded. The divergence scale goes from 40 to 120 basis points. On the same twenty hours BTC now sits in Full about 95% of the time, ETH and SOL about 90%, the regime lines did not move, and the eighteen-percent gap of 10 October 2025 still reads as what it was. The replay was recomputed and its page shows the new numbers, including the cost: a calmer confidence hands out a little more leverage during an event, so the venue's replay liquidation share rises from 41.7% to 46.1% against the conventional 61.7%. A regime below Full now names the source pulling hardest from the mid, because "Divergence, kraken −3.1 bps" is information and "Divergence" alone is a word.
The position card had nine fields of equal weight with the important ones at the bottom in grey, and a liquidation estimate, which the documentation calls a convenient lie under portfolio margin, second from the top. It now leads with what this leg costs you: its share of the buffer, the move to maintenance, the regime, and the Degraded forecast in its own bar; entry, mark, notional, the leverage triple and the liquidation estimate with its caveat sit under a details toggle. The confidence pane's cut lines carry their own labels inside the pane instead of fighting the axis. The Account page loses Points and Performance to a Stats tab and hides the getting-started list once it is done. On the desktop the Portfolio, Instrument, Stats and Account pages take the width the order book used to hold. On a phone the book opens under the chart, not at the end of the page, toasts stop covering cards, and the intro is one card with one button. The log folds hourly funding into one line per day. Traded-volume points drop to one per $5,000 with a cap of 150 a day: a million of paper turnover in a day no longer earns half of everything else combined.
2 September 2026v0.21.0
Clicking through the phone ourselves
The second round of phone fixes shipped a screen that was tidy and, used with a thumb, confusing: the market screen spent six hundred pixels on chrome before the chart, the confidence pane still wrote its desktop legend into eight-point type, a double tap zoomed the page, and the detail on a position, its entry, its mark, its liquidation estimate, its brackets, the close buttons, had gone missing when the Positions tab was folded into the Portfolio screen. We clicked through it ourselves and fixed what we found. The market screen now opens with one row, the pair, the mark and the day's change, then the regime line, one row of chart tools and the chart; Book and Trade sit in a bar above the navigation instead of a row of their own. Under the chart the phone shows your position on that market and your resting orders there, with the same full card the Portfolio screen uses: entry, mark, liquidation estimate, notional, opened leverage against the cap and the ceiling, regime and confidence, share of the buffer, the move to maintenance, the Degraded forecast, and the bracket, half-close and close actions. Double tap no longer zooms.
2 September 2026v0.20.0
The regime stops flickering, and the phone stops arguing with itself
A second look at the phone found the thing that mattered more than any screen. The log showed BTC going Full → Divergence at 10:36:01 and back at 10:36:05, then again a minute later, on a divergence of 1.3 basis points; the leverage ceiling went 19× → 17× → 19× several times a minute. With the push alerts shipped an hour earlier that would have been spam within the hour, the forward look loses its meaning if a regime does not hold, and an engine that changes its mind every minute reads as unstable rather than attentive. The regime now has hysteresis: the effective confidence falls at once and recovers on a 45-second time constant, a regime is left upward only when confidence clears the cut by a full point (Full resumes above 98, not 97), and never inside 30 seconds of entering it. Leverage follows the effective confidence, so it drops as fast as before and comes back carefully. The details are on the docs page.
The same review found the Portfolio and Positions tabs disagreeing about an entry cap on the same position in the same minute. Most of that was the flicker; the rest was one page reading a fifteen-second-old scenario while the other read the live stream. Both read the live cap now.
On the phone: the confidence pane keeps only the band, the cut lines and one line of text, with the legend on tap, because the legend never fit; nothing scrolls sideways any more, trade history and the instrument page's sources and incidents are lines, not tables; there is one navigation, Market holds only what belongs to the market (chart, book, instrument, log) while positions, open orders and fills live on the Portfolio screen and funding under Account; the market selector that duplicated the title is gone and the title itself opens the list; the ticket sheet keeps a strip with the mark, the regime and the ceiling above the size field; a message from a fill on one market no longer lingers under the ticket of another; the header's Sign in yields to the one on the Account screen; and inputs are 16 pixels so iOS stops zooming into them.
2 September 2026v0.19.0
The house gets a page, what-if takes a portfolio, and the small things from the review
"house 100% of depth · unchanged 24h" was a quiet line under the order book. It is the key measure of how grown-up this venue is, so it has a page now: /house/ shows, market by market, the house's presence multiplier and its share of the visible book with a 24-hour sparkline, then its inventory, P&L since seed, fees paid and volume, and the three limits it cannot cross. The page says in plain words that the maker API is the mechanism by which the house retires.
The What-if button used to run five fixed shocks on the current book. It is a simulator now: type any book, cash and positions with the leverage each was opened at, and read the requirement with its offset decomposition, the maintenance, the buffer, the forward look under Divergence and Degraded, where the requirement sits leg by leg, and the stress table. It runs on a public endpoint, POST /api/v0/whatif, and writes nothing, so it works with no account at all.
Smaller items from the same review, all shipped: the market list's sparkline shows confidence over the last eight hours rather than price, on a fixed floor so a flat 99% reads flat; the market-truth and risk-genome panels collapse and remember it; the log has filters by kind and by market; the position row explains its three leverage numbers under them, opened, entry cap, ceiling; and the desktop has keyboard shortcuts, press ? for the list.
2 September 2026v0.18.0
The notification no other venue can send
Leverage on Openfield follows the quality of the price, which means it can change while you sleep, with no action of yours. On a desktop you see it because you are looking. On a phone you do not, and that is precisely the moment the venue should reach you. From today a device can subscribe to push alerts from the Account page, or from the Portfolio screen on a phone, and the subscription belongs to the account rather than to an e-mail, so wallet and key sign-ins get it too.
The list of what is sent is short on purpose, because the alternative is being switched off: a regime change on a market you hold, written as what it did to you, leverage before and after and your buffer before and after, with the reduce-only flag when it applies; your account entering warning, reduce-only or liquidation; a liquidation step; a take-profit or stop-loss filling; a deleveraging; and a price source dropping on a market you hold. Each kind repeats at most once in ten minutes per account. Everything else stays in the journal.
Delivery is standard Web Push, VAPID signatures and aes128gcm content encryption, written on the standard library like the rest of this venue rather than pulled in as a package. The payload is encrypted to the device's own key, so the push service in the middle sees a blob. We tested the encryption by decrypting our own output with an independent implementation of the receiving side, and the signature by verifying it with the public key, before any browser was involved.
2 September 2026v0.17.0
A phone is for monitoring, so the phone gets a different product
Until today the terminal on a phone was the desktop terminal cut into five tabs. That works as "there is a mobile version" and not as a product: nobody analyses candles on five centimetres, and the reason to pull a phone out is to answer three questions in two minutes, is everything fine, what is going on, do I need to act. The first screen is now the portfolio: the buffer to maintenance as the one big number, margin used, equity, the worst regime among the markets you hold, what changed since you last looked, and a card per position with its regime, its leverage against the cap, its share of the buffer and what Degraded would do to it. Three tabs instead of five: Portfolio, Market, Account. Market search is a bar at the top of the market screen; the order book is a section inside it.
The ticket is a sheet from the bottom. Leverage has presets, 2×, 5×, 10× and the cap, because a thumb cannot land on a slider between three zones. The pre-trade preview sits directly above the button, with its three columns, and the button asks for a second tap: a stray tap is ordinary on a phone. The chart defaults to a price line under the doubt band with a taller confidence pane, which is the one thing that fits on a phone meaningfully. Numbers use tabular digits so they stop jumping on every tick, every target is at least 44 pixels, and positions are cards, not a table to scroll sideways.
One thing we were doing wrong and have stopped: when the stream broke, or the browser put the tab to sleep, the last prices stayed on screen looking current. A venue that sells freshness of data cannot show its own stale data without a mark. Now, after nine seconds without a tick, the numbers grey out, a bar says how old they are and that we are reconnecting, and the ticket refuses to send against them. Coming back to the tab reconnects at once.
Not yet done: push notifications for regime changes on held markets, which is the feature this architecture makes possible and no other venue can send. That is next.
2 September 2026v0.16.0
Three entities, three pages: portfolio, instrument, and a journal with addresses
The same review noted that the terminal had three things living at one level, the market, the portfolio and the engine, and only the market had a page. The portfolio was a strip in the header; the engine was four panels around the edges. Two pages fix most of that. The Portfolio page shows where the requirement comes from leg by leg, which leg costs the most to keep, the exposure by risk class with the offset credit and what a regime does to it, what closing any one position would do to the buffer and to the credit, and the forward look for the whole book. The Instrument page collects what was scattered: the genome and what each factor costs today, the reference calendar, the sources with their basis, deviation, spread and age, the fees and limits, and the regime history, which is new: minutes spent in each state over the retained window, every incident outside Full with its lowest confidence and widest divergence, and the engine's own account of why the regime moved.
Numbers now have addresses. A market, a page and a journal record can be linked to from outside: #m=BTC-USD&tab=instrument, #m=BTC-USD&tab=portfolio, #m=BTC-USD&tab=log&seq=123. Every journal record that names a market is written with the venue's view of that market at that instant, mark, confidence, regime and ceiling, so a fill in the log reads against the state it happened in rather than as a bare price. The confidence popover now says how many points went to divergence, to stale quotes and to too few sources, and the leverage popover says what would have to change to get the ceiling back.
Left for the next pass: the incident history per market, a page for the house maker, a what-if simulator that accepts a hypothetical portfolio, and the mobile product, which is a different thing from a smaller terminal.
2 September 2026v0.15.0
The band tells the truth, the header has a hierarchy, and the terminal says what happens next
A review of the terminal this afternoon opened with the observation that mattered most: the confidence band on the chart was stretched for visibility. At 99% it covered the candles in a cloud that said "we do not know where the price is" while the number next to it said the opposite, and on the day sources really disagree it had nowhere left to grow. The band is now drawn in the scale of the disagreement itself: each history bucket records the widest source deviation in basis points, and the half-width of the band is that number. On a clean tape it is a hairline. It also sits under the candles now, at a third of its former opacity.
The header used to carry eighteen labels at the same size and colour, so nothing led the eye except the price, which is where every other venue sends it too. Price confidence and adaptive leverage, the two figures this venue is about, are now two and a half times the size of the rest; everything else steps back into a quieter second row. Green no longer means four things at once: buy and interactive elements keep the saturated green, and a healthy state, a positive number or the Full regime use a calmer shade of their own. The portfolio-margin suggestion that used to read as a paragraph is a card: the trade, the standalone cost against the cost inside your book, the saving, and a button. The order book keeps its spread at the vertical centre whatever the depth on either side, the depth bars are visible, and the house now quotes twelve levels a side instead of eight. A ticket with reduce-only set and nothing to reduce disables its button and says why. The confidence pane names its regime lines and carries a legend.
The larger change is the one no other terminal can copy. Margin here depends on the quality of the price, so the venue can tell you what a fall in that quality will do to you before it happens. The documentation had promised for months that Divergence adds an oracle surcharge and that Degraded cuts offsets; the engine had never actually done either, and today it does, with the multipliers written down on the docs page and in configuration: maintenance on a leg ×1.05 in Divergence and ×1.15 in Degraded, the class offset credit halved in Degraded and gone in Unavailable, positions keeping the leverage they were opened at throughout. On top of that sits the forward look: every open position shows what Degraded would do to its entry cap and to the portfolio buffer, the position table ends with a line for the whole book, and the pre-trade preview has three columns, now, Divergence and Degraded. The numbers are small on a hedged book, which is exactly the information.
We caused one bug on the way and it is worth recording: the first cut of the forward look handed the market record, not its genome, to the leverage formula, and every scenario reported a 1× entry cap. The smoke test did not catch it because the number was plausible; a screenshot did.
2 September 2026v0.14.0
A door for makers: keys, batches, a WebSocket and cancel-on-disconnect
Until today the only way to rest an order on Openfield was the terminal or a bearer token that was also the account's master credential. That is fine for a person and wrong for a program. A program now gets its own key, scoped to reading, trading and cancelling, with its own order budget and its own ceiling on open orders, shown once and stored as a hash. A key cannot mint another key, take paper capital or close the account; those remain with the person. Revoking a key closes every socket that was using it.
On top of the keys sit the pieces a quoting program actually needs: a batch endpoint that places up to twenty orders in sequence and answers each on its own, a cancel-all that takes a market or a side, client order ids that travel through fills and cancels, and a WebSocket at /api/v0/ws that takes orders and pushes back every journal record the account writes, followed by a margin report. There is no second event stream to reconcile: what the socket sees is what the chain holds. The socket is written on the standard library, because a venue that promises no dependencies should not add one for framing.
Cancel-on-disconnect is opt-in per socket. When a maker's process dies, or misses two heartbeats, or the venue restarts, the ladder it was standing behind comes off within the window it chose, each cancel journaled with its reason. We tested that path by killing the client mid-ladder and by restarting the venue with sockets open; both leave an empty book and a cod_triggered record.
Two things changed around the edges. The engine now has a single event hook that the stream hangs off, so fills, cancels and mode changes are announced from one place instead of being polled. And the truth loop used to accept exactly one tick hook; registering the ticker feed silently replaced the house requoter and the house stopped quoting in the local run. It takes a list now. The house step-back that an external maker triggers has existed since the house was written; from today its value is published per market as house_presence on /status and on each book, so a maker can see its own effect.
1 September 2026v0.12.3
Conservation checked in public, a smoke test at the door, and a second pass on the terminal
Two identities now run against the live venue and are printed on the status page: on every market the positions of all accounts and of the funds sum to zero, and what all accounts and funds hold reconciles to what was granted, minus fees and net funding, plus realised profit. The cash identity holds to the cent. Open interest carries a residual on five markets from fills before the order book, frozen and watched; and one account the journal opened was lost by a restart before stores flushed on exit, $850,000 of paper grants the state never held. Both are reported, neither may move.
A deploy now has to pass a headless smoke test on an ephemeral copy of the venue: open the terminal, accept the terms, fill an order, render the account, load the public pages, no page errors. It exists because two deploys tonight shipped a script that parsed and did not run.
The terminal, after a second review: each number has one home, so the header lost its account cells and the margin panel its duplicates; the leverage scale shows its zones, working up to the entry cap, hatched to the ceiling for what is already open; the health score opens into its three terms and their weights; the confidence pane has a fixed scale from 70 with the regime cuts drawn, so a dip from 99 to 98 looks like what it is; the band of doubt around the price is an area, not two lines that read as levels; move-to-maintenance shows the number even when it is large; the empty margin panel computes a real hedge against the largest position and offers to put it in the ticket; and the house share of each book's depth is shown as the number it is, with its last day.
1 September 2026v0.12.2
The terminal puts the risk first
A portfolio strip now sits above the chart on every screen: buffer to maintenance in dollars and as an adverse move, margin used, equity with unrealised, free margin, every position with the regime of its market, a health score built from buffer, concentration and data-quality exposure, the countdown to the next funding, and a what-if that stresses the whole book against a move and says plainly that a fall in confidence restricts new risk without re-margining what is open.
The ticket says what a position opens at, against the entry cap and the ceiling, and turns into a reduce-only banner when the market is Degraded or the account is restricted. The pre-trade preview leads with the verdict. Confidence opens into a table of sources with deviation, basis and age, the last hours of confidence, and the reasons the regime last moved, which the venue now writes down at the moment it happens. Crossings of the Degraded line are marked on the chart. Positions show the leverage they were opened at, the cap and the ceiling, the regime, and their share of the maintenance requirement. Trade history has filters. The stream opens before the account does, so the terminal is live in the first second.
1 September 2026v0.10.0
Accounts, all the way through: terms on the chain, points, X, and the door out
Nothing opens until the account has read the terms and the risk disclosure once. The acceptance is a record on the account's chain, the API says terms_required until it exists, and if the documents change in a way that matters the version moves and the terminal asks again. The documents themselves are now three: terms, privacy and risk disclosure, each short and each honest about the part that would normally be buried.
Points are computed from the chain by published rules and nothing else, so anyone can recompute a balance from the exported history. They have no monetary value and entitle you to nothing, which the terms say in those words. Referrals are a chain record too. Linking an X account is OAuth with read scopes only and no token kept; it shows the handle on the leaderboard.
The account page grew a getting-started list, a session list with sign-out-everywhere, email alerts when margin gets thin or the account goes reduce-only, an export of everything the chain holds about the account with every hash, and a close button that removes the sign-in identity and wipes the paper book. The landing has a block that says what can hurt before the terminal does, and a place to ask for one email per release or incident, confirmed by a link and removable by one.
Also: on a phone installed to the home screen the bottom bar now clears the home indicator.
1 September 2026v0.9.1
A record that cannot be quietly rewritten, an operator console, and the first replay
The account event log used to be trimmed in place every few hundred actions. It is now an append-only journal: every record carries a hash of the one before it, checkpoints pin the chain, and two public endpoints let anyone recompute it from genesis. Every operator action lands in the same chain, so the console cannot be used quietly.
The operator console itself is served by the API at an address that nginx does not know, behind a password, two-factor and an exponential lockout. Eight sections, all live.
Two bugs, both ours. Extracting the risk assessment into one pure function for the replay showed that the learned per-source basis lived only in memory: every restart threw it away, and for the minutes it took to relearn, three venues looked like they agreed perfectly and confidence read 100%. Every deploy had been overstating how much the engine trusted its own price. The basis now persists.
The replay then found the second one on its first run. Open positions were margined at the current leverage ceiling, so a fall in confidence liquidated accounts the price had never touched. Reproduced live with the drill in one minute, fixed the same hour: a position carries the leverage it was opened under.
Also: a security audit of the auth, crypto, engine and infrastructure surfaces found eleven issues and fixed them the same evening, the worst being that the degradation drill needed no credential. The full list is on /security/.
1 September 2026v0.9
Macro instruments and real exchange calendars
Eleven macro markets: gold, silver, copper, WTI, natural gas, S&P 500, Nasdaq 100, three FX majors and the US 10-year yield. Gold now carries three genuinely independent sources, two crypto-native and one COMEX future, and the basis between them is real information rather than noise.
Reference-market hours moved out of a hard-coded week into a calendar module with the actual CME, NYMEX, spot FX and NYSE sessions, including the daily maintenance break. The terminal draws the next open or close directly on the price axis and counts down to it.
Also: the confidence pane moved onto the candle time grid, history pages backwards as you scroll, the chart got a drag-to-resize splitter, chart types and a log scale.