For the complete documentation index, see llms.txt. This page is also available as Markdown.

Accounting, Fees & Fund Flows

Share Accounting and NAV Reporting

Upshift vaults use share-based accounting: price per share = total underlying assets ÷ total shares in circulation. Deposits mint shares at the current ratio and withdrawals burn at the current ratio, so neither impact the vault share price.

Example:

  1. A vault holds 100,000 USDC against 100,000 shares (ratio 1.0)

  2. A user deposits 1,000 USDC and receives 1,000 shares — ratio unchanged.

  3. The strategy then earns 500 USDC over a week; assets become 101,500 against 101,000 shares, so the ratio rises to ≈1.00495.

  4. Redeeming 1,000 shares now returns ≈1,004.95 USDC.

What curators must respect when reporting NAV

  • Max percentage change: each NAV update is bounded by a strict ceiling and floor on the share-price move per cycle. This caps damage from faulty oracles or erroneous reports and kills latency arbitrage by MEV snipers. Plan large markups/markdowns across multiple cycles.

  • High watermark: performance fees only accrue above the previous peak share price.

  • Validation: in the Fordefi model the strategist proposes NAV and the August pricing engine validates it; in the subaccount model August computes NAV directly from whitelisted integrations, options mark-to-market, and CeFi APIs.

Fees

Fee

Mechanics

Management fee

Accrued against TVL via chargeManagementFee(). Set per vault; changes behind 24h timelock.

Performance fee

Taken on yield above the high watermark.

Instant redemption fee

Premium for bypassing the epoch queue.

Fund Flows

Fund Flow: From Deposit to Strategy

The diagram below traces a deposit end-to-end. Two properties matter to curators: deposits and withdrawals never change the share price (only yield does), and capital reaches the curator only after the operator pushes it with depositToSubaccount().

Deposit to strategy fund flow

Figure 1: Deposit lifecycle. Steps 1–4 happen on the vault contract; steps 5–8 happen on the subaccount and feed back through NAV reporting.

The liquidity buffer (step 3) is a configurable percentage held back in the vault so instant redemptions never force a strategy unwind. Curators should treat deployable capital as TVL minus buffer minus pending redemptions, not raw TVL.

Fund Flow: Redemptions

Redemptions follow one of two paths. The standard path is epoch-based: requestRedeem() queues the request and returns a claimable epoch; the operator settles the epoch in batch; the holder (or anyone, on their behalf) calls claim(). The instant path (instantRedeem()) bypasses the queue for a fee and is served from the liquidity buffer.

Redemption flows

Figure 2: Epoch-based vs. instant redemption paths.

Curator obligations around redemptions

  1. Monitor the pending-redemption book for each upcoming epoch. Upshift offers API endpoints and a Curator-specific dashboard for easier management of vault liquidity.

  2. Return capital with enough lead time for the operator to call withdrawFromSubaccount

  3. Size the buffer to absorb expected instant-redemption volume.

Last updated