Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Stake2Earn is Meteora’s legacy staking product for DAMM v1 pools. It lets holders stake a project’s token into a vault and compete for a place in a configurable top-staker list. When the connected DAMM v1 lock escrow has claimable trading fees, the Stake2Earn vault can collect those fees and distribute the released amount to the current top stakers by stake weight. Stake2Earn is not a fixed-emissions farm. Rewards come from pool fees that are actually collected from the configured lock escrow, then released over time according to the vault’s drip settings.
Stake2Earn runs on the mainnet program FEESngU3neckdwib9X3KWqdL7Mjmqk9XNp3uh5JbP4KP.
Stake2Earn is a legacy product. This documentation is intended for teams, launchpads, integrators, and users who need to understand existing Stake2Earn deployments.

Core Features

DAMM v1 Fee Source

A vault is tied to one DAMM v1 constant-product pool and one lock escrow owned by the Stake2Earn vault.

Top-Staker Eligibility

Only the configured top stakers earn newly released fees. Production vaults support 5 to 1,000 eligible stakers.

Project-Token Staking

Users stake the non-quote token from the pool. SOL and USDC are accepted only as quote mints, not as the stake mint.

Dripped Fee Release

Collected fees are stored as locked fees and released over the configured unlock duration instead of being distributed instantly.

Quote Claims and Base Restaking

Quote-token rewards are transferred to the user when claimed. Project-token fee rewards are added back into the user’s active stake.

Cooldown-Based Exits

Requesting an unstake removes the amount from active stake immediately. The user can withdraw only after the cooldown expires.

How Stake2Earn Works

DAMM v1 pool generates lock-escrow fees
        |
Stake2Earn vault claims available lock-escrow fees
        |
Claimed fees enter the vault's locked-fee balances
        |
Fees drip to the current top-staker list
        |
Top stakers accrue rewards by stake share
        |
Users claim quote rewards; base rewards compound into stake

Vault Setup

A Stake2Earn vault is initialized for one DAMM v1 constant-product pool. At a high level, the pool must contain:
RoleRequirement
Stake mintThe project token. It must not be one of the supported quote mints.
Quote mintWrapped SOL (So11111111111111111111111111111111111111112) or USDC (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v).
Lock escrowA DAMM v1 lock escrow for the pool whose owner is the Stake2Earn vault PDA.
Curve typeDAMM v1 ConstantProduct.
See Configuration and Limits for the full setup requirements and production limits.

Staking and Leaderboard Eligibility

Each user has a stake escrow for a specific vault. When the user stakes, project tokens move into the vault’s stake token account and the user’s active stake_amount increases. Stake2Earn maintains two list accounts:
ListPurposeProduction Limit
Top-staker listStakers currently eligible for newly released fees.1,000
Full-balance listCandidate list used to find users who can enter the top-staker list.10,000
Ranking is based on active stake amount. If two stakers have the same amount, the earlier full-balance-list index ranks higher.

Fee Collection and Release

User actions such as staking, claiming, requesting unstake, and canceling unstake attempt to update fee accounting. There is also a permissionless crank instruction that can update vault fee accounting without a user stake escrow. Collected fees are added to locked fee balances for token A and token B. After the configured fee distribution start time, locked fees drip over seconds_to_full_unlock. Released fees increase cumulative fee-per-stake accounting for the current top-staker list. See Formulas for the exact release and reward math.

Claiming Rewards

When a user claims:
  • the vault first updates fee accounting;
  • the user’s pending token A and token B rewards are updated if they are currently in the top list;
  • the quote-token portion is transferred to the user’s quote token account, capped by the max_fee argument;
  • the project-token portion is claimed in full and restaked into the user’s active stake;
  • the top-staker list is synced again because restaking can change the user’s rank.

Unstaking

Unstaking has two steps:
  1. Request unstake: the requested amount is removed from active stake immediately and an Unstake account records the release time.
  2. Withdraw: after release_at, the user can withdraw the unstaked tokens from the vault.
The user may also cancel an unstake before withdrawing. Canceling closes the Unstake account and returns that amount to active stake.

Product Building Blocks

Stake2Earn Configuration and Limits

See supported tokens, count limits, timing ranges, admin-controlled updates, and operational edge cases.

Stake2Earn Formulas

Review the reward, drip, fee-per-stake, claim, and unstake formulas used by Stake2Earn.

What Stake2Earn Is Not

  • Not a generic staking vault: it is tied to one DAMM v1 pool and lock escrow.
  • Not LP staking: users stake the project token, not LP tokens.
  • Not a fixed APY product: rewards depend on trading fees, claim timing, release timing, and leaderboard position.
  • Not all-staker rewards: only current top stakers accrue newly released fees.
  • Not instant-exit staking: requested unstake amounts leave active stake immediately but cannot be withdrawn until the cooldown ends.
Staking does not guarantee rewards. A wallet earns newly released fees only while it is in the current top-staker list and the vault has released collected fees to distribute.