# 8️⃣ Trading

Fuul allows projects to reward users for trading activity across spot DEXs and perpetual exchanges. Trading triggers capture volume, fees, and PnL to distribute rewards based on real usage.

### What You Can Incentivize

| Factor             | Description                                                                  |
| ------------------ | ---------------------------------------------------------------------------- |
| **Trade volume**   | Reward users proportionally to the USD value of their trades                 |
| **Fees paid**      | Target active traders by rewarding based on fees generated                   |
| **PnL**            | Incentivize profitable trading or reward participation regardless of outcome |
| **Maker vs taker** | Distinguish between maker and taker volume to fine-tune incentives           |

### Supported Protocols

| Protocol        | Type       | Description                                               |
| --------------- | ---------- | --------------------------------------------------------- |
| **Sushiswap**   | Spot DEX   | Swap trades on Sushiswap                                  |
| **Nado**        | DEX        | Trade activity on Nado                                    |
| **Ambient**     | DEX        | 24-hour trading leaderboard with volume and PnL           |
| **Orderly**     | Perpetuals | Builder trades with maker/taker volume breakdown and fees |
| **Hyperliquid** | Perpetuals | Builder trades on Hyperliquid                             |
| **Valiant**     | Spot DEX   | Spot trades with volume and fees                          |

### How It Works

| Step                         | What happens                                                                                                                                         |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1. Fetch trades**          | Fuul pulls trade data from each protocol's API or subgraph on a scheduled basis                                                                      |
| **2. Filter by time window** | Only trades within the measurement period are included. The time window can be **daily** or **hourly** depending on the endpoint and the data source |
| **3. Calculate volume**      | Each trade's USD volume is computed and attributed to the trader's address                                                                           |
| **4. Distribute rewards**    | Rewards are split proportionally based on each trader's share of total volume (or other selected metric)                                             |

### Perpetual vs Spot Trades

|                          | Spot trades                  | Perpetual trades                               |
| ------------------------ | ---------------------------- | ---------------------------------------------- |
| **Data captured**        | Volume, fees                 | Volume, leverage, PnL, fees, maker/taker split |
| **Position lifecycle**   | Instant (single transaction) | Open → Close (position must close to count)    |
| **Typical reward basis** | Volume or fees               | Volume, fees, or PnL                           |

{% hint style="info" %}
For projects looking to incentivize trading, Fuul can configure rewards based on volume, fees, or any combination — reach out at <ecosystem@fuul.xyz> to discuss the best setup for your protocol.
{% endhint %}


---

# 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/core-concepts/trigger-integrations/trading.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.
