packages/core/src/xp/calculator.ts.
Formula
Difficulty Multipliers
| Difficulty | Multiplier |
|---|---|
easy | 1.0 |
medium | 1.5 |
hard | 2.0 |
epic | 3.0 |
Streak Multipliers
| Streak Days | Tier | Multiplier |
|---|---|---|
| 0–2 | None | 1.00 |
| 3–6 | Spark | 1.10 |
| 7–13 | Flame | 1.20 |
| 14–29 | Blaze | 1.30 |
| 30–59 | Inferno | 1.40 |
| 60–99 | Wildfire | 1.45 |
| 100+ | Eternal Fire | 1.50 |
Proof Multipliers
| Proof Type | Multiplier |
|---|---|
self-report | 1.00 |
timestamp | 1.05 |
duration | 1.10 |
process-check | 1.20 |
file-change | 1.20 |
git-commit | 1.30 |
screenshot | 1.30 |
calendar-match | 1.30 |
ai-verify | 1.40 |
multi-proof | 1.50 |
Level Curve
Character level uses an exponential curve. Early levels are fast; later levels require significantly more XP:xp/constants.ts as a threshold array. Level 1 requires ~100 XP; each subsequent level requires ~20% more than the previous.