Skip to content
Join the waitlistWaitlist

Builder fees

What a Hyperliquid builder fee is, how you approve and revoke one, the fee Guard charges and the licences that turn it off.

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 pays for itself without a subscription.

From Hyperliquid’s docs, “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.

Example. At 0.02%, a buy worth 10,000 USDC that Guard sends pays 2 USDC to the builder, on top of Hyperliquid’s own trading fee. Closing the position later through Guard pays 0.02% of the close’s value: 2.20 USDC if the position is then worth 11,000.

Example. A bot that sends 1,000,000 USDC of order value a month through Guard, entries and closes together, pays 200 USDC a month (1,000,000 × 0.0002).

On Hyperliquid you approve a maximum, not an exact fee: an order may carry up to what you approved. If you revoke the approval, Guard sends new orders without the fee and opens no new positions until you approve again; closes and stops still go. Orders already resting with the fee, a stop for example, stay in place and still pay it when they fill.

Approving it. Once, with your main wallet: at zunderlabs.com/approve, which asks your browser wallet to sign Hyperliquid’s ApproveBuilderFee and nothing else (the same page withdraws it again, at 0%), or with any tool that can sign that action. Guard reads your approval through Hyperliquid’s maxBuilderFee query and checks it again every 5 minutes (every minute while it is missing). Without it, Guard refuses new entries with fee_not_approved and says why; exits, closes, stops and flattens always go.

A licence key turns the fee off for a flat price, for the accounts it names: Guard checks that its own account is one of them. Guard checks it on your machine; nothing phones home. Guard checks the expiry when it starts: a Guard started on a key that has since expired falls back to the fee at its next start.

PlanPriceAccounts
Pay per order (the default)0.02% of each order’s value; anonymous: no sign-up, no account, no subscriptionany
Pro€149 a month, or €1,490 a yearup to 3
Fund€690 a month, or €6,900 a yearup to 20, priority email support
Platformrevenue share through your own builder codeby agreement

Sold to businesses, self-service, paid in USDC on Hyperliquid, Arbitrum or Base: Buy a licence. The break-even and a calculator: Pricing.

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 shows the two options that turn it off cleanly.

  • 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.

This page as plain Markdown, for people and LLMs: /docs/concepts/builder-fees.md