Staking
Deposit SHOOK and earn rewards through an automatically increasing share value.
When staking starts
FormationMarket activates StakingVault during graduation. Staking before activation reverts. The launch budget is the complete SHOOK balance at activation, with a minimum of 250M SHOOK. It includes unused formation and liquidity inventory.
Approve StakingVault for the amount you want to deposit, then call stake(amount). Deposits belong to msg.sender. There is no lock-duration choice, staking NFT, transferable receipt token, or compounding switch.
How shares work
Depositing mints internal, non-transferable shares. Released reward tokens increase the active asset balance without increasing the number of shares. Every share therefore represents more SHOOK as rewards accrue. Compounding happens proportionally for all stakers.
The first deposit uses an internal precision scale of 10³⁶ shares per base token unit. Subsequent deposits receive floor(amount × totalShares / activeAssets) shares. This scale is an implementation detail, not a token denomination or additional token supply.
Fair entry and automatic compounding
Before stake or withdrawal accounting, the vault accrues rewards up to the current timestamp. A new staker receives shares at that updated exchange rate and cannot capture rewards released before entry. View methods preview the same time-based accrual without requiring a keeper transaction.
For example, if active assets are 1,100 SHOOK against a given share supply, a 110 SHOOK deposit receives one tenth of that existing share supply. After the deposit, its fraction is 1/11 of 1,210 SHOOK, still worth 110 SHOOK. It has not captured the earlier 100 SHOOK of rewards.
Principal and rewards
principalOf tracks your deposited principal less principal withdrawals. stakedBalanceOf includes compounded rewards. compoundedRewardsOf is the excess value above tracked principal; claimableRewardsOf computes what can be paid while conservatively retaining enough shares to back principal.
These values can differ by rounding. Read claimableRewardsOf for an executable reward claim rather than assuming every displayed fractional reward can be removed immediately.
No fixed APR
Rewards come from finite funded streams. Your outcome depends on active staking time, the total share supply, withdrawals, and optional supplemental funding. There is no guaranteed APR. The protocol does not create new SHOOK for yield. Read Reward streams for durations and empty-vault behavior.
Source reference
Checked against the source shipped with this documentation. Contract calls and units are detailed in the contract reference.
Imported source files 17
Supporting contracts, interfaces, and libraries imported by the sources above, including their dependencies.