Vault Requirements
Supported production quote mints:
Initialization Parameters
The start timestamp creates a join window before rewards begin releasing. During this window, claimed fees can accumulate as locked fees, but released amount is zero until
current_time > start_fee_distribute_timestamp.
Account and List Limits
When a stake escrow is created, the program attempts to add it to the full-balance list while there is capacity. After the full-balance list reaches its hard limit, a staker outside the list can reclaim the smallest listed index only if their active stake is larger and the transaction supplies the required smallest stake escrow account.
Instruction Behavior
Stake2Earn does not update continuously by itself. State changes happen when instructions are sent.Ranking Rules
Stake2Earn ranks stakers by activestake_amount.
Fee Collection Rules
Stake2Earn can collect fees from the connected DAMM v1 lock escrow when fee accounting runs.Fee updates are triggered by user actions and by the permissionless
claim_fee_crank instruction. Interfaces should not assume fee accounting updates continuously without transactions.Claim Rules
Because the stake side is restaked, claiming can change top-staker ordering.
Unstake Rules
Updating
unstake_lock_duration does not rewrite existing unstake accounts. Existing records keep the release time calculated when they were created.
Admin-Controlled Updates
Approved admin keys can update these values:
The program has a private-build access check for vault and stake-escrow initialization, gated by an access mint. That check is behind the
private feature flag and is not part of the default public program path.
Interface Checklist
A useful Stake2Earn interface should show:- vault pool, stake mint, quote mint, and lock escrow;
- configured top-staker count and the user’s current top-list status;
- active stake, total active stake, and effective top-list stake;
- the minimum visible stake needed to enter or remain in the top list;
- locked fees, released-fee history, and last fee-claim time where available;
- pending quote rewards and the
max_feevalue used for claims; - base-token rewards that will be restaked on claim;
- requested unstake amounts, release times, and cancel or withdraw availability;
- clear messaging that only top stakers earn newly released fees.

