Big ideas. Meet your circuit breaker.
Replay the past. Watch new trades. Set up protection. Choose where to start; your rules stay with you. Read the public source and prepare your setup. Signed installers are next; Replay and Watch work today.
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.
+37.7% in the 90 days to 11 Oct 2026, through a 11.4% drawdown. Guard takes 0 of its 76 entries as they were, resizes 72 and refuses 4: +23.9%, 6.3% 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 11 Oct 2026, 09:32 UTC, replayed when this page was built · 577 fills
Guard took nearly all of this account’s entry size: less return, a smaller drawdown.
Refused: 4 open-risk cap. Resized: 71 stop added, 1 stop added and sized down.
With deposits or withdrawals in the window, return, worst drawdown and worst day are time-weighted: the flows cut the curve into stretches, and each stretch counts by its own change, so money moved in or out is never counted as gain or loss. A deposit moves both curves by its amount; a withdrawal takes the same share of each.
Equity, 90 days
Account equity · USDC · includes cash flows
- Requested
- Select a decision above
- Would forward
- Read-only replay
- Reason
- The engine’s decision, under the selected rules.
Playback reveals the recorded curves; it does not rerun the engine. Equity at the cursor is interpolated for display. Summary statistics always cover the full result.
No liquidations in this history.
Adjust your replay rules
Difference = Behind Guard − As traded, using the displayed values. pp = percentage points.
The trades that mattered
SELL BTC · Guard’s stop10 Sep 13hstop hit
- As traded
- —
- Behind Guard
- −$1.9k
- Leverage
- —
- Stop
- added
SELL HYPE · Guard’s stop17 Jul 05hstop hit
- As traded
- —
- Behind Guard
- −$900
- Leverage
- —
- Stop
- added
SELL BTC · Guard’s stop08 Oct 16hstop hit (hourly price)
- As traded
- —
- Behind Guard
- −$760
- Leverage
- —
- Stop
- added
SELL ETH · Guard’s stop16 Sep 02hstop hit
- As traded
- —
- Behind Guard
- −$744
- Leverage
- —
- Stop
- added
SELL PUMP · Guard’s stop05 Oct 19hstop hit (hourly price)
- As traded
- —
- Behind Guard
- −$445
- Leverage
- —
- Stop
- added
SELL BTC · Guard’s stop07 Oct 02hstop hit
- As traded
- —
- Behind Guard
- −$417
- Leverage
- —
- Stop
- added
SELL SOL · Guard’s stop01 Aug 07hstop hit
- As traded
- —
- Behind Guard
- −$353
- Leverage
- —
- Stop
- added
SELL BTC · Guard’s stop26 Aug 14hstop hit
- As traded
- —
- Behind Guard
- +$315
- Leverage
- —
- Stop
- added
BTC · open at the end11 Oct 09hmarked at window end
- As traded
- −$376
- Behind Guard
- +$46
- Leverage
- —
- Stop
- —
ETH · open at the end11 Oct 09hmarked at window end
- As traded
- +$275
- Behind Guard
- +$275
- Leverage
- —
- Stop
- —
| WHEN | TRADE | LEV. | STOP | RESULT · AS TRADED → BEHIND GUARD | GUARD |
|---|---|---|---|---|---|
| 10 Sep 13h | SELL BTC · Guard’s stop | — | added | — → −$1.9k | stop hit |
| 17 Jul 05h | SELL HYPE · Guard’s stop | — | added | — → −$900 | stop hit |
| 08 Oct 16h | SELL BTC · Guard’s stop | — | added | — → −$760 | stop hit (hourly price) |
| 16 Sep 02h | SELL ETH · Guard’s stop | — | added | — → −$744 | stop hit |
| 05 Oct 19h | SELL PUMP · Guard’s stop | — | added | — → −$445 | stop hit (hourly price) |
| 07 Oct 02h | SELL BTC · Guard’s stop | — | added | — → −$417 | stop hit |
| 01 Aug 07h | SELL SOL · Guard’s stop | — | added | — → −$353 | stop hit |
| 26 Aug 14h | SELL BTC · Guard’s stop | — | added | — → +$315 | stop hit |
| 11 Oct 09h | BTC · open at the end | — | — | −$376 → +$46 | marked at window end |
| 11 Oct 09h | ETH · open at the end | — | — | +$275 → +$275 | marked at window end |
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.
·
- read-only · public data · no keys, no signature
- runs while this tab is open
- warns, cannot block: blocking needs a running Guard
Your bot, judged live
not watching- EQUITY
- —
- TODAY
- —
- OPEN RISK
- —
- WOULD REFUSE
- —
| Time | Order | Detail | Guard |
|---|---|---|---|
| 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.
Your bot brings the ideas. You bring the limits.
Start with pay per order, or go Pro for a flat price. Then prepare the same Guard installation: every rule stays on either way.
Replay before you decide ↗01 / CHOOSE HOW YOU PAY
Same Guard. Two ways to fuel it.
No checkout. No waiting. Install now; approve the builder fee with your wallet when you configure live trading.
Install with pay per order ↓Buy Pro, then activate the emailed licence key in your installed Guard. Guard 1.0 is pre-release; your term starts when we send the key. Venue fees still apply.
More than 3 accounts? Compare Fund and Platform →
02 / RUN IT WHERE YOUR BOT RUNS
Your bot’s new plus-one.
Choose where Guard runs. We tailor the command to that machine, your rules and your account. Commands remain planned until Guard 1.0 is published.
Your settings from this site
The default rules. Set your own on the playground, or paste a rules code.
- 5× max
- 2.0% at stop
- no stop: Guard sets one
- liq. ≥ 10%
- size ≤ 200%
- open ≤ 6%
- daily 6%
- drawdown 25%
- 5/5 markets
- mainnet setup
Markets are set on the playground. Your rules are saved in this browser and used everywhere on this site.
Where Guard runs
Next to your bot: run the command on the machine where your bot runs. If that is a server you reach over SSH, pick “On a server”.
Other ways to run it: On a server (SSH) · AWS cloud · Packages · Docker.
Windows: the native PowerShell installer is not verified for this release yet. Docker Desktop is the other way once its channel is verified.
Guard listens on 127.0.0.1:8547 only, on this machine. Every command here matches the release (zunder-guard v1.0.2).
Ubuntu 24.04 or Debian 12 is best: the key is stored encrypted with systemd-creds. No port is opened; Guard listens on 127.0.0.1:8547.
AWS · Tokyo by default. We create the server and install Guard after you confirm in AWS. Already have a server? Use SSH or Docker on that machine.
On your own account at the platform; we never see the server. Its operators could in principle read Guard's state: use an account holding only what you are willing to lose. Details: AWS deployment.
Your account. Your keys stay with you.
Only public addresses go here. Paper needs no private key; for testnet and mainnet, enter your API wallet key on the machine running Guard.
Which keys will I need?API wallet & optional alerts
For testnet and mainnet. Create an API wallet in the Hyperliquid app: it can trade, it cannot withdraw. Guard asks for its key with hidden input on the server and stores it encrypted for the service. API wallets
A webhook URL is a bearer secret too. Add it on the server, in Guard's config, after the setup. Configuration
Public values: checked in this browser
Preview the guided setupIllustration · not a running Guard
v1.0.2: installation channel unavailable. No installation or activation has run.Selected mode: mainnet. Prepare your public account and rules while publication is verified.
Run this where your bot runs
One command with your rules, on this machine. It installs Guard after checking the release’s signature and asks you the rest here.
Tokyo is preselected; you can change the region in AWS. Your rules and public account address travel with the launch button. Review the permissions and create the stack—Guard installs automatically in paper mode.
AWS bills the server, disk and public IPv4 address. No inbound ports or trading keys. After installation, open the stack’s ConsoleShell output. Complete your selected mode locally; the launch button itself always bootstraps paper.
AWS activation guide →# v1.0.2 installation channel is not published or verified yet.# Selected mode: mainnet. Keep preparing your rules; installation is disabled. Hover or focus a part of the command to see what it does.
Inspect the installer & verify its signature
Every command on this page matches the release (zunder-guard v1.0.2). Prefer to read first? curl -fsSLO https://zunderlabs.com/i && less i, then sh i --rules …. Or verify by hand: Verify a release.
Check it, then point your bot at it
On the machine where Guard runs:
curl -fsS http://127.0.0.1:8547/healthz# {"status":"ok"}: Guard is upcurl -fsS http://127.0.0.1:8547/guard/status# version, mode, network, account and state, read-only 03 / CONNECT YOUR BOT
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
"exchange": { "name": "hyperliquid",- "privateKey": "<api wallet key>",+ "walletAddress": "0xYourAccount",+ "privateKey": "<guard client key>",+ "ccxt_config": { "sandbox": true,+ "options": { "builderFee": false, "refSet": true },+ "urls": { "test": { "public": "http://127.0.0.1:8547",+ "private": "http://127.0.0.1:8547" } } } },+ "margin_mode": "isolated", "trading_mode": "futures"
from hyperliquid.exchange import Exchange- ex = Exchange(wallet, constants.MAINNET_API_URL)+ ex = Exchange(guard_client, "http://127.0.0.1:8547",+ account_address="0xYourAccount") # no trailing slash on the URL
// claude_desktop_config.json+ "mcpServers": { "zunder-guard": {+ "command": "zunder-guard",+ "args": ["mcp", "--key-file", "/path/to/mcp-client.key"] } } // key from: zunder-guard client add --out …; the agent can trade, never loosen a limit
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.
PROVE THE ROUTE / PAPER MODE
First, make it refuse a bad idea.
Start in paper mode and verify the whole route before changing networks.
- Confirm Guard is listening on loopback and your bot uses its client key.
- Inspect an allowed order and a refused order in Guard’s decision log.
- Check the configured limits, stops and kill switch in the guided setup.
04 / ACTIVATE YOUR PLAN. THEN GO LIVE.
Paper first. Lightning next.
Your limits stay on in every mode. After paper and testnet checks, finish the plan you chose and activate mainnet on your host.
Setup guide for Guard 1.0 · signed installers are not published yet.
Pay as your bot trades.
Approve the 0.02% builder fee once with your main wallet. No checkout or subscription. Paper and testnet remain free.
Prepare fee approval →Your licence. Put it to work.
Keep your signed licence key ready. After your final network setup, add it to Guard’s config and restart. Check fee.mode = fee_free before starting your bot.
You decide when it goes live.
Use Linux with systemd and encrypted credentials for managed mainnet. Stop your bot before changing modes, confirm the account and follow the journal and service instructions. Buying Pro never changes the network.
Mainnet setup guide ↗Linux / AWS: managed mainnet setup
Native Windows: paper + testnet
Planned: connect this browser to a running Guard
Illustrative pairing code · not active
Later: pair this page with your Guard planned
Type the code Guard printed. The Watch monitor then shows real decisions, and gains a kill switch.
Your bot brings the spark. Keep the circuit breaker.
The source is public. Follow the release for signed installers, or explore the complete setup now.