Staking pools
Create a fully funded, time-weighted reward pool with isolated principal.
Trust Stack staking pools pay a fixed, fully funded reward budget over an immutable time window. Stake principal and reward funding use separate untransferable vaults.

Create a pool
- Verify distinct standard, non-dispatchable stake and reward assets.
- Enter the reward budget and start/end timestamps.
- Review the funded budget, duration, and creator recovery rule.
- Sign the pool creation transaction.
An unfunded reward promise cannot be created: the budget transfers before PoolCreated is emitted.
Participate

Participants verify a pool, enter a stake amount, and receive a separate position object. From that position they can claim whole rewards or withdraw. Withdrawal returns all principal plus pending whole rewards and permanently closes the position.
Rewards use a cumulative reward-per-stake index scaled by 10^18. Each position retains fractional
remainders, so frequent claims do not create a rounding advantage.
Creator recovery
The creator can recover unallocated reward tokens only after the pool has ended and total stake is zero. This includes rewards emitted during empty periods and integer-division dust. The creator has no path to stake principal.
Deliberate exclusions
The first pool type has no compounding, lock multiplier, penalty, mutable emissions, emergency withdrawal, or administrator confiscation.