Skip to main content

Changelog

API changes and deprecations for the Hypercall testnet.

See also: REST API Reference · WebSocket API · Authentication


v0.06-testnet — April 14–16, 2026

Breaking Changes

  • PUT /order and PUT /bulk_order — new atomic order replacement endpoints. Cancels the existing order and places a new one in the same engine tick. If the cancel fails (order already filled or not found), the new order is not placed. Uses the new ReplaceOrder EIP-712 signature type. Clients using the old cancel-then-place pattern should migrate.

Additions

API

  • GET /profile/realized-pnl — returns per-symbol realized PnL aggregated from fills and settlements. Accepts optional competition_id parameter to scope results to a competition window.
  • realized_pnl field on GET /profile/trades — each fill row now includes the realized PnL attributed to that specific trade.
  • net_deposits and attribution components on GET /profile/historical-pnl — historical equity snapshot points now include cumulative net deposits and P&L attribution breakdowns.
  • prev_day_px field on GET /markets — markets payload now includes previous-day reference price per instrument.

UI

  • Announcements megaphone — megaphone icon in desktop and mobile headers with unread count badge. Clicking opens a popover listing announcements (title, body, date, optional image/link). Per-wallet read/dismiss state.
  • Edit & replace orders — desktop: pencil icon on open orders for inline price/size editing, checkmark submits, X cancels, row highlights amber during edit. Mobile: tapping an order shows Cancel and Update buttons.
  • Settled positions on member page — new "Settled Positions" section between Positions and Trade History. Shows per-symbol realized PnL from expired options and closed trades with green/red coloring. See Settlement for how options settle.
  • Realized PnL column in trade history — displays per-fill realized PnL with color coding; position-opening fills show a dash.
  • API key management no longer flashes on load — agent list renders immediately instead of popping in after page load.
  • Empty positions table hidden — when the user has no open positions, the positions section is hidden entirely instead of showing empty table headers.
  • Connect buttons on empty state — restored missing wallet connect buttons on empty-state screens.

PnL

  • P&L is now net of premium paid — realized PnL now accounts for the premium paid to open the position. Previously only showed gross payout. Example: a wallet previously showing +162Krealizednowcorrectlyshows+162K realized now correctly shows +27K after accounting for $135K premium paid.
  • Settled options grouped by underlying — attribution no longer lists every individual expired symbol; settled positions are collapsed into per-underlying buckets (e.g., "BTC (settled)").
  • Live equity no longer drops to zero for OTM positions — the kink where OTM position value abruptly fell to zero on the live tail of the equity chart is fixed.
  • Attribution visible for wallets with only expired positions — wallets with no open positions but settled options now correctly show PnL attribution.

Fixes

  • GET /profile returning 500 — fixed for wallets with incomplete aggregate data.
  • Unrealized PnL stale after server restart — portfolios are now repriced immediately on restart instead of waiting for the next mark update.
  • DTE off-by-one in payoff diagrams — fixed days-to-expiry calculation that shifted breakeven and max-loss lines.
  • Focus steal — fixed focus stealing during UI interactions.
  • Chart rendering improvements — various chart display fixes.

v0.05-testnet — April 11–13, 2026

Additions

Push Notifications

  • Browser push notifications — subscribe to fill, liquidation, and settlement alerts via Web Push. New endpoints: POST /push/subscribe, POST /push/unsubscribe, POST /push/preferences. All push endpoints require an EIP-712 wallet signature. Per-type toggles (fills, liquidations, settlements) available in desktop Settings and mobile account preferences.
  • Desktop toast notifications — real-time toasts for order fills and errors on the desktop layout.

Trading

  • Greeks tab (desktop) — new tab in the bottom panel showing per-position delta, gamma, theta, vega, rho, and IV. Column headers have tooltips linking to Greeks reference. Per-underlying subtotal rows; portfolio total when positions span multiple underlyings.
  • Sortable leaderboard columns — profit, volume, and efficiency columns on the leaderboard are now clickable to sort.
  • Order form improvements — quick amount selectors, improved tooltips, responsive sizing.
  • PnL chart on member page — member profiles now show an equity-over-time chart.
  • HC/HL stats relocated to side pane — HyperCore and HyperLiquid statistics moved to a side panel.
  • Zero-size order rows removed — order list no longer displays orders with zero size.

Ghost Mode

  • Ghost mode — unauthenticated users can browse markets, order books, and charts without connecting a wallet. Settings page also accessible without auth. See the desktop guide for details.
  • Dynamic per-asset favicons — browser tab icon shows a green ring with the active asset icon. Call/put variants display when viewing options.

