SHOOK / OFFICIAL PROTOCOLDocumentation
MAINNET EDITIONOpen SHOOK
Staking / SHOOK

Reward streams

A 365-active-day launch stream and optional rolling seven-day supplements.

Launch stream

At activation the launch budget is divided by 365 days to obtain a per-second integer rate. Reward releases are bounded by locked inventory. At the finish timestamp any remaining division dust is released. This is a fixed funding budget, not inflation.

Active time and pauses

When totalShares is zero, no rewards release. The vault records pausedAt. The next deposit shifts stream timestamps by the relevant pause duration before new shares are minted. Empty-vault time therefore extends the calendar finish time; “365 days” means active staking time.

An empty vault begins in a paused state at activation. The first depositor does not receive all the time that elapsed between graduation and their deposit as a windfall.

Supplemental stream

Only ReserveVault can fund supplemental rewards, and only through the SHOOK callback. Each accepted funding action first accrues old rewards, then adds the new amount to the remaining locked supplemental balance and schedules that combined amount over seven days.

Repeated funding resets the supplemental finish and rate for the remaining budget. It does not restart the launch stream or confiscate already released rewards. Supplemental funding during an empty interval remains locked and its schedule resumes with staking.

Accounting invariant

The token balance backs active share value, locked launch rewards, locked supplemental rewards, and any unaccounted transfers. totalRewardsFunded increases only at activation and authenticated supplemental funding. totalRewardsReleased and totalRewardsClaimed are different counters: rewards can be released and compounded without being claimed.

Direct token transfers

After activation, sending SHOOK directly to StakingVault does not increase principal, mint shares, or fund a reward stream. It appears as unaccountedShook. There is no general user recovery or sweep function for these tokens. Use stake for deposits and an authenticated callback route for supplements.

Source reference

Checked against the source shipped with this documentation. Contract calls and units are detailed in the contract reference.

Imported source files 18

Supporting contracts, interfaces, and libraries imported by the sources above, including their dependencies.

SHOOK docs Official protocol · Mainnet parameters