> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apetopia.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Levels & XP

> Reward your most active community members with XP for participating in giveaways, polls, wallet verification, and daily check-ins.

Levels & XP is an activity-based engagement system that rewards members with experience points (XP) for participating in your server. As members accumulate XP they level up, unlock roles, and appear on the community leaderboard.

<Card title="Open in Apetopia →" href="https://apetopia.co/dashboard/levels">
  Go directly to this feature in your dashboard.
</Card>

<Note>
  This is a **Pro** plan feature.
</Note>

## How it works

Members earn XP by completing specific actions inside your server. Apetopia tracks these events automatically — no message monitoring required. XP is accumulated over time and converted into levels using a progressive formula.

### XP-earning activities

| Activity                    | Default XP |
| --------------------------- | ---------- |
| Giveaway entry              | 50 XP      |
| Poll vote (first vote only) | 25 XP      |
| Wallet verification         | 100 XP     |
| Daily check-in (`/daily`)   | 30 XP      |

All values are configurable in the **Levels & XP** settings page.

## Setting up Levels & XP

1. Go to **Gamification → Levels & XP**
2. Toggle **Levels & XP** to enabled
3. Adjust the XP values for each activity if you'd like
4. (Optional) Set a **level-up announcement channel** — the bot will post a message when a member levels up
5. (Optional) Add **role rewards** to automatically assign roles when members reach specific levels
6. Click **Save configuration**

## Level formula

Each level requires progressively more XP:

| Level   | XP needed |
| ------- | --------- |
| Level 1 | 100 XP    |
| Level 2 | 200 XP    |
| Level 3 | 300 XP    |
| Level 4 | 400 XP    |
| Level 5 | 500 XP    |

The formula is: `XP to next level = (current level + 1) × 100`

## Daily check-in

Members can use the `/daily` slash command once every 24 hours to claim their daily XP. The bot responds with the member's current XP total and level. If the member leveled up from the check-in, the bot mentions the new level in the reply.

## Role rewards

You can configure roles to be automatically assigned when a member reaches a specific level:

1. In the **Role rewards** section, click **Add role reward**
2. Enter the target level number
3. Select the Discord role to assign
4. Save the configuration

When a member reaches that level, the bot assigns the role immediately.

## Level-up announcements

Set a Discord text channel as the level-up announcement channel to have the bot post a message each time a member levels up. You can customize the message template using these placeholders:

| Placeholder  | Value                                               |
| ------------ | --------------------------------------------------- |
| `{userId}`   | Discord user ID (formats as a mention: `<@userId>`) |
| `{user}`     | Discord mention (`<@userId>`)                       |
| `{username}` | Member's display name                               |
| `{level}`    | The new level reached                               |

Default template: `🎉 <@{userId}> leveled up to **Level {level}**!`

## Leaderboard

The **Leaderboard** tab shows the top 100 members in your server ranked by total XP. Each entry shows:

* Rank (with medal icons for top 3)
* Discord username
* Current level
* XP progress bar toward the next level
* Total XP earned

The leaderboard updates in real time as members earn XP.

## Availability

Levels & XP is a **Pro plan** feature.
