Skip to main content

LP incentive system

Cypher’s in-house incentive system offers a robust, efficient, and user-friendly way to distribute rewards to liquidity providers. Built entirely by Cypher, the system integrates on-chain and off-chain components to give protocols and users the flexibility to create custom campaigns tailored to specific needs.

Key features

  • Unified incentive distribution
    Supports V2 and V4.

  • Permissionless
    Any protocol can leverage the system. It supports all tokens, including CYPH tokens.

  • Highly customizable campaigns
    Features include blacklist/whitelist modes, token weight adjustments, depth-based incentives, and room to evolve over time.

  • Deep partner integrations
    Works seamlessly with Advanced Liquidity Managers (ALMs) and is compatible with any protocol providing liquidity to Cypher, ensuring the best possible user experience.

  • Streamlined reward collection
    Harvest all incentives and emissions in one simple step.

Quick start

To learn how to set up a campaign, see the Incentivize Liquidity page.

How the system works

The system is designed to handle reward distribution efficiently while allowing protocols to customize their campaigns.

  1. Campaigns are created and managed on-chain.
  2. An off-chain script computes LP rewards.
    • Runs in 4-hour epochs, using the criteria defined at campaign creation.
  3. After each epoch, a new Merkle root and proofs are generated and uploaded on-chain.
  4. Users:
    • Retrieve Merkle proofs for eligible positions via our API.
    • Claim pending rewards from the distributor contract at any time.
Architecture

On-chain: campaign config, accounting, distribution.
Off-chain: reward computation, Merkle root generation, proofs delivery via API.

Rewards eligibility and distribution

Users only need to provide liquidity to be eligible for rewards—no further action is required.

V2 pools

  • Rewards are proportional to liquidity ownership.

V4 pools

  • Rewards are based on the exact amount of fees generated during an epoch.
  • Cypher computes precise per-position fees for every epoch to ensure:
    • High accuracy in reward calculations.
    • Prevention of cheating or gaming the system.
Example

A user provides liquidity to the ETH/USDC pool.

  • V2: If the user owns 1% of pool liquidity, they receive 1% of the rewards.
  • V4: If the user generates 2% of the fees in an epoch, they earn 2% of the rewards for that epoch.

Campaign customization

Blacklist / whitelist modes

  • V2 and V4: Exclude specific addresses via a blacklist, or allow only specific addresses via a whitelist.

Token weighting

  • V4 only: Assign weights to specific tokens so rewards depend not just on fees generated but also on the token composition of the position.
    This helps incentivize positions that hold more of one token vs. the other.

Depth criteria

  • V4 only: Incentivize or exclude positions based on price ranges.
  • Use minimum/maximum liquidity depth to target specific ranges.
Example — weighted campaign

A campaign for PEPE/ETH with weights:
Fees = 70%, TokenA (PEPE) = 20%, TokenB (ETH) = 10%.
Rewards depend on both fees and token balances, incentivizing positions with more PEPE.

Campaign fees and requirements

  • Reward tokens must be whitelisted for use in campaigns.
  • Campaigns must run for at least 24 hours.
  • Campaigns must distribute ~$50/day or more to be considered valid.
  • A 1% fee is deducted from rewards to cover infrastructure costs.
Example — basic campaign config

A protocol launches a campaign to incentivize the MOG/ETH pool and selects whitelisted USDC as the reward token.
The campaign runs 7 days, distributing $500 total (≈ $71/day, meeting the daily minimum).
The 1% fee is deducted, leaving $495 to distribute to LPs.

Partners and integrations

Advanced Liquidity Managers (ALMs)

Users providing liquidity to Cypher through integrated ALMs receive rewards transparently and directly.

Example — ALM flow

A user provides liquidity via an integrated ALM. The system tracks the position automatically and distributes rewards directly to the user’s wallet — no manual claim steps are required.

Developer notes

  • Proofs API: Returns Merkle proofs for eligible positions.
  • Distributor contract: Accepts proofs for claims, validates against current Merkle root.
  • Epoch cadence: Default 4 hours (configurable in future revisions).
  • Extensibility: Additional modules (e.g., new weighting schemes, depth logic) can be added without breaking existing campaigns.