Skip to main content

Earn Level Quota

Returns the authenticated user's current Earn Level status and estimated season token share.

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

This endpoint takes no query parameters; it always evaluates the current active epoch (an epoch query parameter is ignored).

Errors: 401 with a plain-text body (missing bearer token / invalid session) when the session token is missing or invalid.

Response​

{
"earn_level": 2,
"earn_level_weight": 12,
"total_points": "15000.00",
"points_to_next_level": "35000.00",
"next_level": 3,
"next_level_weight": 25,
"estimated_share_pct": "0.000000",
"season_pool_tokens": 35000000
}

estimated_share_pct is currently always "0.000000" — share estimation depends on the season snapshot engine, which is not implemented.

Response Fields​

FieldTypeDescription
earn_levelintCurrent Earn Level (0–5)
earn_level_weightintDistribution weight for current level
total_pointsDecimalTotal points accumulated in the current active epoch
points_to_next_levelDecimalPoints needed to reach the next level; "0.00" at L5
next_levelintNext Earn Level number; at L5 it equals earn_level (5), never null
next_level_weightintWeight at next level; at L5 it equals earn_level_weight (120), never null
estimated_share_pctstringEstimated share of season token pool; currently always "0.000000"
season_pool_tokensintuser_pool_tokens of the active season with the highest season_no; 0 if no season is active

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.rocky.exchange"
SESSION_TOKEN = "your_session_token" # from POST /v1/wallet/verify

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

est_tokens = float(data["estimated_share_pct"]) * data["season_pool_tokens"]
print(f"Earn Level: L{data['earn_level']} (weight={data['earn_level_weight']})")
print(f"Estimated tokens: {est_tokens:,.0f}")