Skip to main content

Setup

Set up and Manage your OctoVault

Deploy

Curators can deploy a vault using the Untangled Curator App or directly via contract constructors.

Select the vault type:

  • Market (single strategy)
  • Vault (Meta, multi-strategy allocator)

Deployment parameters

  • name
  • symbol
  • asset
  • treasury (address where funds will be held)

Role assignments

  • setCurator(address, true)
  • setGuardian(address)

Governance configuration

  • setTimelock(x) → wait → acceptTimelock()
  • setCap(x) → wait → acceptCap()
  • setFee(x) → wait → acceptFee()

Add strategies

  • For Vaults: addMarket(market) → wait → acceptMarket(market)
  • For Markets: addAdapter(adapter, maxAllowance)

Optional

  • Add Hook: setHook(hookAddress) to connect modules (valuation, withdrawal, etc.)

Once deployed, the vault is fully operational and can start accepting deposits.

Roles and Capacities

RoleAccessResponsibilities
AdminonlyAdminSet Hook, Guardian, and Curators; transfer admin; manage adapters; remove markets.
CuratoronlyCurator / onlyCuratorOrAdminRun strategies, stage configuration changes, and allocate assets across Markets.
GuardianonlyGuardianVeto any pending parameter or market changes during timelock delay.
HookonlyHookExecutes module logic for deposits, withdrawals, valuation, and fees.

Each role is clearly isolated to maintain trust and accountability across operational, governance, and oversight layers.

Fees

OctoVault currently implements performance fees through the ValuationModule.
Other fees are not explicitly included on-chain but curators can factor them into valuation and share price calculations.

Fee Types

Fee TypeDescriptionHow It Works in Code
Performance FeeCharged on gains above the previous high-water markCalculated in the ValuationModule; vault pays via claimFee()
Management FeeNot implementedCould be added at Hook level
Protocol FeeNot implementedGlobal or automatic fee split has not been implemented

Fees are transparent and depend entirely on the Hook’s logic.
The base vault itself does not charge or collect any hidden amounts.

Manage your OctoVault

The Curator App or a simple script can be used to perform daily operations.

View

  • Monitor AUM and allocations across strategies.

Execute

  • For Vaults: allocate([\{market, amount\}, ...])
  • For Markets: supply(), withdraw(), harvest()

Governance

  • Queue and accept staged changes.
  • Guardian can veto unsafe updates.

Claim Fees

  • claimFee() transfers accrued amounts from the treasury.

Each action emits detailed on-chain events for transparent tracking. All actions follow timelock and role-based control, ensuring safety and traceability.

Vault Valuation

The ValuationModule provides automated high-water-mark NAV accounting.

Functions include:

  • onDeposit / onWithdraw: tracks net portfolio value and updates the high-water mark.
  • updatePortfolioValue(newValue): updates NAV and accrues performance fees only on gains above the high-water mark.
  • claimFee(): returns the accrued fee amount for distribution.
  • setFee(bps): sets the performance fee rate in basis points.

Only the Hook may call these functions, ensuring valuation and fee logic remains controlled.

Upgradability

All OctoVaults are immutable — smart contracts cannot be upgraded or altered after deployment.

If you need to evolve your strategy or parameters significantly, deploy a new vault version and migrate existing shares.

Configuration changes such as cap, timelock, fee, or markets must go through the timelock governance flow.