Appearance
The exchange rate
The exchange rate is how much ATOM one vATOM is worth. It is the single number the protocol is judged by, and it is the headline figure on the dashboard.
exchange rate = recognised pooled ATOM ÷ vATOM supplyIt starts at exactly 1.000000 and rises as staking rewards are compounded back into the pool.
How your amounts are calculated
When you stake:
vATOM you receive = ATOM you deposit × vATOM supply ÷ recognised pooled ATOMFor the very first deposit, when there is no supply yet, you simply get one vATOM per ATOM.
When you redeem:
ATOM you are owed = vATOM you return × recognised pooled ATOM ÷ vATOM supplyBoth directions use the same basis, so there is no spread between minting and redeeming. You cannot lose value by round-tripping — beyond gas, and beyond the 21-day wait.
"Recognised" pooled ATOM, and why the rate does not jump
Note the word recognised. The rate is not driven by the raw pool balance:
recognised pooled ATOM = total pooled ATOM − rewards still vestingWhen rewards are compounded back into the pool, that lump is not added to the rate all at once. It is recognised gradually, in a straight line, over a 24-hour window.
Why
If the rate jumped the instant rewards were folded in, anyone could watch for that transaction, deposit immediately before it, and redeem immediately after — capturing a day's rewards earned by everyone else, for a few seconds of exposure. This is the "just-in-time reward sandwich", and it is a well-known attack on vaults that recognise profit instantly.
Spreading recognition over a window defeats it: there is no moment where value appears, so there is nothing to sandwich. The mechanism is the same "locked profit" pattern used by xERC4626 and Yearn.
What you will observe
- The rate rises smoothly, not in steps, even though rewards arrive in lumps.
- Right after a compounding, some real pooled ATOM is not yet in the rate. It is not lost — it is yours, and it is recognised over the following day.
- The dashboard shows this as Vesting rewards. A non-zero value there is normal and healthy; it means rewards were recently compounded.
- Compounding is refused while a window is still running. Rewards simply accumulate in the vault until the window elapses. If you see rewards sitting in the vault, that is usually why.
Slashing is not vested
The vesting mechanism deliberately works in one direction only.
If a validator is slashed, the pool shrinks, and the rate drops immediately the moment the loss is observed. It is not smoothed over 24 hours.
This asymmetry is intentional. Smoothing a gain protects existing holders from being diluted by an opportunist. Smoothing a loss would do the opposite — it would let holders who redeem quickly escape at a stale, too-high rate, pushing the whole loss onto whoever was slowest. The loss is recognised at once so that everyone shares it fairly.
When the rate stalls
The rate only rises when rewards are actually collected and compounded, and both are permissionless keeper actions — anyone can call them, but someone has to.
If nobody does, rewards accrue on the chain and sit there. The rate flatlines. Nothing is lost, and a later compounding picks it all up, but the rate is stale until then.
The dashboard's runbook checks are there to surface exactly this. See keeping it running.
Reading the rate honestly
A rising rate is the protocol working. But the rate alone does not tell you everything:
- It says nothing about whether there is enough liquid ATOM to pay claims right now — that is the claim reserve.
- It is not a price. It is what the contract will pay on redemption, after the unbonding period. If vATOM trades on a market, its market price can differ, and during volatility usually trades at a discount, because buyers are pricing in the 21-day wait.
- A rate below 1.000000 means the pool has been slashed by more than it has earned.
See also
- Reading the dashboard — what every tile means
- Redeeming takes 21 days
- Keeping it running — why the rate can stall