Treasury & Backing
The treasury is the only contract that can mint DOHM. Everything it mints must be backed by reserves at the floor.
The backing invariant
reserve_usd × 1e8 ≥ (tracked + pending) × floor
reserve_usd— USD value of all treasury reserve assets (frUSD base units).tracked— cumulative DOHM the treasury has minted (burns do not reduce it, so it is a conservative liability measure).pending— DOHM reserved for bond notes not yet redeemed. A liability from the moment a bond executes, so a vesting note is always fully backed.floor— frUSD per DOHM × 1e8, a governance accounting parameter.
Every dilutive operation (rebase mint, floor raise) checks this invariant and reverts if it would break.
What the floor is not: a market-price guarantee, a redemption right, or a buyback promise. There is no DOHM→reserve redemption in the protocol. DOHM can trade below the floor.
What counts as reserves
The treasury holds a whitelist of backing assets, each either:
- RESERVE — a single asset. frUSD is valued 1:1 with no oracle; any other asset is valued at the live AMM spot price, which must sit inside a signed attestation band and pass a minimum-liquidity check (fail-closed: an unpriceable asset blocks dilutive operations, never inflates them).
- LIQUIDITY — an LP token (protocol-owned liquidity), valued by the manipulation-resistant markdown
2·√(r0_usd·r1_usd) × lp / total_lp.
The whitelist is capped at 6 assets (MAX_ASSETS) — a fuel-driven hard limit, fail-closed at the 7th. The initial frUSD numeraire is auto-whitelisted and consumes one slot, leaving 5 for additional reserve or LP assets.
Floor changes
| Direction | Speed | Limit per call |
|---|---|---|
| Raise | Instant (helps solvency; must keep the invariant) | ≤ +50% |
| Lower | 288-block timelock (dilutive) | ≥ −50% |
The floor and reserve settings can also be irreversibly frozen via timelocked operations.
Excess — the reward budget
excess = ⌊ reserve_usd × 1e8 / floor ⌋ − (tracked + pending)
Excess is the DOHM the treasury could still mint while staying fully backed. It is the hard cap on every rebase reward — the mechanism that turns bond surpluses into staking yield and nothing more.