Detailed Architecture

Get a in-depth overview of technical architecture

Our smart contract has two vaults for each strategy

A. User_vault

Properties :

  1. Holds users funds

  2. Only users can invest or withdraw funds from this vault

  3. The trades taken by Trader_Vault gets replicated by the invested funds

  4. Custody: Users

B. Trader_vault

Properties :

  1. Holds traders funds

  2. Only traders can invest or withdraw funds from this vault

  3. Invested funds will be used to take trades which will be replicated and scaled to User_vault

  4. 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.

Last updated