This week on Nexus 07.29.26
The trading surface has a new look, and a lot more detail in it — market stats on /trade, per-market leverage, favorite markets, and an accessibility pass across the app — alongside stricter restore and readiness behind it. Here is what shipped.
Merged pull requests by area this window: 115 merged feature, fix, and performance pull requests across the Exchange, 58 in orders and accounts, 38 in frontend, 14 in API and data, 3 in the engine, and 2 in oracle
Testnet accounts across this window’s daily snapshots — faucet-funded, ephemeral testnet accounts, not production figures: 24 testnet accounts on the July 28 snapshot and 12 a week earlier, on the July 21 snapshot
A new look
- Monochrome canvas. The app moved to a monochrome canvas with a reworked surface and text ramp. The accent is moving to Signal Green, pending design sign-off.
- Steadier layout. /trade reserves its pane dimensions so the page does not shift while it loads, and the global footer stays on screen.
- Simulated funds, said plainly. The testnet badge now reads Simulated Funds, so there is no question which funds you are trading.
Trading
- Market stats above the book. /trade now carries a stat bar with 24h volume, price change, mark price, and funding, backed by new aggregates for open interest, the funding countdown, index price, and the day’s movers.
- Bad orders stopped before they are sent. Market orders now bound slippage in the client, and size and price are checked against the market’s tick, lot, and bounds before the order leaves the ticket.
- Leverage and size, per market. The per-market leverage selector is back, and the size shortcuts scale off that market’s leverage cap.
- Trailing-limit orders in the ticket. The trailing-limit order type is now available from the order form.
- Read the book your way. The order book has a price-grouping selector, the trade tape can aggregate prints and highlights large ones, the depth heatmap no longer freezes, and the price chart has a longer interval ladder with funding markers.
- Favorite markets stay put. Markets you favorite persist as a watchlist filter in the market selector.
Account and portfolio
- Funding payments on /portfolio. Your account’s funding payments now have a view of their own.
- Your fee schedule where your account is. A fee-schedule tile on /portfolio reads your effective rates from
/account/fees. - Your own deleveraging events. The app now shows the auto-deleveraging events that touched your account, and subscribes to the live liquidations channel.
Accessibility
- Keyboard and screen reader across the app. Dialogs share one primitive with a focus trap and an accessible name, inline order-edit cells are keyboard-operable, market and timeframe tabs report which one is selected, and connection and service banners announce state changes as they happen.
- Charts and indicators that read out. Data-visualization SVGs carry accessible names, the equity curve has a text alternative, decorative icons are hidden from assistive tech, live pulses respect a reduced-motion preference, and muted text now meets WCAG AA contrast.
Deposits and withdrawals
- Bridge totals survive a restart. Bridge volume totals now persist across a restart and withdrawal debits are netted out of the credited total, so the bridged figure reads the same before and after.
- A stalled chain head gets noticed. The deposit watcher runs stale-head detection against wall-clock time on the RPC slot it is actually using, and counts rejected deposits at the point the decision is made.
Price feeds
- SOL’s failover source moved to Pyth Hermes. SOL’s failover price source has cut over from Hyperliquid to Pyth Hermes.
Safety and reliability
- Auto-deleveraging prices both legs together. Auto-deleveraging now builds an explicit settlement plan that prices the paired legs, and gathers candidates only from the accounts exposed to that market, under a single accounts lock.
- Restore is per market. The matching engine keeps a write-ahead-log cursor per market, so each market resumes from its own position rather than a shared one.
- Ready means caught up. The indexer reports ready and healthy only while it is within a configurable distance of the engine’s sequence, fails readiness closed when a checkpoint restore fails, and swaps its stored checkpoint compare-and-set so its cursor cannot regress.
- Privileged paths stay closed. The edge refuses privileged engine paths on its catch-all route, rejects a signed request replayed inside its own window, and turns away clients below the minimum supported API version.
Developer tools and SDKs
- MCP. The MCP server now surfaces portfolio-parity data and exposes cancel-on-disconnect and trailing-limit orders as tools. A bridge-deposit tool (Phase A) is declared in the registry but not yet built server-side.
- Eleven live tools. The MCP server ships thirteen tool definitions, eleven of them live against the API today; the other two are declared not yet built.
Behind the scenes
Durable cold-data capture for candles and the fills tape; broader observability — request, latency, and error metrics on the API layer, write-ahead-log append and group-commit timings in the engine, client-side web-vitals and error telemetry, and one place to scrape them all; the session store moved onto managed storage; mirrored positions repaired from the engine snapshot during the reconciliation sweep; internal dashboards reading live oracle health and real on-chain bridge releases; canonical URLs and a fuller sitemap; and brand fonts vendored and a landing page scaffolded, both ahead of use. Groundwork you should not notice, in service of an exchange that behaves the same on a quiet day and a busy one.