# 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](/core-concepts/trigger-integrations/clamm-lps-e.g.-uniswap-v3.md)       |
| Uniswap V2 and V2-style DEXs           | [Constant LPs](/core-concepts/trigger-integrations/constant-lps-e.g.-uniswap-v2.md) |
| Lending pools (Morpho, Compound, etc.) | [Lending & Borrowing](/core-concepts/trigger-integrations/lending-and-borrowing.md) |
| Staking protocols                      | [Staking](/core-concepts/trigger-integrations/staking.md)                           |
| Yield tokenization (Pendle)            | [Yield (Pendle)](/core-concepts/trigger-integrations/yield-pendle.md)               |

{% 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](/core-concepts/incentive-payouts/pool-distribution.md) 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](/developer-guide/whitelabel-tvl-apr.md) 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](/developer-guide/tracking-referrals-in-your-app.md) for the complete setup.

## Step 5: Add claiming

Let users claim their token rewards onchain:

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

## Next steps

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fuul.xyz/tutorials/defi-incentives-tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
