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

# Game Mechanics

> XP calculation transparency, level curve approximations, and quest state transitions.

## XP Calculation

All multipliers are applied multiplicatively:

```
final_xp = base_xp × difficulty × streak × proof
```

### Example: Best-case completion

Epic difficulty quest, 100-day streak, multi-proof (Forge-automated):

```
100 base × 3.0 (epic) × 1.50 (eternal fire) × 1.50 (multi-proof)
= 675 XP
```

### Example: Typical daily habit

Medium difficulty quest, 14-day streak, self-report:

```
50 base × 1.5 (medium) × 1.30 (blaze) × 1.00 (self-report)
= 97 XP
```

The maximum multiplier stack is **6.75×** (`epic` + `eternal fire` + `multi-proof`).

## Level Curve

Character level follows an exponential threshold curve. Approximate thresholds:

| Level | Total XP Required |
| ----- | ----------------- |
| 1     | 0                 |
| 2     | 100               |
| 5     | 550               |
| 10    | 1,600             |
| 20    | 6,000             |
| 50    | 50,000            |
| 100   | 250,000           |

Skills use the same curve, tracked independently per skill.

## Quest Status Transitions

| From        | To          | Trigger                            |
| ----------- | ----------- | ---------------------------------- |
| `available` | `active`    | `start` command or timer start     |
| `available` | `completed` | Direct complete (bounty only)      |
| `active`    | `completed` | `complete` command or Forge action |
| `active`    | `failed`    | Deadline passed                    |
| `active`    | `abandoned` | `abandon` command                  |
| `completed` | `available` | Daily/weekly reset at midnight     |
