Overview

The Variational Protocol is built to manage the full lifecycle of peer-to-peer trades on-chain, and underpins multiple different applications.

Variational Protocol

The Variational Protocol is a collection of on and off-chain infrastructure designed to automate the process of booking, clearing, and settling derivatives trades. Users interact with the Variational Protocol by trading on applications built on top of it, such as Omni and Pro.

All applications built on Variational take advantage of the following foundational components:

Pricing Oracle

Variational uses a custom pricing oracle to provide reliable data on the current prices of assets. The pricing oracle streams and aggregates data from a number of partnered data providers to price assets from both centralized and decentralized exchanges.

For Variational to support the trading of an asset, the primary requirement is that there are reliable services to stream pricing data from, and an algorithm by which a "fair value" can be determined using this source data.

Core Margin & Liquidation Engine

The core margin & liquidation engine manages margin requirements for trades, and handles the liquidation of positions that run out of margin. This engine consistently calculates the required amount of margin to maintain a position, and liquidates positions that fall under margin requirements. This process is applied per settlement pool, where liquidations can take place for a position between two parties without affecting any other settlement pool (any other users).

Settlement & Funding Rate Engine

The settlement & funding rate engine determines the settlement price for contracts upon their expiration, calculates funding rates (and other metadata) for applicable markets based on open positions, and tracks funding payments between counterparties within a settlement pool. Omni, due to its sole focus on perpetual contracts, does not utilize the settlement aspect of this engine.

On-Chain Transaction Handler

Transactor

The on-chain transactor submits all necessary on-chain transactions for both users and market makers. On Omni, the on-chain transactor covers gas for user deposits and withdrawals on Omni, and as necessary to move funds from OLP into new settlement pools.

Watcher

The on-chain watcher is used to determine whether transactions submitted by the on-chain transactor have been finalized on-chain. The watcher protects against vampire/fake deposits, and ensures app balances reflect on-chain activity.

Last updated