Skip to main content

Earn Level Quota

Returns the authenticated user's current Earn Level and their Earn product subscription quota — the share of daily subscription capacity granted by the level weight. This weight does not affect season token distribution.

GET /points/earn-quota
Authorization: Bearer <token>

Query Parameters

ParameterTypeRequiredDescription
epochintegerNoEpoch number; defaults to current

Response

{
"success": true,
"data": {
"level": "L2",
"weight": 12,
"total_raw_points": "15000.00",
"next_level_points_needed": "35000.00",
"platform_total_effective_weight": 26400,
"my_share_pct": "0.000454545454",
"level_updated_at": "2026-04-16T00:00:05Z",
"products": [
{
"product_id": "d4c3b2a1-...",
"product_name": "USDT Flexible",
"capacity": "1000000.00",
"concentration_cap_pct": "0.05",
"quota_today": "454.55",
"concentration_cap_applied": false
}
],
"cross_product_quota_today": "1363.65"
},
"error": null,
"timestamp": 1745280000
}

Response Fields

FieldTypeDescription
levelstringCurrent Earn Level in "L0""L5" form
weightintQuota weight for the current level
total_raw_pointsDecimalRaw total points this epoch (TP+PP+HP+RP, unweighted)
next_level_points_neededDecimalPoints still needed to reach the next level; "0" at L5
platform_total_effective_weightint64Platform-wide sum of all users' level weights (from today's snapshot; 0 if the daily snapshot has not run yet)
my_share_pctDecimalUser's share of Earn quota weight: weight / platform_total_effective_weight
level_updated_atstringWhen the user's level was last refreshed (daily at UTC 00:00)
productsarrayPer-product quota breakdown; empty when no Earn products are configured
cross_product_quota_todayDecimalAggregate cross-product quota: max single-product quota × cross-product multiplier (default 3)

products[]

FieldTypeDescription
product_idstringEarn product UUID
product_namestringProduct display name
capacityDecimalProduct's total daily subscription capacity
concentration_cap_pctDecimalPer-user concentration cap as a fraction of capacity (e.g., "0.05" = 5%)
quota_todayDecimalUser's effective quota today: min(my_share_pct × capacity, capacity × concentration_cap_pct)
concentration_cap_appliedboolWhether the concentration cap was the binding limit

Earn Level Weights

LevelPoints RangeWeight
L00 – 9994
L11,000 – 9,9998
L210,000 – 49,99912
L350,000 – 199,99925
L4200,000 – 499,99960
L5500,000+120

Code Examples

Python

import requests

BASE_URL = "https://api.prex.world/api/v1"
JWT_TOKEN = "your_jwt_token"

resp = requests.get(
f"{BASE_URL}/points/earn-quota",
headers={"Authorization": f"Bearer {JWT_TOKEN}"},
)
data = resp.json()["data"]

print(f"Earn Level: {data['level']} (weight={data['weight']})")
print(f"Quota share: {data['my_share_pct']} of platform weight {data['platform_total_effective_weight']}")
for p in data["products"]:
capped = " (capped)" if p["concentration_cap_applied"] else ""
print(f" {p['product_name']}: quota today {p['quota_today']}{capped}")
print(f"Cross-product quota today: {data['cross_product_quota_today']}")