Architecture overview

Funds use a hybrid architecture with onchain and offchain components.

Overview of the Funds architecture
circle-info

Legacy terminology: older materials may refer to this as Onchain Investment Vehicle (OIV). It’s the same underlying Funds infrastructure.

Onchain Components

Each fund’s onchain setup is comprised of:

  • A single Shares contract, which acts both as the ERC-20 token representing fund shares and as the onchain interface through which users can create subscriptions and redemptions.

  • Safe wallets, usually one, but not limited to one, on each chain where the fund operates.

    • Owned by 0x00 contracts.

    • Interactions occur exclusively via the Zodiac Roles Modifier, allowing operators to execute actions remotely under a predefined set of onchain policies.

  • NAV Calculator contracts (one per chain), responsible for calculating the NAV contribution of that specific chain.

  • Price oracles, which provide the price inputs used by the NAV Calculators.

    • The architecture supports different oracle types per asset, including feeds from established providers such as Chainlink, as well as composite and custom oracles.

  • Balance oracles, used where more complex balance queries are required, for example when DeFi positions are not represented by an ERC-20 token or when no direct price oracle is available for a given token.

Offchain Components

The offchain infrastructure complements the onchain system and supports data aggregation, user interfaces, and automated operations.

It consists of the following components:

  • Data indexer, which tracks shares events and NAV values, indexes them, and denormalises this data into multiple formats. These outputs are exposed to clients through the JSON API and consumed by the web application.

  • JSON API, designed primarily for the web application and external integrations.

    • The API exposes current and historical fund data, powering front-end interfaces and third-party integrations interacting with the funds.

  • Web application, focused on providing users with a seamless interface to interact with the funds.

    • Enables historical analysis of fund performance, current metrics, portfolio breakdowns, approved policies, and individual user positions.

    • Facilitates interaction with the funds by providing a simple interface for creating subscription and redemption requests.

  • Automated agents, a critical component of the infrastructure.

    • These agents ensure that subscriptions and redemptions are approved automatically without requiring manual operator intervention.

    • They are also designed to help keep fund positions safe and profitable, for example by exiting positions in compromised protocols in response to emergency events.

Last updated