Index Vault technical details

Technical considerations

Index Vault behavior is very similar to Credit Vaults, with exceptions in the following areas:

Capital Deployment

Instead of loans, IVs utilize an instrument called Investment to deploy funds.

Investments are LP positions at non-IV vaults on TrueFi.

Because TrueFi vaults implement the ERC-4626 interface, interactions with all types of TrueFi vaults work the same way.


Instead of an array of loans, IVs hold an array of investments.

When calculating IV valuations, the IV iterates through that array and calls ERC-4626 totalAssets() on each of the underlying vaults to fetch the value of each investment.

Investment Flow

Allocating Capital

Capital allocation happens through proxying one of the following methods:

  • deposit(assets, receiver)

  • mint(shares, receiver)

Allocation is only possible if the target vault’s token is already registered on the vaultsRegistry.

Adding tokens to the vaultsRegistry

Adding a token as a potential investment adds the token to the list of tracked asset balances and values.

In order to register a token, the token must:

Removing tokens from the vaultsRegistry

unregister removes a token from the tracked assets list.

Redeeming / withdrawing

Redeeming and withdrawing happens through proxying one of the following methods:

  • withdraw(assets, receiver, owner)

  • redeem(shares, receiver, owner)

Closing Vaults

Index Vaults cannot be closed while holding any active investment. Similar to how vaults cannot close before maturity unless all underlying loans are inactive, IVs cannot close unless all investments have closed first.

Last updated