Detailed Architecture
Get a in-depth overview of technical architecture
Last updated
Get a in-depth overview of technical architecture
Last updated
Our smart contract has two vaults for each strategy
A. User_vault
Properties :
Holds users funds
Only users can invest or withdraw funds from this vault
The trades taken by Trader_Vault gets replicated by the invested funds
Custody: Users
B. Trader_vault
Properties :
Holds traders funds
Only traders can invest or withdraw funds from this vault
Invested funds will be used to take trades which will be replicated and scaled to User_vault
Custody: Trader
The asset managers trade on decentralized exchanges to generate returns based on the selected investment strategies. These trades are taken from Trader_vault. These trades are replicated to User_vault at the same time and depending on the User_vault to Trader_vault fund ratio, the positions are scaled up or scaled down. When positions are closed from Trader_vault the same gets replicated & scaled to User_vault as well.
Users can add or withdraw funds from the User_vault and traders can do so from the Trader_vault respectively. These transactions are processed every 3 hours and we call this event a ‘rollover of funds’.
What is the rollover of funds?
All the fresh deposits and withdrawal requests are processed together in a batch every 3 hours. This is called the rollover of funds. All the deposited funds and withdrawal requests remain in pending state till the rollover is processed by the smart contract.
How are returns calculated?
Total Returns will increase and decrease in the current value of the user's shares.
New shares are minted for each user based on the amount they have invested. Also, the shares are burnt based on the amount they have withdrawn. Returns are calculated based on the current value of shares held by the users.
Shares given to users = Current NAV / Invested amount
NAV= Total User_vault funds / Total number of shares
Total User_vault funds = Traded funds + Unused funds
Traded funds: Funds deployed in open positions
Unused funds: Idle funds in User_vault
How are trades scaled up or scaled down?
UV/TV ratio is tracked at all times. Trade taken in Trader_vault is scaled up at UV/TV ratio and replicated to User_vault. UV: User_vault total value TV: Trader_vault total value Trade value taken in User_vault = (UV/TV) x Trade value taken in Trader_vault
In order to scale down the trades, the closing trades are replicated from Trader_vault to User_vault at the ratio of UOP/TOP.
UOP: User_vault open positions TOP: Trader_vault open positions
Trade vault taken in User_vault = (UOP/TOP) x Closing position taken in Trade_vault
Revenue Model
When any user withdraws funds, a flat 25% of the profit earned by the user is charged as the protocol fees.