Perpetual Protocol
Perpetual Contract Specs

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!

Contract Specifications


Funding Payments

Perpetual Protocol follows FTX's method to calculate the funding payments. It is calculated as shown below (Note: FTX's formula results in funding denominated in position size, whereas our calculation expresses funding in quote asset, ie. USDC.):
fundingPayment=positionSizeโˆ—TWAPmarkโˆ’TWAPindex24fundingPayment = positionSize * {TWAP_{mark} - TWAP_{index} \over 24}
  • TWAP_mark
    • 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.


Once traders' marginRatio falls below the marginRequirementRatio threshold (currently 6.25%, equivalent to 16x leverage - this could be updated by governance), keepers can liquidate the position and earn 1.25% of the position's value.
Partial Liquidations
Perpetual Protocol uses partial liquidations. If your margin ratio reaches 6.25%, 25% of your position is liquidated, leaving the remaining position intact and above the margin ration limit. If the market continues to move against you, further liquidations will occur.
If your margin ratio falls to 2.5%, your entire remaining position will be liquidated and will no longer show in the trading interface under Positions. Any funds remaining are disbursed to the liquidator (1.25% of original position) and the insurance fund (any remaining margin).
โ€‹Learn more.โ€‹
The marginRatio is calculated as:
marginRatio=margin+unrealizedPnLโˆ—positionNotionalmarginRatio = {margin + unrealizedPnL^* \over positionNotional}
*unrealizedPnL is calculated using both Mark Price and 15 minute TWAP of Mark Price; the higher of the two values is used when evaluating liquidations conditions.
When positions are liquidated, keepers get 1.25% (could be updated by governance) of the positionNotional as liquidation fees. The remaining margin is 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.