Skip to content

Live market

The live market section takes public trades from Hyperliquid as they happen, looks up the trader behind a sample of them, and shows what Guard would have said, with a heat score. Nobody is named.

WebSocket trades (BTC, ETH, SOL, HYPE, XRP, DOGE, SUI, AVAX)
→ sample the taker of each order
→ look up that trader's public state (within the request budget)
→ judge the trade with the WebAssembly engine, under your rules
→ heat score → anonymise → show
  • One taker order that sweeps several resting orders arrives as several trades. They are added up into one sample.
  • Only the taker is sampled: the maker is most often a market maker, and the taker is the one who decided to trade now.
  • Market makers are skipped: an address in more than 40 trades within a minute, or with 100 or more open orders.
  • Trades under 100 USD are not sampled.
  • At most 32 samples wait. A sample older than 10 s is dropped, because the trader’s state would no longer describe the trade.

Addresses never reach the page. Each one becomes a tag such as #3fa1: the first four hex digits of SHA-256 of a random salt and the address. The salt is drawn once per page load, so a trader keeps the same tag while the page is open and gets a new one after a reload. Amounts are rounded to two significant figures, prices to four, times to the second.

What this does and does not do: Anonymisation.

Hyperliquid allows 1,200 request weight per minute per IP. The page uses at most 600, half, because you may have other Hyperliquid tools open on the same connection. Details: Request budget.

  • Not a list of good or bad traders. A refused trade can be a winning one; the rules judge risk, not outcome.
  • Not complete. It samples; most trades are never looked up.