Valuation (NAV)
The two ways a Tuo position is valued, why they differ, and which one the contract settles on.
A Tuo position has two values, and they answer different questions. The Dashboard NAV tells you what the whole position is worth right now. The Settlement NAV is what the contract can prove and is the only figure a fee is ever charged on.
Dashboard NAV
Computed off-chain by Tuo's backend every five minutes for every active position.
- Idle balances in the vault, priced at the pool's 30-minute average.
- Open ranges, valued at the same average price, plus the fees they have actually earned. The backend simulates a fee collection to get that figure, because Uniswap V3 reports zero fees owed for a range that has never been touched.
- The Hyperliquid leg: the equity of the position's operator account, read across both of the venue's ledgers so that unrealised profit and loss on the short is counted once.
Every on-chain read in a cycle is pinned to one block. Whether a range is in range is judged from the spot price; its value is judged from the average price. The two are never interchanged.
The Dashboard NAV is indicative. It is what the app charts and what your portfolio total shows. It never charges a fee and never moves money.
If any leg cannot be priced, the cycle publishes nothing rather than a partial figure. A gap in the chart means the backend refused to guess, not that value disappeared. Stale prices are still published and flagged as stale.
Settlement NAV
Computed on-chain by the vault. It values only what the contract can measure:
- Idle balances, priced at the pool's 30-minute average.
- Open ranges, valued at the same average price, plus the fees the pool has credited to them.
It does not value the Hyperliquid leg at all. The contract has no way to verify what an account on
another venue holds, and any keeper-attested figure would be a fee-extraction vector and a way to
burn a position's NFT against the wrong value. So while any margin is outstanding at Hyperliquid,
the settlement value is unavailable and the contract reverts with HlMarginOutstanding.
That revert is the normal state of a hedged position, not an error. It clears when the keeper brings the margin home during a withdrawal. The app shows this as "settlement value unavailable while the hedge is open".
Why the two differ
| Dashboard NAV | Settlement NAV | |
|---|---|---|
| Where | Off-chain, Tuo backend | On-chain, the vault |
| When | Every 5 minutes | On demand, any block |
| Hyperliquid leg | Included at venue equity | Excluded; unavailable while margin is outstanding |
| Range fees | Simulated collection, the true accrual | Only fees the pool has credited, often zero until a burn |
| Price | Pool 30-minute average | Pool 30-minute average |
| Charges a fee | Never | Yes, at withdrawal |
The Dashboard NAV is usually higher than the Settlement NAV while a position is running, because it counts range fees the contract has not yet realised and a hedge the contract cannot see. At withdrawal, the keeper burns the ranges (which realises their fees into idle balances) and brings the margin home (which turns the hedge's result into idle USDC), so the two converge on the same number before the contract settles.
How the hedge result enters the settlement
The contract books margin sent to Hyperliquid at par: 1 USDC sent is 1 USDC outstanding. When margin comes back, the contract credits what actually arrived. A hedge that lost returns less; a hedge that gained returns more. The difference is the hedge's realised result, and it lands in the position's idle USDC, where the settlement value counts it.
Because a losing hedge returns less than it was sent, the outstanding figure would never reach zero on its own. The keeper's final return therefore carries a flag that clears the attribution outright. The contract accepts that flag only while a withdrawal request is armed, since that is the one state in which no new margin can leave. The extreme case, a liquidated short that leaves nothing at the venue, is a final return of zero: a write-off that lets the owner still withdraw the on-chain leg.
What the performance fee is charged on
Profit equals Settlement NAV minus basis. The 30% fee applies to the profit share being withdrawn and to nothing else. Hyperliquid profit and loss reaches the fee base only as the USDC that actually came back into the vault. See Performance fee.
For integrators
settlementNav(nftId) returns the on-chain value or reverts HlMarginOutstanding.
previewWithdraw(nftId) returns the gross, fee and net for the armed request under the same
rule. idleBalance(nftId, token) returns a position's undeployed balance. A withdrawal is
serviceable when the previewed gross is covered by the idle USDC; there is no readiness flag. See
Events and integration.
Engine v25
Engine v25 is the proprietary quantitative engine that decides ranges, hedge sizes and rebalances; this page explains what it does and how its decisions reach the chain.
Withdrawals
How to withdraw a Tuo position in two wallet calls, what happens in between, and the emergency exit that no one can block.