# Incentivize DeFi Liquidity Providers

Build an incentive program for DeFi liquidity providers. Reward users for providing liquidity with automatic pool-based distribution and real-time TVL/APR display.

## Prerequisites

* A Fuul account with a project created
* A supported DeFi protocol integration (see step 1)
* Pool-based conversion events configured in the dashboard
* A funded budget with the reward token

## Step 1: Choose your trigger integration

Fuul tracks LP positions automatically via onchain data — no custom events needed for supported protocols.

| Protocol type                          | Guide                                                                                                 |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Uniswap V3 and V3-style DEXs           | [CLAMM LPs](https://docs.fuul.xyz/core-concepts/trigger-integrations/clamm-lps-e.g.-uniswap-v3)       |
| Uniswap V2 and V2-style DEXs           | [Constant LPs](https://docs.fuul.xyz/core-concepts/trigger-integrations/constant-lps-e.g.-uniswap-v2) |
| Lending pools (Morpho, Compound, etc.) | [Lending & Borrowing](https://docs.fuul.xyz/core-concepts/trigger-integrations/lending-and-borrowing) |
| Staking protocols                      | [Staking](https://docs.fuul.xyz/core-concepts/trigger-integrations/staking)                           |
| Yield tokenization (Pendle)            | [Yield (Pendle)](https://docs.fuul.xyz/core-concepts/trigger-integrations/yield-pendle)               |

{% hint style="info" %}
Each integration type has its own configuration in the Fuul dashboard. The trigger integration guide for your protocol explains what parameters to provide (pool address, chain, etc.).
{% endhint %}

## Step 2: Configure pool distribution

With pool distribution, rewards are allocated proportionally to each user's share of the pool. Fuul handles the calculation automatically based on onchain position data.

**How it works:**

* User A has 60% of the pool → receives 60% of the reward budget for that period
* User B has 40% of the pool → receives 40%

Multipliers can adjust the distribution for specific audiences (e.g., 2x for users in a VIP segment).

See [Pool Distribution](https://docs.fuul.xyz/core-concepts/incentive-payouts/pool-distribution) for formulas and configuration details.

## Step 3: Display TVL and APR

Show depositors the current TVL and estimated APR for each incentive. This endpoint is public — no API key required:

```typescript
// GET /v1/incentives?protocol=your-protocol-code
```

```json
{
  "conversions": [
    {
      "name": "Deposit USDC",
      "tvl": "12500000.00",
      "apr": "0.145",
      "liquidity_pool_protocol": {
        "code": "morpho-vaults",
        "name": "Morpho Vaults"
      }
    }
  ]
}
```

Display `apr` as a percentage: `0.145` → **14.5% APR**.

{% hint style="info" %}
TVL and APR are refreshed automatically every \~3 hours. No manual updates needed.
{% endhint %}

See [Whitelabel TVL & APR](https://docs.fuul.xyz/developer-guide/whitelabel-tvl-apr) for supported protocols and display patterns.

## Step 4: Add referral tracking (optional)

Optionally add a referral layer so affiliates earn rewards for bringing LPs to your protocol:

```typescript
import { Fuul } from '@fuul/sdk';

Fuul.init({ apiKey: 'your-send-tracking-event-key' });

// On page load
await Fuul.sendPageview();

// On wallet connect
await Fuul.identifyUser({
  identifier: address,
  identifierType: 'evm_address',
  signature,
  message: 'Sign to verify your identity',
});
```

See [Tracking Referrals](https://docs.fuul.xyz/developer-guide/tracking-referrals-in-your-app) for the complete setup.

## Step 5: Add claiming

Let users claim their token rewards onchain:

1. Show claimable balances → [Claim Flow Integration](https://docs.fuul.xyz/developer-guide/claim-frontend)
2. Fetch signed vouchers → [Get Claim Checks](https://docs.fuul.xyz/developer-guide/claiming-onchain-rewards/get-claim-checks)
3. Submit the transaction → [EVM Claiming](https://docs.fuul.xyz/developer-guide/claiming-onchain-rewards/evm) or [SVM Claiming](https://docs.fuul.xyz/developer-guide/claiming-onchain-rewards/svm-solana)

## Next steps

| Feature                              | Guide                                                                                      |
| ------------------------------------ | ------------------------------------------------------------------------------------------ |
| Use variable rewards based on volume | [Variable Rewards](https://docs.fuul.xyz/core-concepts/incentive-payouts/variable-rewards) |
| Scale rewards with tiers             | [Tiers & Multipliers](https://docs.fuul.xyz/core-concepts/tiers-and-multipliers)           |
| Prevent sybil farming                | [Fraud Prevention](https://docs.fuul.xyz/core-concepts/fraud-prevention)                   |
| Get notified on payouts              | [Webhooks](https://docs.fuul.xyz/developer-guide/webhooks)                                 |
