Points System Overview
The AXBlade Points System rewards traders for activity on the platform. Points accumulate within each Epoch and determine token distribution at the end of each Season.
Base URL: https://api.primit.io/api/v1
Epoch & Season Structure
Season (≈56 days)
├── Epoch 1 (≈14 days)
├── Epoch 2 (≈14 days)
├── Epoch 3 (≈14 days)
└── Epoch 4 (≈14 days)
- Each Epoch lasts approximately 14 days. Points accumulate within the epoch.
- Every 4 Epochs form a Season. At season end, tokens are distributed to users proportionally based on their weighted points.
Point Types
| Type | Code | How Earned |
|---|---|---|
| Trading Points | TP | Calculated per fill based on volume × tier rate |
| PnL Points | PP | Calculated on position close based on realized PnL |
| Holding Points | HP | Accrued per minute based on open position value |
| Referral Points | RP | Awarded when a referee reaches the volume trigger within 7 days of binding |
| Staking Points | SP | Accrued while staking tokens |
Tier System
Trading point rates are multiplied by the user's Tier, determined by 14-day rolling trade volume:
| Tier | Volume (14-day rolling) | Maker Rate | Taker Rate |
|---|---|---|---|
| T1 | $0 – $4,999,999 | 1.2 TP / $1,000 | 0.8 TP / $1,000 |
| T2 | $5M – $99,999,999 | 1.5 TP / $1,000 | 1.0 TP / $1,000 |
| T3 | ≥ $100M | 2.0 TP / $1,000 | 1.3 TP / $1,000 |
Earn Level
Total points within an epoch determine the user's Earn Level, which sets a weight multiplier used for season token distribution:
| Level | Points Range | Weight |
|---|---|---|
| L0 | 0 – 999 | 4 |
| L1 | 1,000 – 9,999 | 8 |
| L2 | 10,000 – 49,999 | 12 |
| L3 | 50,000 – 199,999 | 25 |
| L4 | 200,000 – 499,999 | 60 |
| L5 | 500,000+ | 120 |
Token Distribution Formula
weighted_points = total_points × earn_level_weight
share_pct = user_weighted_points / Σ(all_users_weighted_points)
token_reward = season_user_pool × share_pct
Claim window: 30 days after snapshot via EIP-712 signature on-chain.
Season Token Pool
| Season | Epochs | User Pool | MM Pool |
|---|---|---|---|
| S1 | 1–4 | 35,000,000 | 20,000,000 |
| S2 | 5–8 | 25,000,000 | 16,000,000 |
| S3 | 9–12 | 20,000,000 | 13,000,000 |
| S4 | 13–16 | 20,000,000 | 13,000,000 |
| S5 | 17–20 | 20,000,000 | 13,000,000 |
| S6 | 21–24 | 30,000,000 | 25,000,000 |
Authentication
Protected endpoints require a JWT Bearer token:
Authorization: Bearer <token>
API Endpoints
Public Endpoints (No Auth Required)
| Method | Endpoint | Description |
|---|---|---|
| GET | /epochs | List all epochs |
| GET | /points/earn-level-config | Get Earn Level configuration |
| GET | /points/seasons | List all seasons |
| GET | /points/leaderboard | Epoch cumulative leaderboard |
| GET | /points/leaderboard/daily | Daily points increment leaderboard |
Protected Endpoints (JWT Required)
| Method | Endpoint | Description |
|---|---|---|
| GET | /points | Get user points summary |
| GET | /points/history | Get points history |
| GET | /points/tier | Get user tier info |
| GET | /points/earn-quota | Get Earn Level quota info |
| POST | /points/simulate | Simulate points for a trade |
| GET | /points/distribution/:season_id | Get season token distribution |
| POST | /points/claim/:distribution_id | Claim season tokens (EIP-712) |