System Design and Overview
The Tribe3 trading platform is powered by a modified vAMM model (credit to the original designers from Perpetual Protocol and Drift Protocol). In the following sections, we will briefly describe the original vAMM model designed by Perpetual Protocol and the modifications we have made in light of Tribe3’s specific needs.
vAMM has the following features:
- Powered by the same constant product formula x*y=k like most AMMs
- No liquidity or liquidity provider is needed
- Like most other AMMs, price on vAMM gets updated every time a trade is executed
- 2.System sends collateral to the vault
- 3.System updates the amount of the assets (thus the price) in the vAMM based on the margin amount, position direction and leverage
- 4.System also calculates the amount of the given asset that the trader should receive, and updates trader’s position
The example below illustrates the case where Satoshi and Vitalik both open up a long position on BAYC with 100 ETH at 2x leverage. vAMM is initialized where:
- 1 vBAYC = 100 vETH
- x = 100
- y = 10,000
- k = 1,000,000
Step 0 Initialize Market
Step 1 Satoshi deposits 100 ETH at 2x leverage. System credits 200 vETH from Satoshi and records Satoshi has 1.96 vBAYC
Step 2 Vitalik deposits 100 ETH at 2x leverage. System credits 200 vETH from Vitalik and records Vitalik has 1.89 vBAYC
Step 3 Satoshi closes his position. System credits 1.96 vBAYC from Satoshi and Satoshi receives 207.84 vETH in return, thus earning a profit of 7.84 ETH
Step 4 Vitalik closes his position. System credits 1.89 vBAYC from Vitalik and Vitalik receives 192.16 vETH in return, thus making a loss of 7.84 ETH
Price moves whenever a trade is made. The percentage moved caused by each trade is called price impact, which is determined by the size of the trade and k.
As demonstrated above, the vAMM itself acts as an independent price discovery system. Hence, the vAMM Price will at times deviate from the Oracle Price. Therefore, there are a few mechanisms and modifications that we will put in place to optimize price alignment which will be further discussed in Price Adjustment section.
Tribe3 has implemented the following measures to protect the stability of the system:
- Price fluctuation per block is capped at 2%. In the case where price has already increased/decrease more than 2% within a block, users won’t be allowed to execute any trades until the next block