The Five Tips Nobody Actually Checks

Search for Hyperliquid trading tips and you get the same five, in roughly the same order, on every page: sign up with a referral code, stake HYPE for a fee discount, use limit orders instead of market orders, throttle your API calls so you stop getting 429s, and keep your trading keys on a hardware wallet.

I have been giving out that exact list for months. Then I finally checked which of them saved me money.

I pulled every fill from my own Hyperliquid account — 8,761 of them, spanning 2026-04-20 to 2026-08-25, $852,619.14 of traded volume — and added up what I actually paid in fees against what I would have paid without each tip.

The two tips that lead every list saved me $28.00. The tip I had sitting at number four was worth $212.38 on identical trades.

Here is the whole audit, the corrected ranking, and how to run the same check on your own wallet in about a minute. Every figure below is as of 2026-08-26 and comes from Hyperliquid's own API, not from a rate card.

How Hyperliquid Perp Fees Actually Work

There are two base fee rates on Hyperliquid perpetuals, and the gap between them is the entire story.

A market order costs exactly three times what a limit order costs. Same coin, same size, same second.

On top of that base rate you can stack two discounts. A referral code takes 4% off. Staking HYPE takes off between 5% and 40%, depending how much you hold.

So the discounts buy you somewhere under 10% off your fee rate. Choosing a limit order over a market order buys you 67%. That is the asymmetry the rest of this post measures.

The Audit: 8,761 Real Fills

Over the 128-day window, the account paid $332.92 in fees on $852,619.14 of volume — a blended effective rate of 3.905 bps.

Those same fills, with no referral code and no HYPE staked at all, would have cost $360.92 at base rates.

So both discounts together, over four months, saved $28.00.

Now the other number. 91.04% of the volume was taker — $776,241.10 of market orders against just $76,378.03 resting as maker.

ScenarioSaved
Referral code + HYPE staking (what actually happened)$28.00
25% of taker volume placed as limit orders instead$53.09
50% of taker volume placed as limit orders instead$106.19
100% of taker volume placed as limit orders instead$212.38

Moving even half the market orders to limit orders saves nearly four times what both fee discounts combined managed. Moving all of them saves 7.6 times as much.

The discounts are a rounding error against the order-type decision.

The Discount Stack Multiplies — It Does Not Add

This is the part I did not expect to find, and it is visible in anyone's own fee history.

Breaking the same fills down by month gives the effective discount actually applied:

MonthFillsVolumeFees paidDiscount
2026-04137$10,679$4.614.00%
2026-05854$107,847$46.594.00%
2026-061,021$197,483$80.077.41%
2026-071,925$170,230$63.708.80%
2026-084,824$366,381$137.948.80%

April and May sit at exactly 4.00% — that is the referral discount on its own. HYPE was staked partway through June, which is why June lands at a blended 7.41%. July and August then lock flat at 8.80%.

4% and 5% is not 9% off. It is 0.95 × 0.96 = 0.912, which is 8.80% off. The two discounts stack multiplicatively, and you can watch the second one switch on in the data.

Worth knowing too: the staking tiers are steeper than most write-ups suggest. Read live from the API, they are 10 HYPE → 5%, 100 HYPE → 10%, 1,000 → 15%, 10,000 → 20%, 100,000 → 30%, 500,000 → 40%. This account holds about 11 HYPE, so it is on the first rung at 5%. Getting to the 100-HYPE rung would have saved a further $21.22 over the same period.

The Five Tips, Ranked by What They Actually Save

1. Use limit orders instead of market orders — $212

Not close. But you cannot just flip a bot over to limit orders and walk away, because a limit order might not fill. What you need is a small order fulfilment engine: it places a limit order, retries a few times if nothing happens, and only falls back to a market order when it genuinely has to. And every order gets its stop loss placed on the exchange, not held in your script — if your bot crashes, the exchange still has your stop.

2. Do not get rate limited

Hyperliquid allows roughly 200 reads and 50 writes per minute, per IP address, and returns a 429 with a short lockout past that. The part that catches people out: your price polling and your order placement come out of the same budget. A chatty price loop that checks the book every second is literally spending the requests you need in order to place trades. Throttle your reads, cache anything that is not moving, and back off properly on a 429 rather than hammering through it.

3. Stake HYPE — $21

Free money, two minutes of work, and worth precisely what the tier table says. Getting from 11 HYPE to 100 HYPE would have moved this account from the 5% rung to the 10% rung and saved another $21.22 across four months.

4. Sign up under a referral code — 4%

Costs nothing and applies from the first fill. The catch is that it is only settable when you create the account. You cannot add one afterwards. So if you are about to create a new Hyperliquid wallet, do it then, because that door closes permanently.

5. Use a hardware wallet

No dollar figure attached, and still the most important item on the list. Create the trading wallet on a cold storage device rather than a hot wallet sitting on the same machine your bot runs on. Your bot does not need your main keys — it can trade through an API wallet whose permissions you control. The other four tips save you hundreds of dollars. This one saves you everything.

Run the Same Audit on Your Own Wallet

This takes about a minute and needs nothing but your wallet address — no account, no API key, nothing to connect.

Hyperliquid's public info endpoint returns your fills with the fee already attached:

curl -X POST https://api.hyperliquid.xyz/info \
  -H "Content-Type: application/json" \
  -d '{"type":"userFillsByTime","user":"0xYOUR_ADDRESS","startTime":0}'

Then sum the fee field and split the volume on the crossed field. crossed: true means you took liquidity — that fill was a market order. false means you were the maker.

One trap that will bite you: the endpoint returns a maximum of 2,000 fills per request. If you have been trading a while you have to paginate on startTime = last.time + 1 and de-duplicate on tid, or you will quietly analyse only your most recent 2,000 fills and conclude something wrong about your whole history.

The percentage of your volume that came back crossed: true is the single number that decides your fee bill. Everything else is a discount on top of it.

This is one account over four months. Your split will look different, and none of this is financial advice.