An Intuitive Derivation of the Perennial Mechanism

Kevin Britz
Perennial
Published in
5 min readAug 29, 2023

Introduction

Derivatives exist to trade risk — by allowing two parties to bet on an outcome, one party is able to shift their risk to the other party for a fee.

With traditional products like options or futures, this fee is paid upfront as a premium, but at the expense of segregating liquidity across many instantiations of the underlying products. Perpetual futures consolidate this by instead amortizing the fee over the course of the position, charging the market rate periodically.

Perpetuals however are inherently a product for centralized exchanges. Like many financial products, they have difficulties with scalability and market dynamics when literally translated into decentralized finance.

The primary issue we’ll solve today is the two-oracle requirement: the need for both an oracle on the underlying asset and an oracle on the perpetual contract itself to compute its continuous funding rate. This works great on centralized exchanges where both can be derived locally on the platform — but this is challenging to pull off inside of a DeFi due to the dependency on external oracles. Since these are not encapsulated in the derivatives platform itself, their underlying markets must be simultaneously bootstrapped to a degree which allows for efficient pricing and manipulation resistance whenever a new market comes online.

To design such a mechanism that is DeFi-native, we must restart from first principles. At their core derivatives require a payoff over an oracle, and a market-driven funding rate to balance the expected value of both sides of the trade. Using this, alongside other familiar defi-native mechanisms, we can construct a naive synthetic derivatives protocol.

The Seed

As a jumping off point we’ll start with Compound’s lend-borrow mechanism, which is the basis for much of modern DeFi mechanism design. Like most mechanisms in DeFi, Compound is a physically-settled perpetual future, which gives us a great jumping off point if we’re designing anything in a related realm.

In a Compound market there are two sides of the market: lenders providing capital, and borrowers borrowing that capital. Since Compound is inherently physically settled, meaning real assets are used in the system, lenders are long the asset they are lending, and borrowers are short the asset they are borrowing (in $ terms).

To balance the supply and demand of the market, an interest rate is paid to the lenders by the borrowers over a predefined utilization curve. This curve measures demand and creates a natural market equilibrium, where both parties may extend or contract their positions to balance the supply and demand.

A Synthetic Representation

Let’s imagine Compound’s mechanism, just discussed, but instead cash-settled.

In this synthetic model, lenders still provide capital, and borrowers still borrow that capital, but both now transact purely in stablecoins instead of the underlying asset. We use a price oracle to measure the theoretical price exposure that the lenders and borrowers would have had had the market been physically settled in some underlying token.

There is one gap in this new model: in a physically settled model the unutilized capital (ETH) in the pool has long exposure, while in the cash-settled model the unutilized capital (USDC), being unutilized, must have zero exposure.

This follows that while the borrowers are similarly short in the synthetic model, lenders are now only long prorated by the utilization of the market.

The utilization-based interest rate is similarly carried over from the original model, but we now allow for the interest rate to go negative if supply and demand call for it.

Taking the Inverse

For clarity before taking the next step, we rename lenders to makers, borrowers to takers, and the interest rate to the funding rate. With these semantic changes, the proposed model begins to take shape.

We now have a synthetic derivatives market where takers can gain short exposure while makers facilitate the market by taking prorated long exposure on the other side in exchange for receiving a funding rate in return.

Since this is a synthetic market, we may trade any payoff function over the underlying oracle. With this, the final step is to take the inverse of the short payoff, thus yielding the more intuitive long exposure taker side with the short exposure maker side.

Perpetual vs Perennial

With that we’ve created a naive DeFi-native synthetic derivatives mechanism that solves the two-oracle problem, one of the key issues that have plagued prior attempts.

Since this new model only requires a single oracle, and especially only that of the underlying asset, it is much easier to bootstrap and secure new markets relative to those based on the traditional perpetual mechanism. As an add-on we get unique features like arbitrary payoff functions (think Squeeth) over oracles instead of only linear payoffs.

This is not, however, a silver bullet — the downside of this class of mechanisms is the extra risk on the maker side of the market since makers settle at oracle price. This is one of the main areas of study ongoing within projects of the space, with solutions such as artificial oracle lag for additional slippage, or synthetic price impact, both of which mitigate the negative effects that could be gleaned from asymmetric oracle information risk.

We are excited to continue researching the next generation of mechanism design solving the wide array of outstanding problems within derivatives as well as the broader DeFi space as a whole.

Stay tuned for more.

Connect

Follow Kevin on twitter.
Follow Perennial on twitter.
Join the Perennial discord.

--

--