Skip to content

Watch

Watch follows one Hyperliquid address in your browser and judges each new trade under your rules, as it happens. When a rule breaks, it tells you, with a browser notification if you allow one.

A browser tab cannot receive your bot’s orders: a web page has no listening socket. So Watch sees a trade only after Hyperliquid has filled it. To stop a trade before it happens, you need Guard in front of the bot.

All public, no wallet connection, no signature, no key:

SourceWhatHow often
WebSocket userFillsthe address’s fillslive
WebSocket orderUpdatesits orders, including stopslive
WebSocket clearinghouseStateequity, positions, liquidation priceslive
frontendOpenOrdersopen orders, when they changed and a fill needs judgingon demand
portfolioPnL history, for the daily loss stop and drawdown haltevery 5 minutes
metalot sizes and minimumsonce

The address is held only while Watch runs, and dropped when you stop it. No event the page shows carries it.

  • Each new order’s fills, once a short grace has passed: a stop placed up to 5 s after the fill still counts as that entry’s stop. Then the same nine rules as Backtest, with the same WebAssembly engine.
  • The account as a whole, on every state update. A warning fires when:
    • the daily loss stop or the drawdown halt is reached (halted_for_day, stopped),
    • a position has no stop (position_without_stop),
    • open risk is over your cap (open_risk_over_cap),
    • leverage is over your cap (leverage_over_cap).

Example. Your bot opens 2 ETH and forgets its stop. Five seconds later Watch shows “would refuse · no stop”, and the account-level warning “position without stop” stays until a stop appears.

  • The tab must stay open and the computer awake.
  • One address. Hyperliquid lets one IP subscribe to user data of at most 10 different users; Watch uses one of them.
  • It reads state after the trade. A second trade right after the first can blur which trade changed what.
  • Notifications need your browser’s permission.