> For the complete documentation index, see [llms.txt](https://docs.fuul.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fuul.xyz/core-concepts/trigger-integrations/token-holders.md).

# 5️⃣ Token Holders

Fuul allows projects to reward token holders based on their balances at specific points in time. By capturing a **snapshot** of token ownership at a defined moment, Fuul simplifies the process of distributing rewards to your community.

### What You Can Incentivize

| Trigger                     | What's tracked                                   | Use case                                                   |
| --------------------------- | ------------------------------------------------ | ---------------------------------------------------------- |
| **Token balance snapshot**  | User's token balance at a specific point in time | Airdrops, loyalty rewards, governance incentives           |
| **Subgraph-based snapshot** | Custom data derived from a subgraph query        | Advanced balance calculations or protocol-specific metrics |
| **Dune Query snapshot**     | Custom data derived from a Dune Analytics query  | Complex onchain data that requires SQL-based analysis      |

### How It Works

| Step                       | What happens                                                                                        |
| -------------------------- | --------------------------------------------------------------------------------------------------- |
| **1. Define the snapshot** | Configure which token (or subgraph/Dune query) to track, on which chain, and at what point in time  |
| **2. Capture balances**    | Fuul takes a snapshot of all holder balances at the defined moment                                  |
| **3. Filter holders**      | Optional minimum balance thresholds or other criteria are applied to determine qualifying holders   |
| **4. Distribute rewards**  | Rewards are distributed proportionally based on each holder's share of the total qualifying balance |

### Use Cases

| Use case                  | Description                                                                                   |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| **Airdrops**              | Reward holders with tokens or points based on their snapshot balance                          |
| **Loyalty rewards**       | Conduct periodic snapshots and reward consistent balances to encourage long-term holding      |
| **Governance incentives** | Distribute rewards to token holders during key governance events to incentivize participation |

### Data Sources

| Source            | When to use                                                      | Setup                                                     |
| ----------------- | ---------------------------------------------------------------- | --------------------------------------------------------- |
| **Token balance** | Standard ERC-20 or native token holdings                         | Provide the token contract address                        |
| **Subgraph**      | Custom or protocol-specific balance logic                        | Provide the subgraph endpoint and query                   |
| **Dune Query**    | Complex onchain analysis requiring SQL                           | Provide the Dune query ID                                 |
| **Stellar asset** | Holders of a Stellar classic asset (e.g., USDC, EURC on Stellar) | Provide the asset's Stellar Asset Contract address (`C…`) |

{% hint style="info" %}
Token holder snapshots can be taken on EVM chains, Solana (SPL tokens), Fogo, and Stellar. For advanced configurations using subgraphs or Dune queries, reach out at <ecosystem@fuul.xyz>.
{% endhint %}
