# Quickstart

This guide gets you from zero to a running incentive program. Follow the common setup, then jump to the guide for your specific use case.

## 1. Create your account

* Go to [app.fuul.xyz](https://app.fuul.xyz) and sign up
* Enter the basic details about your project — name, website, and other relevant information
* Complete your project's profile (category, image, and description)

{% hint style="info" %}
You can create a test project first to explore the platform before setting up your real program.
{% endhint %}

## 2. Select how you're going to reward participants

* Choose between **Points** or **Tokens** — you can create different incentive programs later
* If you select tokens, choose the network you want to use from the dropdown

## 3. Set up your trigger

* Select the type of trigger (onchain, offchain, subgraph, etc.)
* For custom onchain triggers, select from any EVM chain or Solana (you can also use a testnet like Base Sepolia)
* Enter the smart contract address — Fuul will automatically look up all available events and functions
* Select which event or function to use as the trigger for your rewards
* Define how Fuul should interpret the transaction volume, revenue calculation, and currency
* Click **Save**

## 4. Set up your rewards

* Choose the conversion you've just created
* Select who to reward: **Referrers**, **End Users**, or **both**
* Configure the reward structure:
  * Payment type: Fixed amount or Variable (percentage of conversion volume)
  * Set the amount
* Hit **Create**

## 5. Finalize and launch

* Click **Publish** to save your configuration
* For token reward programs, go to **Initialize program** to deploy the program onchain

{% hint style="success" %}
For token rewards, deploying the program creates a smart contract that **you fully control**. Fuul never has access to the funds you deposit into your program's contract. Points-only programs don't require this step.
{% endhint %}

{% embed url="<https://drive.google.com/file/d/17OhT3GA70yKpaiQDenWvqjqQ4T-5jcuh/view?usp=sharing>" %}

## 6. Add a budget (token rewards only)

Fund your program with the tokens you'll distribute as rewards. See [How to Add a Budget](https://docs.fuul.xyz/getting-started/how-to-add-a-budget-in-fuul) for the step-by-step guide.

{% hint style="info" %}
Points-only programs skip this step — no smart contract or budget needed.
{% endhint %}

## 7. Get your API keys

Go to **Settings → New API Key** in the dashboard. You'll need different keys depending on your integration:

| Key type              | Use for                                           |
| --------------------- | ------------------------------------------------- |
| `send:tracking_event` | Frontend — tracking referrals and displaying data |
| `send:trigger_event`  | Backend — sending custom events                   |
| `read-only`           | Frontend — display-only (leaderboards, rewards)   |

See [API Key Management](https://docs.fuul.xyz/developer-guide/api-key-management) for details.

## 8. Choose your path

Pick the guide that matches what you're building:

| I want to...                             | Start here                                                                                                 |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Set up a referral/affiliate program**  | [Tutorial: Referral Program with Token Rewards](https://docs.fuul.xyz/tutorials/referral-program-tutorial) |
| **Run a points-based loyalty program**   | [Tutorial: Points Program with Leaderboard](https://docs.fuul.xyz/tutorials/points-program-tutorial)       |
| **Incentivize DeFi liquidity providers** | [Tutorial: Incentivize DeFi LPs](https://docs.fuul.xyz/tutorials/defi-incentives-tutorial)                 |
| **Launch quickly with no code**          | [No-Code Setup](https://docs.fuul.xyz/incentives-manager/incentives-hub/no-code)                           |
| **Build a custom-branded hub**           | [Build Your Incentives Hub](https://docs.fuul.xyz/developer-guide/build-your-incentives-hub)               |

## 9. Install the SDK (if building custom)

If you're building a custom integration (not using the no-code hub):

```bash
npm install @fuul/sdk
```

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

Fuul.init({ apiKey: 'your-api-key' });
```

{% hint style="warning" %}
**Next.js App Router:** Initialize in a client component (`'use client'`).
{% endhint %}

The tutorials above walk you through the full SDK integration for each use case.
