Everstrat Docs home
How Everstrat Works

EVE & NAV

What EVE represents, how net asset value is calculated, and what happens when a strategy misbehaves.

Testing phase — treat as a test protocol

Everstrat is deployed on Ethereum mainnet (chain id 1), but it is in a testing phase and should be treated as a test protocol. Entry is invite-gated and the software is experimental.

EVE is a proportional claim

When you deposit ETH into Everstrat, you receive EVE — an ERC-20 token that represents your fractional share of the protocol's total net asset value (NAV), measured in ETH.

Your share of the protocol is simple:

live supply = total EVE supply - in-window priced queued EVE
your active share = your EVE balance / live supply

As the protocol's strategies earn (or lose) value, NAV rises or falls, and each EVE token is worth correspondingly more or less ETH. There is no promised return. EVE is not pegged to anything.

What counts as NAV

StrategyManager's totalNAVInETH() starts with the following gross assets, then deducts the live priced queued liability described below:

ComponentWhat it includes
Strategy navInETH() callsEach registered strategy's reported ETH value — for UniCLStrat this includes idle ETH and WETH, the LP position value, uncollected trading fees, and paired-token inventory (the paired token is valued via the Oracle).
StrategyManager balanceAny ETH sitting on the StrategyManager contract itself, waiting to be deployed.
Controller balanceAny ETH held by the Controller — received from the AMM but not yet forwarded to strategies.
AMM free balanceETH in the AMM contract that is not reserved for pending claims: address(AMM).balance − lockedForClaims.
Supported-ERC20 balances on the StrategyManagerSupported tokens held by the manager, valued through Oracle.convert; for example, paired-token inventory received through emergency recovery. A zero balance contributes no value.

From that asset total, it subtracts the ETH liability of priced, unprocessed requests whose batches are still inside the 3-day processing window (liveRedemptionOffsets()). Unpriced requests remain equity; their escrowed EVE is not deducted from NAV. The priced liability expires with the processing window, without requiring a reset transaction. AMM pricing also excludes in-window priced redemption shares from its live supply denominator.

lockedForClaims tracks ETH already owed to users who have had their queued exit processed but have not yet called claim(). That ETH is excluded from NAV because it is no longer the protocol's to deploy.

The full formula is:

NAV = strategy NAVs + StrategyManager ETH + Controller ETH + AMM free ETH
      + supported ERC-20 value held by StrategyManager
      - in-window priced redemption liabilities
base price = NAV / live supply
05 / Accounting architecture

Account in ETH. Then price EVE.

Open
Account in ETH. Then price EVE.StrategyManager sums strategy NAV, idle protocol ETH, and supported-token value, subtracts live priced redemption liability, and supplies ETH NAV to AMM entry and exit pricing.−ASSETSStrategy NAVΣ navInETH()ASSETSIdle protocol ETHFree + in-flight ETHASSETSSupported tokensOracle value in ETHSUBTRACTPriced exit liabilitiesIn-window batches onlyNET ASSET VALUETotal NAV in ETHStrategyManager.totalNAVInETH()AMMBase priceExit pricingAMMPremium priceEntry pricing · cw
ETH-denominated accountingNet value used for pricing

Idle ETH includes StrategyManager, Controller, and AMM free balances. Supported ERC-20s are valued through Oracle. In-window priced redemption liabilities are deducted; locked claim ETH is already excluded from AMM free balance. Pricing also adjusts the live EVE supply.

Fail-closed NAV

The NAV calculation is fail-closed: if any strategy's navInETH() call reverts — for example because a required oracle or pool observation is unavailable, or the strategy is broken — then totalNAVInETH() reverts too. When NAV cannot be computed, the AMM cannot price anything, so enter(), exit(), and batch pricing all freeze until the problem is resolved.

This is a deliberate safety property. Allowing enters and exits to proceed against a stale or missing NAV figure would let users trade at a price that does not reflect reality, which could drain value from the remaining holders. The protocol prefers a temporary freeze over mispricing.

A paused UniCL strategy can still report NAV. Pausing alone does not imply a failed NAV read. Non-zero supported ERC-20 balances on StrategyManager also require valid oracle prices.

Governance can recover funds or use StrategyManager.forceRemoveStrategy() to deregister a strategy whose NAV reverts. Normal removeStrategy() requires its reported NAV to be at most 10 wei and propagates a failed NAV read. Forced removal drops any remaining strategy assets out of protocol NAV; it does not automatically recover them.

Why this matters to you

  • NAV changes can come from deposits, exits, fees, asset prices, donations, or recovery actions. NAV alone is not a return measure. Compare the base price per EVE, and account for fee dilution and queued liabilities.
  • Unavailable NAV can block normal entry and exit until valuation recovers or governance acts. Claims of already credited ETH and eligible queued cancellations do not require fresh NAV.

For a full treatment of what can go wrong, see Key risks.

See also

Last updated on

On this page