Skip to content Skip to documentation navigation
Haptic Docs Open the terminal

Trading

The interface

A map of the panels, and what each one will and will not do for you.

Pre-launch. Market data is live Hyperliquid mainnet. Order placement is not wired: the fills, position, PnL and volume shown here are simulated against the real price. Amber outline means simulated. What is built, in full.

Where everything is

The terminal is five panels and two thin strips. The map is drawn to the real track sizes, so the order book really is that narrow next to the chart:

Where each panel sits in the terminal5 panels, drawn at the sizes the shell ships. A header strip 52 pixels tall across the top and a status strip 28 pixels tall across the bottom. The chart fills the left, with the orders and positions strip 190 pixels tall beneath it. The order book is a 300 pixel column. The right rail is 440 pixels wide and holds the position readout above the order entry panel.CHARTcandles, levels, ladderORDERSand positionsBOOKdepthPOSITIONsize and PnLORDER ENTRYsize, leverage
Drawn to the shipping track sizes. The thin band on top is the market, mark and funding header; the one underneath is latency and the tape. The market selector, alerts and the progression view get no panel: they open over the whole thing.

Three things that look like panels are not. The market selector, the alert panel and the progression view open over the whole window and then close again. None of them has a home on the grid, which is why none of them appears above.

The chart

Live Hyperliquid candles on one canvas, drawn at the browser's own refresh rate. There is no second chart type. No line, no area, no bars.

Timeframes

Seven chips. The first is the feed's own resolution, labeled with whatever that period actually is, and the rest are 1m 5m 15m 1h 4h 1d. The choice is not remembered across a reload.

Indicators

Three, and three is the feature.

VWAP, a fast moving average at 20 periods, and a slow one at 50. They toggle independently and they are computed against the bars you are actually looking at, so switching timeframe recomputes them.

The VWAP anchor is the UTC trading day and is not selectable. The two moving average periods are not editable either: no control for them, no way to change them from the interface. Both of those are deliberate. Power users do analysis in TradingView and execution in a terminal, and competing with TradingView on charting is a fight that has consumed better funded teams. The scope here is VWAP plus two averages and then a full stop.

Your indicator on-and-off state does persist across a reload, under ctm.chart.ind.

Levels on the price axis

Entry, liquidation, take and stop levels and every working order are drawn on the price axis, and the working levels are draggable. The liquidation line escalates in color as the position approaches it, driven by the same danger calculation the position readout uses, so the two cannot disagree. Up to 34 levels are drawn at once.

What the chart does not do

  • No pan and no zoom. The window is a fixed number of candle slots. The mouse wheel is claimed only while a ladder gesture is live, and the page scrolls normally the rest of the time.
  • No drawing tools. No trendline, no Fibonacci, no rectangle, no text annotation. The only entry in the tool group is the ladder.
  • No measure or ruler tool.

The order book

Live Hyperliquid depth. Price, size and cumulative total per side, with a trade tape beside it. The number of levels is measured from the pane, so it is whatever fits: as many as the height allows, up to 26 per side, re-measured when the layout changes.

Each row carries a depth bar scaled against one cumulative total shared across both sides, so a bid bar and an ask bar of the same length mean the same quantity. Hovering a row sweeps the cumulative depth down to it. There is no historical depth heatmap.

Tick grouping

Five options: 1 5 10 25 50 ticks per row. The default is 10 and the header shows what that resolves to as a price width. The choice resets to 10 on every reload.

Clicking a level does not fill the ticket

Clicking a price in the book flashes the row and announces the price internally, and nothing in the terminal listens for it today, so the order form is not populated and no order is composed. Type or drag the price instead. Nobody decided this. It is a loose end, and it is listed on What is built.

There is also no drag-a-range gesture in the book and no keyboard route to a price in it. The ladder gesture is a chart feature only. The grouping buttons are ordinary buttons and are keyboard reachable.

The market selector

It opens by clicking the instrument cell at the top left of the header. There is no keyboard shortcut for it, and if you have read somewhere that / or Ctrl+K opens it, that is wrong: those keys are bound in a developer test page and nowhere in the product.

Once it is open it is entirely keyboard driven, and it pulls stray keystrokes into the search box, so you can start typing a symbol without aiming at the field first.

KeyWhat it does, while the selector is open
↑ ↓Move the cursor one row
PgUp PgDnMove the cursor nine rows
EnterSelect the row under the cursor
TabNext filter. Shift and Tab for the previous one
Ctrl+DToggle the favorite star on the cursor row
Home EndFirst or last row, while the search box is empty
EscClose the selector
any letterFocuses the search box and types into it

Eight columns: a favorite star, the market, a 24 hour sparkline, mark, 24 hour change, volume, funding and maximum leverage. A detail strip under the cursor row adds open interest, 24 hour volume and the leverage ceiling. Click any column head to sort, click it again to reverse. The default is volume, descending.

Five filters: all, favorites, gainers, losers, and high funding. Favorites are per session and are not remembered across a reload.

The selector's own numbers are not the venue's

The list of 45 markets is fixed at build time and the marks, changes, volumes and funding rates shown inside the selector are generated locally, not fetched. Only the symbol you pick is used.

Picking one does switch everything else to the real market. The chart and the order book are torn down and rebuilt against the venue, the header reprices, and price precision follows the instrument, so what you see after the switch is Hyperliquid's data for the market you chose. Do not read a price off the selector. Read it off the header.

Working orders and positions

Two tabs. Open orders shows everything resting, grouped so that a ladder or a scale is one expandable row and not twenty, and a client-managed order draws its rail dashed and carries the word LOCAL at the head of its lane. Dashed means conditional on something that can break.

Positions, orders and fills in these two tabs come from the simulated execution path. Not from the venue, and both panels carry an amber outline saying so. The behavior described here is real. The numbers are not yours yet.

Both tabs carry a standing count of how many of your orders need this tab open. It is on the positions tab as well as the orders tab deliberately: a trailing stop is guarding a position, and the tab where you look at the position is a place you can be wrong about what is guarding it. Order types covers that in full.

Alerts

Three kinds, up to 64 at once, armed from a field that opens on the live mark so pressing Enter alone arms a cross at the current price.

Price
Above a level, below a level, or either way. Type 148 for a level, -5% for a drop, 5% for either direction.
Liquidation
Fires when the distance to your liquidation price falls inside a threshold you set, and re-arms only after the distance recovers past a margin, so one wobble does not fire it repeatedly.
Funding
Rate above or below a level, or a set number of minutes before the next payment. Hyperliquid funding is hourly.

Each alert repeats once, or on a 1, 5 or 15 minute cooldown. Your alert definitions survive a reload, under ctm.alerts.v1. Which ones have already fired does not.

Alerts need this tab open and visible

An alert is evaluated in your browser, against the price feed this tab is receiving. It fires as a visual event in the page: a flash, a shockwave from the header indicator, and on a critical alert a shake. There is no sound, no desktop notification and no push. Close the tab, switch to another window, or lock the machine, and nothing will reach you.

The footer chip reading SAVED means your alerts are stored in this browser. It does not mean they are stored anywhere else, and it does not mean anything is watching them for you. If it reads IN MEMORY, your browser refused storage and the alerts will be gone on reload.