
Renesis Insights

Renesis Team
The NAV Problem No One Talks About
Every crypto fund reports NAV. Most do it wrong.
Not fraudulently wrong. Operationally wrong — in ways that create silent discrepancies between what the fund thinks it owns and what it actually owns. These discrepancies surface at the worst possible times: LP redemption requests, auditor reviews, onboarding a new fund administrator.
The problem isn't the concept of NAV. It's that NAV methodology was designed for traditional assets — equities, bonds, cash — where assets have a single price source, dividends arrive on known dates, and positions don't change unless you trade. DeFi breaks all three assumptions simultaneously.
This article is a practical guide to calculating NAV correctly for a fund running DeFi positions alongside CeFi. It covers the mechanics most fund operators only learn after their first reconciliation failure.
The Core Definition (And Where It Breaks)
NAV = Total Assets − Total Liabilities
For a traditional fund, Total Assets is simple: positions × market price, sourced from a single verified feed.
For a DeFi-native fund, Total Assets has six distinct components, each with different valuation mechanics:
CeFi spot and derivatives positions — straightforward, priced from exchange APIs
Wallet token balances — straightforward if single-chain, complex with multi-chain
Yield-bearing vault positions — priced by share price, not token count
Liquidity pool positions — priced by underlying pool composition, subject to impermanent loss
Accrued but unclaimed yield — often invisible on standard portfolio dashboards
Pending rewards and airdrops — treated inconsistently across funds
Items 3–6 are where most funds have errors.
Valuing Vault Positions Correctly
The most common mistake: treating vault positions as token balances.
When a fund deposits into a Morpho curated vault, it receives a vault share token. The value of that share token changes continuously as the underlying pool earns yield. If you record the position as "X vault tokens at $1.00" instead of "X vault tokens × current share price", your NAV is understated by exactly the amount of yield that has accrued since deposit.
For a fund that's been in a vault for 90 days at 10% APY, this is approximately 2.5% of the position value — not trivial.
The correct approach:
Record vault positions as: shares held × current share price (denominated in underlying asset)
Source share price from the vault contract directly, not from a price aggregator
Update at every NAV calculation point, not just when you withdraw
Different vault types have different share price mechanics:
Morpho / ERC-4626 vaults: share price increases continuously as interest accrues
Hyperliquid HLP: share price reflects realised P&L from trading activity; can decrease
Pendle PT: trades at a discount to face value until maturity; discount decreases linearly
Each needs its own valuation logic.
The Accrued Yield Problem
Most DeFi protocols accrue yield continuously but only realise it at specific events: withdrawal, harvest, or checkpoint.
Between those events, the yield exists on-chain but is not visible as a token balance. If your NAV process only reads wallet balances and exchange positions, this yield is invisible to your accounting.
Where accrued yield commonly hides:
Lending protocol interest (Aave, Compound, Euler) — accrues per block
Staking rewards — accrue per epoch or continuously
Vault management fee rebates — calculated at withdrawal
Perpetual funding rate payments — settle on a fixed schedule (typically every 8 hours)
The fix: Query protocol state directly at NAV calculation time, not just wallet state. For each position, you need the economic value of the position, which includes principal + accrued income, not just the token balance.
Funding Rate P&L: The NAV Item Most Funds Attribute Wrong
For a fund running perpetual futures positions (basis trades, delta-neutral strategies), funding rate payments are a material income item. They're also routinely miscategorised.
Funding rate payments are not trading P&L. They are financing costs or income, depending on position direction. Mixing them into unrealised P&L creates several problems:
Your strategy P&L attribution is wrong (trading alpha vs. carry income look the same)
Your LP reporting shows funding income as price appreciation, which is misleading
Auditors will flag the inconsistency
The correct treatment:
Record funding payments as a separate income line: Financing Income / Financing Cost
Book at settlement time (every 8 hours for most CEX perps)
Track by position and venue, not in aggregate
For a fund running $10M notional in basis trades at 10% annualised funding income, the daily funding accrual is approximately $2,700. Misattributing this for 90 days creates a $243K error in strategy P&L decomposition.
Multi-Chain Positions: The Timing Problem
When a fund holds positions across Ethereum mainnet, Arbitrum, and Solana, each chain has a different block time and a different "as of" moment for any given snapshot.
This creates a timing inconsistency in NAV: you're aggregating position values that were accurate at slightly different moments. For volatile assets, this can introduce noise of 0.5–2% into your NAV calculation.
The standard approach used by professional fund admins:
Define a fixed NAV calculation timestamp (e.g., 00:00 UTC)
Source all on-chain balances from the nearest block to that timestamp on each chain
Document the block numbers used in the calculation record
Flag any position where the nearest block is more than 60 seconds from the NAV timestamp
This creates a reproducible, auditable NAV that any administrator or auditor can reconstruct independently.
LP Reporting Implications
Once you have clean NAV, the LP report is straightforward. But two items trip up most funds:
1. Unrealised vs. realised P&L in DeFi
Vault yield that has accrued but not been claimed is unrealised P&L. It should be shown separately from realised trading gains in any investor report. Most LP reporting templates don't have this distinction built in.
2. DeFi exposure classification
LPs increasingly want to understand their exposure decomposition: how much is in CeFi venues, how much is in on-chain lending, how much is in active trading strategies. A single "DeFi" line item isn't sufficient for an LP doing their own risk assessment.
A clean fund-level report should show, at minimum:
NAV by strategy bucket
Unrealised vs. realised P&L
Yield earned (by category: trading fees, lending income, staking rewards, funding rates)
Exposure by venue/protocol
The Audit Trail Requirement
Fund administrators and auditors will ask for one thing above all else: can you reproduce this NAV independently?
This means your calculation process needs to be documented and repeatable:
Source of each price feed (exchange API, on-chain oracle, manual input)
Block numbers used for on-chain balances
Methodology for each asset class (vault share price, LP token valuation, accrued yield calculation)
Any manual adjustments and their justification
Funds that can produce this documentation onboard administrators faster and pass audits with fewer queries. Funds that can't, spend the first month of any administrator relationship rebuilding historical NAV from scratch.
The above methodology is what Renesis implements in its NAV engine — real-time, protocol-level attribution across 40+ DeFi integrations, with an auditable calculation record at every snapshot.
Built by builders.
For builders.
We're a DeFi-native team shipping fast. No enterprise sales cycles, no bloated pricing. Start free, talk to us when you're ready.