Coverage
Coverage is what the vault holds for a coin divided by what that coin owes its holders, published on-chain as a number anyone can read. At 100% the vault could redeem every coin in circulation at the index. The target is 100%, and the number is computed on-chain per coin from live feeds every single time it is read — never quoted, never attested, never reported by us.
The formula
coverageBps = (vaultUsd + vaultDiem × diemPrice + pegBidUsd) × 1e4 / (outstanding × coinPrice)
Three things back a coin, and one thing is owed.
| Term | What it is |
|---|---|
vaultUsd |
USDC the RedemptionVault holds for that coin, in 6 decimals |
vaultDiem × diemPrice |
the coin's DIEM inventory valued at the DIEM TWAP |
pegBidUsd |
USDC sitting in that coin's V3 peg bid, $10,000 at launch |
outstanding × coinPrice |
the liability, at the published index |
outstanding(coin) is totalSupply minus what the PegManager still holds unsold — its ask inventory plus any idle balance. Coin that has never been bought is not a liability, so it is not counted. The figure is off by V3 rounding dust at the wei level.
Reserves are per coin. INT coverage is INT's own USDC, INT's own DIEM and INT's own peg bid against INT's own outstanding supply. One coin's redemptions cannot reach another coin's reserve.
coverageBps never reverts. It reads both prices through a non-reverting call, so a stale coin price makes the liability zero and a stale DIEM price makes that part of the backing zero. Zero liability returns type(uint256).max, which the interface shows as no outstanding supply rather than as infinite coverage. Because DIEM is read live from the Aerodrome TWAP, that component of the backing is only counted while the feed is current, which keeps the published ratio conservative rather than optimistic. USDC redemption keeps working throughout.
What moves it
The coin's own price. Coverage is a ratio with the coin price in the denominator. Every coin was sold into the ask at the feed price of the day it was sold, and the dollars from that sale sit in the vault. As frontier output gets cheaper, the liability shrinks against reserves collected when it was dearer, and coverage rises. The cost of inference has fallen consistently for as long as it has been measured, and this is the structure that turns that trend into backing.
The DIEM price. Between 20% and 40% of each coin's reserve is DIEM by value. A fall in DIEM lowers the backing side directly, in proportion to that share.
Redemptions. A redemption burns coin and pays out its index value, which removes roughly equal amounts from both sides. Above 100% coverage a redemption lowers the ratio slightly; below 100% it raises it slightly. Redemptions are capped at 20% of the coin's seed amount per day across all wallets and 5% per wallet, which bounds how far a single day can move the ratio through the vault at all.
New sales. Every dollar paid into the ask above the $10,000 bid target is forwarded to the vault at the next placement, adding backing at the same moment it adds liability.
Top-ups. See below.
The DIEM band
The vault keeps DIEM between 20% and 40% of each coin's reserve by value, aiming for 30%. diemShareBps(coin) reports the current share and needsRebalance(coin) is true when it is outside the band, the DIEM feed is fresh, and five minutes have passed since the last move. Anyone may then call rebalance(coin), which buys or sells one tranche — trancheUsd, $2,000 by default — at no worse than the DIEM TWAP minus 4%. The units page shows the share against its band and a Rebalance button when a call would do something. DIEM has the detail.
The 110% floor
Surplus above 110% is protocol revenue and the owner can withdraw it with sweepSurplus(coin, usd, to). The function debits the reserve first and then recomputes coverage, reverting with CoverageFloor if the result would be below SURPLUS_FLOOR_BPS, which is 11,000 bps. There is no path that takes a coin below 110% through a sweep, and only the owner can sweep at all.
Top-ups
While a coin's coverageBps is below 100%, anyone may call Treasury.topUpVault(token, coin, amount), which spends protocol-share coin from a market's ledger: the coin is converted to USDC through the router, floored at the index minus 2%, and the proceeds are funded into that coin's reserve. Because the router redeems through the vault when it can, the conversion burns coin as well, so a top-up adds backing and removes liability in the same transaction. At or above 100% the call reverts with CoverageNotBelowTarget, so nobody can move protocol money into a vault that does not need it.
Top-ups draw on the protocol's own fee share, so the fee stream is what funds them — and the share collected on any market, in any pair coin, can be routed to any coin that is under target. Every market that opens adds to it.
Where to read it
coverageBps(coin) on the vault, any block, from any address, alongside usdOf, diemOf, outstanding, diemShareBps, redeemedToday and configOf for the components. The /units page reads them with one multicall and shows the ratio with a stacked breakdown of the three backing components, the DIEM share against its band, and the history from Funded, Redeemed and Rebalanced events.