DEVELOPMENT PREVIEW — Not live. All activity simulated. Not a regulated venue. Not an offer or solicitation.
← All updates

This week on Nexus 08.31.26

Open interest is published as a public contract with long and short reported separately, an order-book level that cannot be parsed is dropped rather than served at zero, and cancels draw from their own rate-limit bucket. An isolated-margin change is durable before it is acknowledged, a takeover is declined when a leg has no live mark, and the collateral total rebuilt at boot is compared against the last one published. Sealed event-log segments stream to object storage while local copies are pruned, boot streams the logs instead of materialising them, and a corrupt acknowledged tail is quarantined as loss. A market listing calls risk before the engine and fails closed, max_open_interest_notional and price_band_bps are published in the spec, and the Python and TypeScript clients close most of the gap to the operations that spec describes. Here is what shipped.

Trading and orders

Risk, funding and collateral

Markets, listings and parameters

Admin access and grants

State, recovery and the write-ahead log

The ledger

Market data and the interface

Accounts and credentials

Price feeds

Bridge and deposits

The API contract

Client SDKs

Sandboxes, simulation and the build

Most of the plumbing this window went into the sandboxes and the simulation fleet: a fixture YAML becomes an ExchangeSnapshot the engine boots from, order sizes are derived from each market’s contract so 32 of 32 markets are runnable where 7 were before, a stepped run keeps its history over the Observer’s control-plane wire, a run names the environment it happened inside, and a per-release lane runs the maker against every published image. The Observer logs a cap refusal and declares a null position, the simulated oracle feeder aligns to the market’s own tick rather than BTC’s, and the bots read an absent replica count as zero.

Elsewhere in the engine’s own plumbing: the indexer builds from its own cargo workspace and an engine-free image, service images build from a shared dependency layer, state files are fsynced on the paths that write them, older snapshots still decode against the current fields, order-to-ack latency is banded with its SLO encoded alongside it, a halted market raises an alert, and risk’s pre-trade rejections are counted in exchange_order_rejections.

Behind the scenes

Alongside all of that, work landed on how access and secrets are controlled, and on how changes are rolled out.