Points Balance
Returns the authenticated user's points summary for a given epoch.
GET /points
Authorization: Bearer <token>
Aliases: GET /points/balance, GET /points/summary
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
epoch | integer | No | Epoch number; defaults to the current active epoch |
Response
{
"user_address": "0xAbCd...1234",
"epoch_number": 3,
"epoch_status": "active",
"trading_points": "1250.50",
"pnl_points": "340.20",
"holding_points": "85.00",
"referral_points": "20.00",
"referral_code": "AXBLADE2026",
"staking_points": "0.00",
"total_points": "1695.70",
"tier": "T2",
"tier_multiplier": "1.5",
"earn_level": 1,
"earn_level_weight": 8,
"earn_level_points_to_next": "8304.30",
"rank": 142,
"trading_volume": "2500000.00",
"trade_count": 47,
"referral_count": 2,
"updated_at": "2026-04-15T12:30:00Z"
}
New users with no activity return all point fields as "0.00" and rank as null.
Response Fields
| Field | Type | Description |
|---|---|---|
user_address | string | User's wallet address |
epoch_number | int | Epoch the data belongs to |
epoch_status | string | Epoch status (pending / active / ended / settled) |
trading_points | Decimal | Trading Points (TP) accumulated this epoch |
pnl_points | Decimal | PnL Points (PP) accumulated this epoch |
holding_points | Decimal | Holding Points (HP) accumulated this epoch |
referral_points | Decimal | Referral Points (RP) accumulated this epoch |
referral_code | string | null | User's referral code; null if not created |
staking_points | Decimal | Staking Points (SP) accumulated this epoch |
total_points | Decimal | Sum of all point types |
tier | string | Current tier: T1 / T2 / T3 |
tier_multiplier | string | Tier rate multiplier (e.g., "1.5") |
earn_level | int | Current Earn Level (0–5) |
earn_level_weight | int | Distribution weight for current level |
earn_level_points_to_next | Decimal | Points needed to reach next Earn Level; "0.00" at L5 |
rank | int | null | Epoch leaderboard rank; null if not ranked |
trading_volume | Decimal | Total trade volume this epoch (USD) |
trade_count | int | Number of trades this epoch |
referral_count | int | Number of referees |
updated_at | string | Last update timestamp (ISO 8601) |
Code Examples
Python
import requests
BASE_URL = "https://api.primit.io/api/v1"
JWT_TOKEN = "your_jwt_token"
resp = requests.get(
f"{BASE_URL}/points",
headers={"Authorization": f"Bearer {JWT_TOKEN}"},
)
data = resp.json()
print(f"Total points: {data['total_points']} (Epoch {data['epoch_number']})")
print(f"Tier: {data['tier']} (×{data['tier_multiplier']}), Earn Level: L{data['earn_level']}")
print(f"Rank: {data['rank']}")