<!--
Sitemap:
- [Welcome to River](/index)
- [Asset-Backed Finance Primer](/concepts/finance-primer)
- [River for Lenders](/lenders/introduction)
- [Depositing](/lenders/depositing)
- [Earning: the Coupon](/lenders/earning)
- [The Accumulating Wrapper](/lenders/wrapper)
- [Withdrawals & Exits](/lenders/withdrawals)
- [Losses & Impairments](/lenders/losses)
- [FAQ](/lenders/faq)
- [Integrate with River](/integrate/get-started)
- [Wrapper Integration](/integrate/wrapper)
- [Class Token Integration](/integrate/class-token)
- [Contract Addresses](/integrate/addresses)
- [Protocol Architecture](/architecture)
- [Actors: Roles & Permissions](/technical/actors)
- [Proxies & Upgradeability](/technical/proxies)
- [Strategies & Reporters](/technical/strategies)
- [Glossary](/concepts/glossary)
- [Dual NAV & Exchange Rates](/accounting/dual-nav)
- [Settlement & Conservation](/accounting/settlement)
- [The Coupon Ledger](/accounting/coupon-ledger)
- [Wrapper Accounting](/accounting/wrapper)
- [Accounting Examples](/accounting/examples)
- [The Tiered Waterfall](/waterfall/)
- [Waterfall Scenarios](/waterfall/scenarios)
- [Security Model](/security)
- [Protocol Invariants](/technical/invariants)
- [List of Assumptions](/technical/assumptions)
- [External Entry Points](/technical/entry-points)
- [Governance](/governance)
- [Contract Reference](/reference/contracts)
- [River Engineering Standards](/reference/engineering-standards)
-->

# Dual NAV & Exchange Rates

## Overview

Every River class has **two prices**: an optimistic one used when capital enters, and a
conservative one used when capital exits or when the token is read as collateral. They appear
across the surface as:

| Side | Functions | NAV basis |
| --- | --- | --- |
| Mint (entry) | `previewDeposit`, `previewMint` — the price deposit servicing uses | **Optimistic** — ignores expected (unrealized) losses; on the wrapper, includes pending accrual |
| Redeem (exit / collateral) | `convertToAssets`, `convertToShares`, `previewRedeem`, `previewWithdraw`, exit fills | **Conservative** — reflects impairments; realized value only |

The rule in one line: **new capital pays full freight; exiting capital gets the prudent price.**

## Why two prices must exist

A single price is exploitable from both directions around any impairment:

* If exits priced optimistically, a lender could redeem at the healthy price *ahead of* a marked
  loss, leaving the loss concentrated on everyone who stayed.
* If entries priced conservatively, a depositor could buy in at the impaired price right before a
  recovery (or before the impairment is lifted) and capture the discrete write-up from existing
  lenders.

Holding the two sides on opposite NAVs closes both games: the gap that an impairment opens between
the prices always resolves **in favor of the lenders who stay**.

## Example: impairment and default

Senior/junior deal, total NAV 1,100 across 1,000 shares. The servicer marks an expected loss of
500, which later crystallizes at 300.

```
# Healthy
optimistic NAV     = 1100        conservative NAV   = 1100
mint price         = 1.10        redeem price       = 1.10

# Impaired (expected loss 500 marked, nothing written off yet)
optimistic NAV     = 1100        conservative NAV   =  600
mint price         = 1.10        redeem price       = 0.60
→ exits reprice down instantly; deposits get NO discount for a loss
  that may never crystallize.

# Default (300 written off, 200 of the mark released)
optimistic NAV     =  800        conservative NAV   =  800
mint price         = 0.80        redeem price       = 0.80
→ the two prices reconverge once reality is booked.
```

If one price had been used, a depositor entering at 0.60 during the impairment would have earned
the 200 release as instant profit — value taken directly from the lenders who carried the risk.

## Where each side is enforced

* **Deposit servicing** mints at the post-settlement optimistic price (`Structure.serviceDeposit`
  runs settlement first, then prices).
* **Exit fills** price at the post-settlement conservative NAV, rounding down.
* **The wrapper** extends the same discipline to coupon: `wrap` prices at the gross
  (accrued-inclusive) value; redemption and `convertToAssets` price realized-only. See
  [Wrapper Accounting](/accounting/wrapper).
* **Collateral integrations** must read `convertToAssets` — it is deliberately the prudent side.

## Rounding policy

All conversions use the OpenZeppelin virtual-share offset (inflation-attack resistant) and round
in the pool's favor: mint quotes round down (fewer shares), redeem quotes round down (fewer
assets), and the residual dust always stays with remaining holders — never with the party
transacting.
