Overview

The Variational Protocol is generalized to manage the lifecycle of peer-to-peer trading on-chain, and underpins multiple purpose-built 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 processes 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 and exclusively relies on funding rates.

On-Chain Transaction Handler

Transactor

The on-chain transactor submits all necessary on-chain transactions for both users and automated market makers. On Omni, as part of Variational's gasless design, 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 the blockchain. The watcher protects against double-spend attacks, vampire/fake deposits, and ensures settlement pool balances reflect on-chain activity.

Last updated