reserve currency · ethereum mainnet · (3,3)
Every OHM fork quotes a backing per token and then explains, in the small print, that nothing buys back at any level. This one does.
Stake and your balance rebases every epoch. Bond ETH at a discount and grow the treasury. Both of those are ordinary. The difference is the third verb: you can burn your uOHM and take your pro-rata share of the treasury, at any time, from a contract that has no withdrawal function for anybody else.
Burn uOHM, receive your exact share of treasury ETH. No cooldown, no vote, no owner.
A hard cap in _mint. When it is reached, emissions stop permanently.
The treasury has no function that lets anyone take ETH out except a holder who burned tokens.
The difference
Burns amount of your uOHM and pays you
treasuryBalance × amount / totalSupply. That is the whole function.
Because it exists, backing stops being an assertion. If uOHM trades below backing, anyone can buy on the market, redeem here, and keep the difference — so the gap pays somebody to close it. No one has to be trusted for that to work, and no governance decision can switch it off.
Redemption is share-preserving. Paying out balance × amount / totalSupply and
burning amount leaves backing per token exactly where it was for
everyone who stayed. We checked this at 1, 1,000, 100,000 and 500,000 tokens: bit-identical
every time. Redeeming never dilutes the holders who do not.
The treasury has no withdrawal function. Not for the deployer, not for a
multisig, not for anyone. ETH enters from bond sales and leaves only through
redeem(). That is the only reason the floor is worth anything.
The three verbs
Deposit uOHM, receive suOHM. The index rises every epoch and every staked balance grows by the same factor at the same instant. Nothing to claim, no lock, unstake whenever.
Sell ETH to the protocol below backing and receive uOHM vesting linearly. The ETH goes straight to the treasury and is never coming back out except through redemption.
Burn uOHM for your share of the treasury, any time. This is the exit that every other fork describes in a disclaimer instead of implementing.
Enforced or asserted
Reserve protocols are usually a dashboard with a token attached. Here is the same table every fork should publish, for this one.
Staking.rebase(), permissionless, catches up deterministicallyTreasury.redeem() pays it out on demandtreasury.fund() runs before token.mint()MAX_SUPPLY reverts the mint; runwayEpochs() reads it liveThe rebase, honestly
A rebase mints new supply and splits it evenly among everyone holding the expanded supply. Your share of the staked pool after a rebase is exactly what it was before. No value is created by the act of rebasing, and the contract says so in its own comments.
What makes this version different is that the schedule is capped and the ceiling is real. Here is what each emission rate actually costs, simulated against a 10,000,000 hard cap with 90,000 staked:
| Rate / epoch | Quoted APY | Epochs of runway | Days | Final index |
|---|---|---|---|---|
| 0.10% | 199% | 4,712 | 1,571 | 111x |
| 0.20% | 792% | 2,358 | 786 | 111x |
| 0.30% | 2,558% | 1,573 | 524 | 111x |
| 0.50% | 23,442% | 945 | 315 | 111x |
| 1.00% | 5.4e+6% | 474 | 158 | 111x |
Read the last two columns together. A rate that quotes a spectacular APY is the same rate that exhausts the cap fastest, and the index reaching 111x means the supply did too. The index rising and your position being worth more are different events.
Who pays for the discount
Selling tokens below backing necessarily lowers backing per token — the discount is the value handed from current holders to the bonder. Every fork glosses over this. The algebra, for treasury T, supply S, deposit E and discount d:
It equals 1 only when d = 0, and falls toward (1 - d) as the deposit grows. So a 5% bond can dilute backing by at most 5%, and usually far less. The contract enforces that bound rather than assuming it.
| Deposit | 0% discount | 2.5% | 5% | 10% |
|---|---|---|---|---|
| 1 ETH | 100.000% | 99.990% | 99.979% | 99.956% |
| 50 ETH | 100.000% | 99.574% | 99.130% | 98.182% |
| 500 ETH | 100.000% | 98.319% | 96.610% | 93.103% |
| 5,000 ETH | 100.000% | 97.616% | 95.227% | 90.431% |
The record
Anything not listed here is not uOHM. Verify against this table before you touch anything.
| Contract | Role | Address |
|---|---|---|
| UOHM | ERC-20, capped mint | awaiting mainnet |
| Treasury | reserves, redeem() | awaiting mainnet |
| Staking | epochs, rebase | awaiting mainnet |
| suOHM | rebasing staked token | awaiting mainnet |
| BondDepository | ETH bonds, vesting | awaiting mainnet |
| Pool | ETH / uOHM, Uniswap v4 | awaiting mainnet |