CONNECT YOUR BOT

Backtest it. Watch it. Then guard it.

Available now: replay and Watch, directly in your browser. Guard 1.0 will add order protection when it is released.

What would Guard have done with your bot?

Paste your bot’s public Hyperliquid address, or explore a sample below. Compare its real history with a replay behind your rules.

+39.5% in the 90 days to 6 Oct 2026, through a 14.6% drawdown. Guard takes 27 of its 68 entries as they were, resizes 34 and refuses 7: +30.4%, 7.0% drawdown.

  • runs entirely in your browser
  • no wallet connection · no signature · no keys
  • nothing to approve, nothing that can move funds
  • we never see the address

Sample: a public Hyperliquid vault · its 90 days to 6 Oct 2026, 22:45 UTC, replayed when this page was built · 492 fills

Guard took about four fifths of this account’s entry size: less return, a far smaller drawdown.

Refused: 7 open-risk cap. Resized: 28 stop added, 3 a stop-out may lose at most 2% of equity, 2 stop added and sized down, 1 other.

Equity, 90 days

Behind Guard As traded halted by a stop deposit withdrawal

Account equity · USDC · includes cash flows

44,72935,32125,913
start replay ends
As traded 43,423Behind Guard 40,578

No liquidations in this history.

Adjust your replay rules
Your rules

Every rule applies here, including the account stops.

if an order comes without a stop
RETURN, 90 DAYS
Behind Guard+30.4%
As traded+39.5%
Difference−9.1 pp
Guard cost return here
RETURN PER 1% DRAWDOWN
Behind Guard4.4
As traded2.7
Difference+1.7
more return for the risk
WORST DRAWDOWN
Behind Guard−7.0%
As traded−14.6%
Difference+7.6 pp
peak to trough
WORST DAY
Behind Guard−6.9%
As traded−12.1%
Difference+5.2 pp
daily stop at 6% · stops new entries
The daily loss stop halts new entries for the rest of the UTC day once the day’s loss reaches it. Positions already open keep running to their own stops, so a day can still close below the limit.
LIQUIDATIONS
Behind Guard0
As traded0
Difference0
7 refused · 34 resized · 0 halted

Difference = Behind Guard − As traded, using the displayed values. pp = percentage points.

The trades that mattered

largest differences between your bot and Guard
SELL BTC · Guard’s stop10 Sep 13hstop hit
As traded
—
Behind Guard
−$2.1k
Leverage
—
Stop
added
SELL HYPE · Guard’s stop13 Jul 04hstop hit
As traded
—
Behind Guard
−$841
Leverage
—
Stop
added
SELL ETH · Guard’s stop16 Sep 02hstop hit
As traded
—
Behind Guard
−$744
Leverage
—
Stop
added
SELL SOL · Guard’s stop01 Aug 07hstop hit
As traded
—
Behind Guard
−$436
Leverage
—
Stop
added
SELL LIT · Guard’s stop21 Jul 07hstop hit
As traded
—
Behind Guard
−$150
Leverage
—
Stop
added
SELL HYPE · Guard’s stop17 Jul 05hstop hit
As traded
—
Behind Guard
−$100
Leverage
—
Stop
added
SELL LIT · Guard’s stop03 Aug 05hstop hit
As traded
—
Behind Guard
−$36
Leverage
—
Stop
added
BUY ETH19 Aug 14hrefused · open-risk cap
As traded
−$4
Behind Guard
+$0
Leverage
—
Stop
none
The eight trades where Guard changed the result most, then the largest deposits and withdrawals, and where the replay ended early if it did
WHENTRADELEV.STOPRESULT · AS TRADED → BEHIND GUARDGUARD
10 Sep 13h SELL BTC · Guard’s stop — added — → −$2.1k stop hit
13 Jul 04h SELL HYPE · Guard’s stop — added — → −$841 stop hit
16 Sep 02h SELL ETH · Guard’s stop — added — → −$744 stop hit
01 Aug 07h SELL SOL · Guard’s stop — added — → −$436 stop hit
21 Jul 07h SELL LIT · Guard’s stop — added — → −$150 stop hit
17 Jul 05h SELL HYPE · Guard’s stop — added — → −$100 stop hit
03 Aug 05h SELL LIT · Guard’s stop — added — → −$36 stop hit
19 Aug 14h BUY ETH — none −$4 → +$0 refused · open-risk cap

How honest is this? A replay is a what-if, not a promise. Skipping or shrinking a trade can change what your bot would have done next, and prices, fees and funding after a skipped trade are taken from your real history. Losses are capped at your stop only where your bot actually had one. Results include fees and funding as Hyperliquid recorded them.

Watch your bot live

Enter its address. Every new trade is judged against your rules the moment it happens, right in this tab.

Public sample addresses are never saved as your account.

not watching yet
  • read-only · public data · no keys, no signature
  • runs while this tab is open
  • warns, cannot block: blocking needs Guard (step 3)

Your bot, judged live

not watching
your rules: 5× · 2% · stop set by Guard · daily 6%
EQUITY
—
TODAY
—
OPEN RISK
—
WOULD REFUSE
—
The watched address’s newest trades and what your rules would have done
TimeOrderDetailGuard
Your next trade appears here. Enter your bot’s public address, or try a public vault. You will see its equity, new trades and which rules would refuse them. Watch can warn you; it cannot block a trade.

Streams your address’s public trades from Hyperliquid and judges them with Guard’s engine in your browser.

Step 3: put Guard in front of your bot

Planned Coming with Guard 1.0 · not released yet

YOUR NEXT STEP

Your bot. Full Guard. Zero builder fee.

Get Pro for up to 3 accounts. Guard 1.0 is pre-release; your licence term starts when we send the key. Explore the setup below, ready for release.

Get Pro
Other installation options
or
PLANNED COMMANDS AND EXAMPLE OUTPUT · work only after Guard 1.0 is published
$ curl -fsSL https://zunder-design-preview.pages.dev/i | sh -s -- \    --rules zr1_eyJ2IjoxLCJt…siKiJdfQ# checks the release’s signature, installs, asks the rest here# paper mode · listening on 127.0.0.1:8547 · v1.0.0
run it where your bot runsa Sigstore-signed release, checked before it installsstarts in paper modelistens on 127.0.0.1 only

Point your bot at Guard planned

A few settings change: the URL, the key Guard gives your bot, isolated margin. Your bot keeps its own logic.

  exchange = ccxt.hyperliquid({-     "privateKey": API_WALLET_KEY,+     "walletAddress": "0xYourAccount",+     "privateKey": GUARD_CLIENT_KEY,  # from zunder-guard init+     "sandbox": True,  # Guard accepts either signature+     "urls": {"test": {"public": GUARD, "private": GUARD}},+     "options": {"builderFee": False, "refSet": True},  })  # isolated margin; a stop on each entry, or Guard attaches one

Your bot gets a key issued by Guard. The real trading key stays inside Guard, so a compromised bot can never trade past your limits.

Illustrative pairing code · not active

Later: pair this page with your Guard planned

Type the code Guard printed. The monitor from step 2 then shows real decisions, and gains a kill switch.

read-only by default · this site only
the page may pull the kill switch, never place an order

Guard 1.0 is not out yet.

Join the waitlist and we will tell you when the commands above work.

Join the waitlist