> For the complete documentation index, see [llms.txt](https://docs.fuyo.markets/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fuyo.markets/rewards/fuyo-xp/how-daily-xp-works.md).

# How daily XP works

Your daily XP is built from 4 parts:

1. Base XP
2. Hold Bonus
3. Streak Bonus
4. Daily Bonus

Then Fuyo applies a cap:

> **Maximum XP per UTC day = 1,000 XP**

***

## 1. Base XP

Base XP is the main XP you earn from eligible resolved trades.

For each eligible trade, Fuyo starts with:

**Raw Base XP = sqrt(Trade Size) × Market Multiplier**

Where:

* Trade Size = how much you wagered
* Market Multiplier = the XP weighting of that market

The market multiplier comes from:

```
market.xpMultiplier
```

If that value is missing, invalid, or not positive, the system uses:

1.0

#### What this means in normal language

Bigger trades earn more XP, but not in a straight line.

Fuyo uses the square root of trade size. That means:

* a $10 trade earns more XP than a $1 trade
  * but not 10x more
* a $100 trade earns more XP than a $10 trade
  * but not 10x more

This creates diminishing returns, which helps keep the system fairer.

#### Simple example

If market multiplier = 1.0:

* $1 trade → sqrt(1) = 1 → 1 raw Base XP
* $4 trade → sqrt(4) = 2 → 2 raw Base XP
* $9 trade → sqrt(9) = 3 → 3 raw Base XP
* $100 trade → sqrt(100) = 10 → 10 raw Base XP

{% hint style="success" %}
Highlighted note: Bigger trades still matter, but whales do not scale XP infinitely just by size.
{% endhint %}

***

#### Market multiplier

Some markets are worth more XP than others.

That is controlled by the market’s XP multiplier:

```
market.xpMultiplier
```

So the same trade size can earn different XP in different markets.

#### Example

For a $9 trade:

* if xpMultiplier = 1.0 → 3 raw Base XP
* if xpMultiplier = 1.5 → 4.5 raw Base XP
* if xpMultiplier = 2.0 → 6 raw Base XP

In simple terms:

> Bigger trades earn more XP, and some markets are worth more XP than others.

***

#### Anti-bot protection: trade count reduction

After Raw Base XP is calculated, Fuyo adjusts it using a daily anti-bot factor based on how many eligible trades you have already made that day.

This helps reduce spam trading and low-value farming.

#### Eligible trade factor table

| **Eligible trade number in UTC day** | **XP factor** |
| ------------------------------------ | ------------- |
| 1–30                                 | 1.0           |
| 31–40                                | 0.8           |
| 41–50                                | 0.6           |
| 51–60                                | 0.4           |
| 61–70                                | 0.2           |
| 71+                                  | 0.1           |

#### Adjusted Base XP per trade

**Base XP = Raw Base XP × Trade Count Factor**

#### What this means in plain language

Your first 30 eligible trades get full XP.

After that, XP per trade starts dropping.

So:

* normal users are mostly unaffected
* spammy high-count trading becomes much less rewarding

{% hint style="success" %}
Highlighted note: This is one of Fuyo's main anti-bot protections. More trades can still earn XP, but repeated spam gets heavily reduced later in the day.
{% endhint %}

***

## 2. Hold Bonus

Hold Bonus rewards conviction.

If you do not flip sides on the same market during the same UTC day, you can earn extra XP.

#### Formula

**Hold Bonus XP = Base XP × 0.1**

That means:

+10% extra XP

#### What “flip sides” means

Flipping sides means trading both opposite outcomes of the same market on the same UTC day.

#### Example

If you only trade one side of a market today:

* you may qualify for Hold Bonus

If you trade both sides of the same market today:

* that market loses Hold Bonus

#### In plain language

* stay on one side = bonus
* play both sides = no bonus

{% hint style="success" %}
Highlighted note: Hold Bonus is designed to reward real conviction, not farming both outcomes.
{% endhint %}

***

## 3. Active day and streaks

A day only counts as an active day if your eligible daily volume is at least:

**$1 USD**

If eligible daily volume is below $1 USD:

* the day is not active
* your streak resets to 0

If the day is active:

* and the previous UTC day was also active, your streak continues
* otherwise your streak starts at 1

This means you cannot keep a streak alive with meaningless dust activity.

***

## 4. Streak Bonus

Streak Bonus rewards users who come back consistently.

The longer your active streak, the higher your XP multiplier can become.

#### Streak multiplier table

| **Streak days** | **Multiplier** |
| --------------- | -------------- |
| 1               | 1.0x           |
| 2               | 1.1x           |
| 3               | 1.2x           |
| 5               | 1.3x           |
| 7               | 1.4x           |
| 10              | 1.5x           |
| 14              | 1.8x           |
| 30              | 2.0x           |

#### Formula

**Streak Bonus XP = Base XP × (Streak Multiplier − 1)**

#### What this means in normal language

If you keep showing up daily, you earn more XP over time.

Examples:

* Day 1 → no extra bonus yet
* Day 2 → 10% extra on Base XP
* Day 7 → 40% extra on Base XP
* Day 30 → 100% extra on Base XP

{% hint style="success" %}
Highlighted note: Streak rewards daily habit and consistency. It applies to XP only, not leaderboard ranking.
{% endhint %}

***

## 5. Daily Bonus

Fuyo also gives a fixed daily XP bonus if you hit the minimum daily activity threshold.

#### Current rule

If your eligible daily volume is at least:

$1 USD

Then you receive:

10 XP

Otherwise:

0 XP

#### In simple terms

If you meet the minimum daily requirement, you get a small extra reward for the day.

{% hint style="success" %}
Highlighted note: Daily Bonus is a once-per-day fixed XP reward for meeting the daily activity threshold.
{% endhint %}

***

#### Final daily XP formula

Before cap:

```
Total XP Before Cap = Base XP + Hold Bonus XP + Streak Bonus XP + Daily Bonus XP
```

After cap:

```
Total XP After Cap = min(Total XP Before Cap, 1000)
```

So even if your combined XP goes above 1,000, your final daily result is capped at:

> **1,000 XP**

***

#### Daily cap

Fuyo uses a hard daily cap:

**Daily XP cap = 1,000 XP**

#### Why this exists

This prevents unlimited XP farming in a single day.

It helps keep the system healthier and fairer for normal users.

{% hint style="success" %}
Highlighted note: Even very high activity cannot generate unlimited XP in one UTC day.
{% endhint %}

***

## Examples

#### Three simple user personas&#x20;

#### Persona 1: Casual Ken

Ken places a few normal trades each day.

#### What happens

* his trades are above 1 USDT, so they count
* he stays below spammy trade counts, so he gets full or near-full XP factor
* if he stays on one side, he gets Hold Bonus
* if he comes back daily, he builds streak bonus
* if he meets the daily threshold, he gets Daily Bonus

#### What this means

Ken can build XP steadily without needing huge size.

He is the kind of real user the system is designed to reward.

***

#### Persona 2: Whale Sarah

Sarah places much larger trades than average users.

#### What happens

* she earns more Base XP because larger trades do earn more
* but because Fuyo uses square root, her XP does not scale linearly with size
* if she has conviction, she can still get Hold Bonus
* if she is active daily, she gets Streak Bonus
* the daily cap prevents unlimited XP farming

#### What this means

Big users are rewarded, but not so aggressively that they crush everyone else only through size.

***

#### Persona 3: Spam Bot Andy

Andy tries to farm XP with many repeated low-value trades.

#### What happens

* sub-1 USDT trades do not count at all
* after too many eligible trades, the XP factor drops sharply
* if he flips sides, he loses Hold Bonus
* if he does not meet real daily activity, he cannot maintain streak properly
* the 1,000 daily cap limits extreme farming anyway

#### What this means

Spammy, bot-like behavior becomes much less effective than real participation.

***

#### One easy example

Imagine two users show up today.

#### User A

* places 10 normal trades
* stays on one side in each market
* has a 7-day streak
* meets the daily threshold

User A gets:

* Base XP
* Hold Bonus
* Streak Bonus
* Daily Bonus

#### User B

* places many repetitive trades
* flips sides on the same markets
* has no streak
* tries to spam later in the day

User B may still get some Base XP, but:

* loses Hold Bonus
* has no streak boost
* gets reduced XP on later trades
* is still limited by the daily cap

That is the core logic of Fuyo XP.

***

### Why this system exists

From a user perspective, Fuyo XP is built to feel:

* fair to smaller users
* rewarding to daily users
* exciting for committed traders
* harder for bots to abuse

It rewards not only how much you trade, but also how you participate.
