<!-- https://zunderlabs.com/docs/concepts/builder-fees · Markdown version of the page -->

# Builder fees

What a Hyperliquid builder fee is, how you approve and revoke one, and the fee Guard plans to charge.

A builder fee is a fee that Hyperliquid lets an app add to the orders it sends for you. Hyperliquid collects it with the trade and credits it to the app's builder address. It is how Guard plans to be free to download and still pay for itself.

## How builder fees work on Hyperliquid

From [Hyperliquid's docs, "Builder codes"](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/builder-codes), checked 6 Oct 2026:

- **You approve a maximum first.** The action is `ApproveBuilderFee`. It must be signed by your **main wallet**, not an API wallet. Guard cannot approve a fee for you.
- **You can revoke it at any time.**
- **Caps.** At most 0.1% on perps and 1% on spot.
- **At most 10 active approvals** per user at a time.
- **On the order.** Each order carries `{"b": builder address, "f": fee}`. `f` is in tenths of a basis point: `f = 10` is 1 basis point (0.01%).
- **The builder** needs at least 100 USDC of perps account value and standard account mode.
- Builders claim their fees through Hyperliquid's referral reward process.

## Guard's fee

:::note[Planned]
Guard's planned builder fee is **0.02%** (2 basis points, `f = 20`) on the orders Guard sends. It is shown to you before you approve it. There is no subscription. Orders Guard refuses carry no fee, because they are never sent.
:::

**Example.** At 0.02%, a buy worth 10,000 USDC pays 2 USDC to the builder, on top of Hyperliquid's own trading fee. Closing it later pays another 2 USDC if the position is still worth 10,000.

**Example.** A bot that trades 1,000,000 USDC of notional a month through Guard pays 200 USDC a month at 0.02% on every order.

You approve a maximum, not an exact fee: an order may carry up to what you approved. If you revoke the approval, orders with the fee are no longer covered by it. Guard is planned to read your approval at start-up (Hyperliquid's info endpoint has a `maxBuilderFee` query) and to tell you plainly when it is missing, instead of letting orders fail one by one.

## Other tools may add their own

Some libraries attach their own builder code. ccxt's Hyperliquid exchange, for example, tries to approve and attach its own builder by default (`handle_builder_fee_approval` in `ccxt/hyperliquid.py`, checked 6 Oct 2026). Behind Guard that approval fails, because only your main wallet can sign it. The [ccxt guide](https://zunderlabs.com/docs/integrations/ccxt) shows the two options that turn it off cleanly.

## What the fee is not

- It is not a share of profits. It is paid on volume, win or lose.
- It does not pass through Zunder Labs' hands before Hyperliquid credits it. Your funds stay in your account.
- It does not change the rules. A trade that is refused is refused whatever the fee.
