Skip to main content

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

DirectionSpeedLimit per call
RaiseInstant (helps solvency; must keep the invariant)≤ +50%
Lower288-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.