Perpetual Contract Spec

Supported Perpetual Contracts

New contract pairs will be added in time, and an open market creation tool is being proposed for development. Join our Discord to discuss if you have ideas or suggestions!

BTC/USDC

Symbol

BTC/USDC

Expiry Date

Perpetual

Quote Asset

USDC

Initial Margin

10%

Maintenance Margin

5%

Funding Interval

1 hour

Contract Size

1 USDC

Minimum Lot Size

10

Order Limit

TBD

Transaction Fees

0.1% on the notional value

Underlying Index

Chainlink Price Reference Data

Margin

Isolated

ETH/USDC

Symbol

ETH/USDC

Expiry Date

Perpetual

Quote Asset

USDC

Initial Margin

10%

Maintenance Margin

5%

Funding Interval

1 hour

Contract Size

1 USDC

Minimum Lot Size

10

Order Limit

TBD

Transaction Fees

0.1% on the notional value

Underlying Index

Chainlink Price Reference Data

Margin

Isolated

Funding Payments

Perpetual Protocol follows FTX's method to calculate the funding payments. It is calculated as shown below:

fundingPayment=positionSizeTWAPperpetualTWAPindex24fundingPayment = positionSize * {TWAP_{perpetual} - TWAP_{index} \over 24}
  • TWAP_perpetual

    • The 1 hour TWAP of the Mark Price.

  • TWAP_index

    • The 1 hour TWAP of the Index Price. (from oracle)

TWAP: Time weighted average price

The funding payment is calculated every hour for all long and short positions. If the fundingPayment is positive, every long position holder has to pay short position holders the funding payment, and vice versa if the fundingPayment is negative. This incentivizes traders to drive the mark price toward the index price.

Liquidation

Once traders' marginRatio falls below the marginRequirementRatio threshold (currently 5% - this could be updated by governance), Keepers can liquidate the collateral and earn fees. The marginRatio is calculated as:

marginRatio=margin+unrealizedPnLopenPositionNotionalSizemarginRatio = {margin + unrealizedPnL \over openPositionNotionalSize}

The unrealizedPnL is calculated twice using both Mark Price and 15 minute TWAP of Mark Price; the higher of the two values is used.

When positions are liquidated, keepers get 2.5% (could be updated by governance) of the openPositionNotionalSize as liquidation fees. The remaining collateral are then deposited into the Insurance Fund.

If the collateral is not enough to pay for the liquidation fees, funds are withdrawn from the Insurance Fund to make up the difference.