Charts

  • Vol surface visualization — interactive 3D vol surface viewer at /risk/vol-surface for all listed underlyings. See Oracles for how vol surfaces are sourced.
  • Portfolio chart defaults to 5-minute interval — smoother rendering on newer accounts (8H view instead of 4D view).
  • Chart updates on preference change — switching chart mode in preferences now takes effect immediately without a page reload.

API

  • Expiry filter on GET /options-summary — pass ?expiry=YYYY-MM-DD to scope the response to a single expiration.

Account

  • Username display names — wallets can set a display name shown on the leaderboard and member pages. Names take effect instantly (no moderator review). Editable inline from both desktop Settings and mobile settings.

Fixes

  • Bid/ask sides inverted for some orders — fixed incorrect side assignment depending on on-chain order direction.
  • Option chain load time reduced ~60% — faster loading via server-side expiry filtering and pre-fetched chart data for visible strikes.
  • Market switching is now instant — no full page reload when switching underlyings on desktop.
  • Tenor switching crash on desktop — fixed crash and slowness when switching between option tenors.
  • Desktop account page scroll — long trade history content now scrolls properly.
  • Mobile /preferences 404 — preferences page now reachable on mobile.
  • Buying power updates after deposit — balance now updates immediately after a testnet faucet deposit instead of requiring a refresh.
  • Trade gate shown when agent not set up — shows setup actions instead of a non-functional sign button.
  • Error banners auto-clear — persistent error banners now dismiss themselves.
  • Leaderboard layout on mobile — fixed scrunched values on mobile vs desktop.
  • Redirect flicker eliminated — removed visible redirects when navigating to the app.

v0.04-testnet — April 7–10, 2026

See also: Week 4: Desktop Goes Live

Additions

API

  • GET /historical-theos — theoretical option prices over time, replacing raw last-trade price history. Configurable time intervals and limits. See REST API Reference.
  • GET /historical-theos/batch — fetch theoretical price series for up to 50 instruments in one request. Parameters: instrument_names=A,B,C&interval=1h&limit=100.
  • realized_pnl on GET /profile/trades — fills now return realized PnL.

UI

  • Greeks now use theoretical marks — all Greeks calculations use theoretical prices instead of last-trade prices, significantly improving accuracy for illiquid strikes.
  • Theoretical price chart on instrument pages — option contract pages display a historical theoretical price chart (replaces raw trade price history).
  • Inline position on instrument page — your open position for the active instrument is shown directly on the contract page.
  • Empty state improvements — better copy and layout for empty charts and empty states.

Fixes

  • Faucet deposit cap — testnet faucet now respects remaining per-wallet allowance instead of a fixed max.
  • GET /portfolio intermittent 503s — fixed intermittent server errors on the portfolio endpoint.
  • Loading spinners — eliminated phantom loading spinners during page load.
  • GET /profile/trades returning 500 — fixed for wallets with fills.
  • Member page layout shift — fixed alignment shift on the member page.
  • Default chart label — clarified that default chart preference applies to assets.

v0.03-testnet — April 1–6, 2026

See also: Week 3 Product Update

Breaking Changes

  • Portfolio margin model changed — Initial Margin formula changed from scanning_risk to max(scanning_risk, option_floor) + gamma_overlay. Three new fields in REST and WebSocket portfolio responses: scanning_risk, option_floor, gamma_overlay. Available balance is now equity - total_margin_used (was cash - total_margin_used). Equity now includes perpetual unrealized PnL.
  • GET /risk/grid changes — removed include_open_orders parameter. Scenario model changed from single-axis {scenario_type, value} to combined shocks {spot_shock_pct, vol_shock_pct, pnl_weight, is_tail}. Worst-case PnL is now weighted.

Additions

Desktop

  • Desktop trading layout — full desktop shell with multi-panel trade view, keyboard navigation, instrument price chart, compact option symbols, and click-to-navigate from positions/orders to instruments.

API

  • Option instruments now include underlying symbol and price — option instrument responses expose their underlying asset. See REST API Reference.

Competition & Leaderboard

  • Competition system — new endpoints: GET /competitions, GET /leaderboard, GET /competition-metric-ranks, POST /submitUsernameRequest. Monthly schedule (1st to 1st at 4:00 PM ET). Testnet competition with real prizes (500/500/300/$200 in SYN). Market makers excluded from rankings.
  • Leaderboard UI — rank badge ("Rank #X" or "Trade to win" CTA), prize breakdown card, Hyperliquid Names integration, formatted option symbols ("04/10 $59,000 Call"), FIFO lot P&L, relative timestamps (5m, 2h, 3d).
  • Markdown in competition descriptions — competition descriptions support markdown formatting.

Portfolio

  • Portfolio margin — cross-margining across correlated positions. Expired instruments excluded from gamma overlay.

