Skip to main content

Derive supports trading of the following three products:
  1. Options
  2. Perpetual futures
  3. Spot
Derive also supports multi-asset collateral, allowing traders to collateralize with the quote asset (USDC) as well as supported base assets (ETH, BTC, HYPE, etc). In V3, supported base assets can also be borrowed, facilitating two sided lending. Every instrument and every collateral token lives inside exactly one risk universe. A subaccount trades inside a single universe and margin nets across the currencies in that universe only. See Risk Universes for the list of universes and what each one supports. In the sections below we detail relevant properties of these asset classes.

Products

Options

Users can mint and trade European options for any expiry and strike price in supported markets, provided a supporting oracle data feed for the expiry exists. All options are settled to a SETTLEMENT_TWAP_PERIOD = 30 minute TWAP of the market’s base asset price. See the Settlement section for more detail. Options on Derive are marked to the USD price of the underlying and are settled in USDC. E.g. BTC options are marked to the BTC/USD price. Base assets (serving as collateral) are marked to the USDC price. Note the longest dated option supported is capped at MAX_EXPIRY = 400 days.
📘 Options are settled in the cash asset of the universe the option belongs to. At launch every universe uses USDC as its cash asset.

Perpetual Futures

Users can mint and trade perpetual futures for supported markets. To ensure perpetuals converge to their respective underlying, funding is exchanged between long and short positions. For example, if the perpetual is trading at a premium to the underlying, then longs will pay shorts funding. This encourages further shorts and decreases the differential between the perpetual and spot prices. Derive perpetuals are settled continuously. Specifically, whenever a user adjusts their position (say, via a trade or withdrawal) their unrealized funding and profit and loss is settled to the current perpetual price (not the spot price). Further, traders can have the settle function called on their account by other users (including themself!). Perpetual markets are keyed by (asset, risk universe). A perpetual is only tradable by subaccounts in the universe that lists it.

Marking Perpetuals

Perpetual contracts are marked to the the sum of the current spot price and a PERP_TWAP_LENGTH = 30 minute time weighted average price (TWAP) of the difference between the spot and perpetual prices. Specifically, the mark price of the perpetual used in Standard Margin and Portfolio Margin is given by
where
  • Spot Price is the current mark price of the spot asset
  • Perpetual Mark Price is the current mark price of the perpetual asset.
For more detail on said feeds, see Oracles. Note that the maximum (minimum) price that a perpetual can be marked to is 1+PERP_MAX_PERCENT_DIFF =1.06 (1-PERP_MAX_PERCENT_DIFF = 0.94) of the spot price.

Deprecated Perpetuals

A perpetual can be retired by giving it a frozen_price. A frozen perpetual is force-closed at that price the next time the holding account is touched, and it is not routed into any universe.

Collateral

Quote (USDC)

Each risk universe designates a cash asset; at launch every universe uses USDC. This is the main way by which users collateralize their option and perpetual positions. Derivatives will be settled in this cash asset.

Base (Multi-Asset)

Users can also hold the underlying base asset token as a collateral or hedge. The protocol can support any ERC20 token as collateral, with new base assets (and markets) being added frequently. For example, wETH, wstETH, sUSDe or cbBTC tokens can be used as collateral. Which tokens a subaccount may post is decided by its universe, not by its positions: each universe publishes the list of collateral families it accepts. Both margin engines (standard and portfolio) apply a risk based haircut to base collateral.

Open Interest and Supply Caps

Every asset carries four independent caps per universe: