# 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](/getting-started/how-to-add-a-budget-in-fuul.md) 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 > API keys** in the dashboard and click **New API Key**. 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](/developer-guide/api-key-management.md) 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](/tutorials/referral-program-tutorial.md) |
| **Run a points-based loyalty program**   | [Tutorial: Points Program with Leaderboard](/tutorials/points-program-tutorial.md)       |
| **Incentivize DeFi liquidity providers** | [Tutorial: Incentivize DeFi LPs](/tutorials/defi-incentives-tutorial.md)                 |
| **Launch quickly with no code**          | [No-Code Setup](broken://pages/3ZluGciHtTpNp3sKd98C)                                     |
| **Build a custom-branded hub**           | [Build Your Incentives Hub](/developer-guide/build-your-incentives-hub.md)               |

## 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.


---

# 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/getting-started/quickstart.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.
