Currator

📖 Centuari Prime — Curator & Vault Architecture Documentation

📌 Overview

Centuari Prime introduces an active capital management framework through Curators and Vaults, allowing dynamic capital deployment and risk-optimized strategies on top of the Centuari lending markets.

A Curator acts as an active fund manager within the protocol — creating, configuring, and managing Vaults, while continuously reallocating capital based on market conditions and performance targets.

Each Vault represents a curated, tokenized portfolio where users can deposit funds and benefit from automated, actively managed strategies without handling individual lending positions themselves.


📌 Key Entities

Entity
Description

Curator

Address responsible for creating Vaults, managing supply/withdraw queues, allocating capital, and harvesting yield.

Vault

A dedicated DataStore contract representing a curated investment strategy, holding user deposits and allocating capital into selected markets.

Vault Token

ERC20 share token representing ownership in the Vault’s total assets, minted on deposit and burned on withdrawal.


📌 Vault Lifecycle

1️⃣ Vault Creation

A curator calls createVault() providing a VaultConfig, which includes:

  • Curator address

  • Deposit token address

  • Vault name

Process:

  • Deploy a new DataStore

  • Set vault metadata and initialize as active

  • Deploy a Vault-specific ERC20 token (CentuariPrimeToken)

  • Emit CreateVault event

Reference:

vault.setAddress(CentuariPrimeDSLib.CURATOR_ADDRESS, config.curator);
vault.setBool(CentuariPrimeDSLib.IS_ACTIVE_BOOL, true);

2️⃣ User Deposit

Users deposit capital into a vault via deposit(). Flow:

  • Validate vault status and deposit amount

  • Accrue interest from existing market positions

  • Calculate Vault shares to mint based on totalAssets / totalShares

  • Transfer deposit token from user to Centuari protocol

  • Auto-supply funds to lending markets based on SupplyQueue config

  • Emit Deposit event

Reference:

IERC20(depositToken).safeTransferFrom(msg.sender, address(CENTUARI), amount);
_supplyToMarkets(vault, amount);

3️⃣ Capital Deployment via Supply Queue

Each Vault maintains a Supply Queue of market configs and target lending rates. Upon deposit:

  • Iterate over Supply Queue

  • Check market caps and bond balances

  • Place lending orders to CLOB markets via CENTUARI_CLOB.placeOrder()

Reference:

CENTUARI_CLOB.placeOrder(marketConfig, rate, Side.LEND, supplyAmount, 0);

4️⃣ Withdrawals

Users redeem Vault shares via withdraw()

  • Accrue latest interest

  • Compute withdrawal value based on share proportion

  • Burn Vault shares

  • Withdraw underlying assets from markets using Withdraw Queue

  • Transfer funds to user

Reference:

CENTUARI.withdraw(marketConfig, rate, withdrawAmount);
IERC20(loanToken).safeTransfer(msg.sender, assets);

5️⃣ Interest Accrual

On deposits and withdrawals:

  • Query active positions from CLOB markets via Centuari

  • Update vault’s totalAssets based on bond token balances and latest market valuations

  • Ensure yield compounding and correct asset valuation

Reference:

CENTUARI.accrueInterest(marketConfig, rate);
uint256 marketValue = (bondBalance * totalMarketSupplyAssets) / totalMarketSupplyShares;

6️⃣ Queue Configuration (Curator Control)

Curators can update:

  • Supply Queue: Target markets + rates + cap per market

  • Withdraw Queue: Priority withdrawal order and liquidity mapping

With validation to prevent:

  • Removing active markets with unsold positions

  • Duplicate market/rate configs

Reference:

vault.setBytes(CentuariPrimeDSLib.SUPPLY_QUEUE_BYTES, abi.encode(supplyQueue));

📌 Role of the Curator

Responsibility
Mechanism

Create Vaults

createVault()

Allocate deposits to markets

_supplyToMarkets()

Adjust Supply / Withdraw queues

setSupplyQueue(), setWithdrawQueue()

Accrue and update yield

_accrueInterest()

(Planned) Reallocation logic

reallocate() (todo)


📌 Summary

Centuari Prime’s Curator-Vault model empowers protocol-native asset managers to:

  • Dynamically route capital into fixed-rate lending markets

  • Optimize returns based on market liquidity and rates

  • Tokenize managed strategies through Vault-specific share tokens

  • Offer users passive, yield-generating exposure to curated lending positions

Last updated