Skip to main content
Derive charges maker and taker fees on orderbook trades and a discounted schedule on RFQ trades. Options fees are capped at 12.5% of the option value. Additional fees apply to liquidations and to negative USDC balances. Fees on Derive differ depending on whether you are a maker (you post a resting limit order that another user fills) or a taker (you buy or sell against an existing order). Takers pay a base fee per order regardless of order size.

Orderbook fees

Builder fees (the extra_fee field on an order) are charged on top of these fees and passed on directly to the builder. See Builder Fees.

Examples

  1. Alice buys 2 ETH 2,000 puts using an aggressive order, oracle spot price 2,200:<br/>fee=2,200:<br />`fee = 0.5 + 0.03% × 2 × 2,200=2,200 = 1.82`
  2. Bob opens a 0.1 BTC perp sell limit order, later filled by Charlie, spot 43,000:<br/>feeBob=0.0143,000:<br />`feeBob = 0.01% × 0.1 × 43,000 = 0.43<br/>feeCharlie=0.43`<br />`feeCharlie = 0.01 + 0.03% × 0.1 × 43,000=43,000 = 1.30`
When setting the max_fee parameter on private/order, use the formula described in the API reference. The matching engine adds extra buffers to the above calculation to prevent reverts during volatile market conditions. See Order Types for the max_fee requirement.

RFQ fees

Trades conducted via RFQs are charged the taker notional fee rate on both counterparties, plus a base fee on the taker side. Multi-leg trades receive up to 100% discounts on the cheaper legs. For the most common use cases:
  • 2-leg option spreads like straddles, verticals, and calendars pay zero fee on their second leg.
  • Hedged options (option + perpetual) pay zero fee on the cheaper of the perp and option leg.
For more complicated trades, the following rules apply. All legs of an RFQ are grouped into long calls, long puts, short calls, short puts, perps, and total fee is calculated within each group. The full fee is always charged on the most expensive group. The remaining groups get a fee discount in this order:
  1. Cheapest group gets 100% discount
  2. Second and third cheapest group get 50% discount
  3. Other groups do not get further discounts
Examples:
  1. A call spread has 2 legs in different groups (one long calls, one short calls). The cheapest leg gets 100% discount.
  2. A straddle or strangle has two legs in different groups. The cheapest leg gets 100% discount.
  3. Two long calls at different strikes or expiries both fall into long calls, so no discount applies.
  4. A risk reversal with a perp hedge has 3 legs in 3 groups. Cheapest gets 100% discount, second cheapest gets 50%, most expensive is paid in full.

Box spreads

The system recognises box spreads as a special strategy with a different fee schedule. A box spread is a 4-legged trade with a long call and a short put at one strike and a short call and a long put at another, all at the same expiry. It can be thought of as a zero-coupon bond paying (strike_1 − strike_2) dollars at expiry, and it typically trades at a discount to its notional. Derive charges a “yield spread” fee for this “bond” equal to notional × 0.5% × years_to_expiry. For a box with strikes 4,000and4,000 and 5,000 (1,000notional)and1monthtoexpiry,thefeeis1,000 notional) and 1 month to expiry, the fee is `1,000 × 0.5% × 1/12 = 0.42.Thisfeeischargedtobothmakerandtaker,plusa0.42`. This fee is charged to **both maker and taker**, plus a 0.5 base fee to the taker side only.

Liquidation fee

If a subaccount is liquidated, a liquidation fee of 10% of the liquidated portfolio value, marked to market, is applied.

Interest on borrowed USDC

Interest is charged on the debit balance of borrowed USDC — the fee only applies if your account has a negative cash component. Interest follows a utilisation curve similar to AAVE: the more negative cash in the system, the higher the interest rate. Derive charges a spread on the long/short balance in the system.

Discounted fee tiers

Pay lower fees by trading more volume or staking DRV. View live fee tiers in the Derive app. Institutional market makers receive additional discounts and rebates through the Institutional Trading Rewards Program.

Setting max_fee on orders

The max_fee field on private/order, private/replace, and quote submission is a per-contract cap denominated in USDC. It protects you against paying more than expected while giving the matching engine headroom for volatility.
  • For resting (maker) orders: max_fee > 2 × max(taker_fee, maker_fee) × spot_price + extra_fee / amount
  • For crossing (taker) orders: max_fee > maker max_fee + base_fee / fill_amount
In this calculation, the standard taker/maker fees are used regardless of any custom account tier. max(limit_price, index_price) is used to compute the notional. See the Order Types reference for how max_fee interacts with orderbook margin.

Builder Fees

Charge extra_fee on top of exchange fees, paid to your Derive Wallet.

Institutional Trading Rewards

Market maker fee tiers, rebates, and DRV rewards.

Orderbook Trading

max_fee, order flags, and other order-writing details.

RFQ Trading

Multi-leg RFQ workflow and quote execution.