hyperliquid.build
UTC
HIP3-FEES-GROWTH-MODE-FUNDING(7)hyperliquid.build HandbookHIP3-FEES-GROWTH-MODE-FUNDING(7)

Name

HIP-3 fees, growth mode, and why funding and depth cost more than fees

The taker-fee formula for HIP-3 markets, where to read growth mode and the deployer fee scale from the API, and a three-month replay showing funding at roughly thirty times the fee bill.

published 2026-09-30updated 2026-09-30

If you model a HIP-3 stock perp with "9 bps taker" you are probably overstating fees by about ten times and understating the costs that actually matter. This note gives the formula we use, where the inputs live in the API, and what a replay of a simple weekly-rebalanced basket taught us about the real cost stack.

The taker-fee formula

For a HIP-3 market the base taker fee is scaled by the deployer's fee setting, and cut by 90% when the asset is in growth mode:

multiplier = 1 + deployerFeeScale        (if deployerFeeScale <= 1)
           = 2 * deployerFeeScale        (if deployerFeeScale > 1)
taker_bps  = 4.5 bps * multiplier * (0.1 if growthMode == "enabled" else 1)

Worked example for the xyz deployer, which has had deployerFeeScale = 1.0 since 2025-11-23:

Growth mode Taker fee
enabled 4.5 × 2 × 0.1 = 0.9 bps
disabled 4.5 × 2 = 9 bps

As of 2026-09-30, 117 of the 128 xyz assets in meta had growth mode enabled. The Liquidity Lab shows the current value on every market page. Fee tiers, maker rebates and referral discounts sit on top of this and are out of scope here; check the official fee documentation for the base rates, which can change.

Where the inputs live

Both fields are per asset in the meta response for the deployer (universe[i]):

  • growthMode: "enabled" or absent
  • deployerFeeScale: a string such as "1.0"
  • lastFeeScaleChangeTime: when the scale last changed

Snapshots before mid-August 2026 did not include deployerFeeScale; if you replay older data, carry the last known value forward.

Funding is the cost that compounds

We replayed a weekly-rebalanced basket of 62 xyz US-stock perps from 2026-06-30 to 2026-09-25 with the real fee formula and level-by-level fills from stored order books. Fees came to about 1.2 bps of turnover. Funding paid over the same period was roughly thirty times the fee bill. For anything held longer than a day, funding is the first line of the cost model, not the last.

HIP-3 funding settles hourly. The Lab shows each market's 30-day mean annualised, signed so that positive means longs pay. Commodity and FX perps on xyz have run deeply negative for long stretches, which is a cost to shorts and a carry to longs; check the sign before assuming.

Depth is the cost that surprises

In the same sample, the median resting size at the best price after the US close was about $323. A $25k market order in those conditions walks several levels; a $250k order often does not fill inside the visible 20 levels at all. The half-spread median after the close was around 1.1 bps, so the quoted spread looked fine while the book behind it was thin. That gap between quoted spread and fillable depth is the reason the Liquidity Lab reports slippage by order size and session rather than spread alone.

The cost stack we use now

For a strategy trading size N with k round trips per day in session S, held overnight:

per round trip  = 2 × slippage(N, S) + 2 × taker_bps
per day         = k × per round trip + funding_apr / 365

slippage(N, S) is the session median from the Lab; the calculator on each market page evaluates exactly this. It ignores maker rebates, permanent impact and fee tiers, and it uses medians, so budget for the p90 numbers on bad days.

See also

hyperliquid.build2026-09-30HIP3-FEES-GROWTH-MODE-FUNDING(7)