Skip to content

How It Works ​

Deposit Flow ​

  1. User deposits USDC into the KanaVault
  2. Vault mints kUSDC shares proportional to the deposit relative to total vault assets
  3. Vault forwards USDC to the active strategy which splits it across lending protocols according to configured allocation weights

Yield Generation ​

Each protocol generates yield differently:

  • Yei Finance — aToken balances grow automatically via interest accrual
  • Takara — cToken exchange rate increases + COMP reward tokens
  • Morpho — P2P optimized lending rates, often higher than pool rates

The strategy's balanceOf() function reports the total value across all protocols, which is how the vault calculates share prices.

Harvesting & Compounding ​

The keeper bot periodically calls harvestWithSlippage() on the strategy:

  1. Fetches Merkl proofs for Morpho rewards from https://api.merkl.xyz/v4/claim?user={strategyAddress}&chainId=1329
  2. Calculates fair prices for reward swaps using Sailor DEX quotes
  3. Applies 1% slippage tolerance to determine minimum output amounts
  4. Claims accrued rewards from all protocols (including Merkl distributor for Morpho)
  5. Swaps non-USDC rewards to USDC with slippage protection (reverts if price is manipulated)
  6. Reports yield to the vault (which takes its performance fee)
  7. Redeposits the remaining USDC back into lending protocols

Withdrawal Flow ​

Withdrawals pull funds proportionally from all protocols. This avoids concentration risk and ensures no single protocol is drained first.

Rebalancing ​

When APYs shift significantly, the keeper bot rebalances:

  1. Monitors APYs across all protocols
  2. Compares current allocation vs optimal allocation
  3. If the delta exceeds a threshold, triggers a rebalance
  4. Withdraws from lower-yield protocols, deposits into higher-yield ones
  5. Sends Telegram alert with details

Built on SEI