UI

  • Compact option symbols — human-readable format throughout the UI: "04/10 $59,000 Call".
  • Max button on order form — one-click max size based on available margin.
  • Thousands separators — all price and size fields display commas.
  • Click position/order → instrument — tapping a position or order row navigates to the corresponding contract.
  • Preferences page — tooltips, badge cycling, and synced preference state across sessions.

Fixes

  • Chart UTC centering — asset charts center on UTC boundaries; timeframe transitions stabilized.
  • Swipe gestures (mobile) — fixed erratic swipe-to-cancel and swipe navigation behavior.
  • Desktop URL stripping — removed /mobile prefix from URLs on desktop; strike selection fixed.

v0.02-testnet — March 24–31, 2026

See also: Week 2 Product Update

Additions

Charts

  • Historical PnL chart — equity-over-time chart on the home page with interactive crosshair. Touch/click to inspect any point; shows timestamp and updates balance display.
  • Asset chart — per-asset spot price chart with y-axis clamped to the visible period range.

Order Management

  • Section headers — positions, orders, and history sections have distinct headers for easier scanning.
  • Swipe-to-delete orders (mobile) — swipe left on an open order to cancel.
  • Cancel order confirmation — dedicated cancel-order dialog.
  • Click order row → contract page — tapping an order navigates to the instrument detail view.
  • Updated open order appearance — refreshed styling for open orders.

Connectivity

  • WebSocket disconnect banners — visible banners when the WS feed drops or the backend is unreachable.

Greeks

  • Position Greeks on asset page — aggregate delta, gamma, theta, vega on the asset detail page.
  • Contract Greeks on contract page — per-position Greeks on the contract view.
  • Breakeven prices across option types — breakeven prices calculated and displayed for calls, puts, and spreads.

Trade History

  • Execution time on GET /profile/trades — trade history rows now include the fill timestamp.
  • Options chain expiry persistence — selected expiry saved in URL query params and restored on navigation.
  • Option instruments include underlying symbol and price — option instruments expose their underlying asset in responses.

Account

  • Username system — set a display name for your wallet address, shown on leaderboard and member pages.

Fixes

  • GET /profile/trades returning 500 — fixed for wallets with fills.
  • Default position display order — positions default to showing value, then PnL, then cost basis (was inconsistent).
  • Order footer shows time-to-expiry — added TTE display; 1-second signing delay prevents accidental double-submits.
  • Logout on mobile — session state properly cleared on sign-out.
  • Light mode background — fixed background color in light mode.
  • Smoother page transitions — reduced visual stutter during navigation.
  • Swipe background — fixed background rendering during swipe interactions.

v0.01-testnet — March 16–23, 2026

See also: Week 1 Product Update

Additions

Theme & Appearance

  • Midnight dark mode — new high-contrast dark theme alongside the existing light mode.
  • Auto theme mode — theme automatically matches device light/dark preference. New users default to auto.

Dashboard & Stats

  • HL & HC stat fields — toggle between Hyperliquid-specific and Hypercall-specific statistics on the dashboard.
  • Put/call ratio — put/call ratio added to the Hypercall stats panel.
  • Outcome badges — visual badges for trade outcomes (profit, loss, expired worthless, etc.) with pie chart in position header.

Options Chain

  • Strike sorter and selection persistence — strike prices sortable; selection persists across sessions.
  • Price target seeding — price target page seeds with the current underlying price instead of blank.
  • Underlying price normalization — consistent underlying price display across all pages, including DEX perp data.

Order UX

  • Cancel message for filled/expired orders — cancel attempts on already-filled or expired orders show "This order has already been completed or cancelled" instead of a raw error.

Preferences

  • Preferences page — tooltips, badge cycling, and synced preference state across sessions.

Fixes

Connectivity

  • Data refreshes on WebSocket reconnect — orders, fills, and portfolio re-fetched on WS reconnect instead of showing stale data.
  • WS reconnect delay — backoff timer now resets after a healthy connection. Previously never reset, causing all reconnects to wait 30 seconds after a few normal disconnects.

Orders

  • Ghost orders on expired instruments — orders on settled instruments are now properly cleaned up, preventing "Orderbook not found" errors on cancel.
  • Negative cash balance rejection — BUY orders that would make cash balance negative are now rejected at submission. Rejection message: "Insufficient cash (Standard)". Can be bypassed for risk-reducing buy-to-close orders. See Standard Margin.

UI

  • Price target animation — fixed bouncing/stuck animation on the price target page.
  • Mobile asset chart clipping — fixed quick action clipping on mobile asset chart.
  • Mobile PWA loading hang — fixed an issue causing the mobile PWA to hang on "Loading...".

Known Issues

Staging behavior and known issues are communicated with access; contact the team for details.

Versioning Policy

Stability labels:

  • Stable: Router paths and core request/response shapes unlikely to change

Breaking changes: Will be documented here with migration guides.

References