This week on Nexus 07.24.26
A steady week across trading, account data, deposits, price feeds, risk controls, and the SDKs you build with. Here is what shipped.
Merged pull requests by area this window: 21 in orders and accounts, 11 in API and data, 7 in oracle, 4 in the engine, and 2 in frontend
Trading
- Close position no longer sticks. The close-position control now resets when you change order size and is backed by a watchdog, so a stalled request recovers instead of leaving the button stuck.
Account history and market data
- Your fee rate, per market. A new
/account/feesendpoint reports your effective fee rate, now sourced per market rather than as a single blended number. - Portfolio history over time. Portfolio time-series now returns PnL and volume across multiple windows, so you can see how your account moved, not just where it stands.
- Per-position risk detail.
/positionsnow carries per-position risk detail alongside each open position, so the numbers that matter travel with the position.
Deposits
- Deposit tracking is sturdier across chains. The deposit watcher keeps a separate cursor per chain with a startup sanity check, bounds its RPC calls with timeouts, and sources credited totals from the deposit log — so credits stay correct and do not stall.
Price feeds
- BTC perp mark now sourced from Pyth. The BTC-USDX-PERP mark price now comes from Pyth Hermes.
- Runtime failover for the NDQ feed. The oracle now fails over to a backup source at runtime for the NDQ feed, so the price stays live if the primary drops.
Safety and reliability
- Uncovered losses are recorded, not hidden. An explicit uncovered-system-loss ledger now tracks any shortfall, and the market halts on a flat-position cash deficit instead of trading through it.
- Auto-deleveraging sizes to the position. Auto-deleveraging now sizes by the residual position rather than the cash deficit, so it closes what is actually open.
- Restore comes back as it left. On restart the matching engine persists its max-move breaker window and rejects activity from a delisted market when replaying its write-ahead log, so recovered state matches what was running.
Developer tools and SDKs
- Python. The Python SDK now wraps the bridge endpoints — assets, deposit addresses, and deposits (Phase A).
Behind the scenes
Broader observability, tighter limits, and safer defaults behind the API — weighted per-endpoint and per-connection rate limits, read-egress accounting and cache headers on public market data, replay protection and stricter signature checks on signed requests, an admin-only test endpoint locked behind a secret, and new account and coverage gauges; a new backend service scaffold; a frontend performance baseline; and oracle replay and adversarial-input tooling for testing. Groundwork you should not notice, in service of an exchange that behaves the same on a quiet day and a busy one.