Vault system
The Vault is a program-controlled account on Solana that securely holds the portfolio assets for a given index. Each vault corresponds 1:1 with an index and operates as an isolated unit.
π Core Mechanics
Deposits:
Users deposit USDC into the vault interface.
The backend executes token swaps (via Jupiter) into the indexβs target token allocation.
The vault receives the resulting tokens.
Index Token Minting:
Users receive Index Tokens (SPL tokens) that represent their proportional ownership of the vaultβs value.
These tokens are minted on deposit and burned on withdrawal.
Withdrawals:
Users can redeem Index Tokens at any time.
The backend performs proportional swaps from vault assets back to USDC and sends the result to the user.
π§ On-Chain Logic & Safety
Non-Custodial:
Vaults are program-controlled. Users always hold the Index Token that entitles them to redeem their share.
No user funds are held by the team or in off-chain systems.
Isolation:
Each index is isolated . Misbehavior in one vault does not affect others.
Each vault has its own token mint, account structure, and oracle feed.
Transparency:
Balances, weights, performance data, and vault contents are visible and auditable directly onchain.
π₯ Roles & Permissions
DiversiFi separates operational and strategic control across two distinct roles: the Platform Admin and the Index Manager.
The Admin is the operational controller of the protocol. It is currently a multisig controlled by the SolutioFi core team. The Admin is responsible for executing rebalances, processing deposits and withdrawals, deploying new indexes, and maintaining oracle integrations.
πΈ Partner (Index Creator or Integrator)
A Partner is any external contributor who builds on DiversiFi, either by:
Creating and managing an index via our permissioned infrastructure (as an Index Manager)
Integrating DiversiFi vaults into their own app or frontend via our SDK and API
Partners can bring new strategies to the platform or distribute existing ones to their own audiences, without handling custody or backend operations.
π Access Control Summary
Operation
Platform Admin
Index Manager
Notes
Initialize Index
β Required
β Required
Both must sign; admin deploys and funds gas
Update Weights
β No Access
β Full Control
Manager sets token list and weights (must sum to 100%)
Update Oracle
β Full Control
β No Access
Admin-only: updates Switchboard feed
Rebalance Vault
β Full Control
β No Access
Admin executes collateral swaps to maintain index alignment
Process Deposits
β Full Control
β No Access
Admin executes user USDC swaps into tokens
Process Withdrawals
β Full Control
β No Access
Admin executes token swaps back to USDC
π§ββοΈ Role Breakdown
Platform Admin (Operational Control)
Deploys and initializes new vaults
Executes deposits, withdrawals, and rebalances
Maintains oracle price feeds
Handles all transaction execution and instruction routing via backend
Typically a multisig controlled by SolutioFi for security
Index Manager (Strategic Control)
Defines and updates token composition and target weights
Can add or remove tokens, provided all conditions are met
Receives manager fees
Cannot execute rebalances or move funds
Is address-set at index creation and can be rotated via admin
β οΈ Constraints for Index Managers
When updating weights, the Manager must:
Provide a list of 1 to 5 tokens (v1 - more coming in v2)
Ensure weights sum to exactly 100.00%
Avoid zero-weight tokens (each token must have weight > 0)
Pay gas to initialize any new token vaults
Close empty token vaults before removing them from the index
If any of these constraints are violated, the update transaction will fail.
π€ Users
Can initiate deposits (send USDC) or withdrawals (send Index Tokens)
Can cancel/refund a pending deposit or withdrawal if not yet processed
Cannot interact with vault tokens directly β always go through the frontend/backend
Last updated
