Accounts and Margining

Architecture

Improving upon v3's account architecture in an effort to maximize the protocol's efficiency and reduce it's complexity, v4 diverges from the sub account model while keeping most of the remaining protocol's account architecture. With dynamic accounts and relying heavily on Solana's Address Lookup Tables users are able to hold many positions in one margin account across both spot and derivatives markets.

Margin Account

A user's margin account is a Program Derived Address (PDA) that uses the user's wallet address and a number as part of it's seeds.

The account's on-chain data will hold information regarding the account's owner, who it has been delegated to and for how long that delegation persists or what actions the delegate is able to perform, as well as information about the user's deposits into the borrowing and lending pools and/or positions the users might have opened on spot or derivatives markets.

With the ability to create multiple margin accounts by deriving new margin account PDAs with incrementing number seeds, users retain the ability to have "isolated positions", similar to the sub account model that was implemented before and this functionality can be seamlessly abstracted in the new upcoming Cypher v4 UI.

Margin Requirements

As an example, the initialization c-ratio is set to 120%, the target c-ratio is 115% and the maintenance c-ratio is 110%. Once a margin account’s maintenance c-ratio falls below 110%, their positions become open for liquidation and their position size will be reduced until their c-ratio is above 115%. A trader’s c-ratio is defined as:

cRatio=\frac{\textrm{∑ positions}}{\textrm{∑ borrows}}

Note: Values above are merely used for the purpose of the example and final c-ratio values used on the platform may be subject to change.

Last updated