Simulate Points
Pre-calculates the points a trade would earn without writing any data.
POST /points/simulate
Authorization: Bearer <token>
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
epoch | integer | No | Epoch number; defaults to current |
Request Body
{
"trade_amount": 5000.00,
"order_type": "maker",
"tier": 2
}
| Field | Type | Required | Description |
|---|---|---|---|
trade_amount | decimal | Yes | Notional trade value (USD) |
order_type | string | Yes | maker or taker |
tier | integer | No | Override tier (1 / 2 / 3); defaults to user's current tier |
Response
{
"tp_estimate": "7.50",
"tp_effective": "6.00",
"hp_estimate": "0.00",
"total_estimate": "6.00",
"tier": "T2",
"role_rate": "1.5",
"daily_cap_status": {
"used": "4320.00",
"cap": 5000,
"remaining": "680.00"
},
"weekly_cap_status": {
"used": "18500.00",
"cap": 25000,
"remaining": "6500.00"
}
}
hp_estimateis always"0.00"(placeholder for a future phase).
Response Fields
| Field | Type | Description |
|---|---|---|
tp_estimate | Decimal | Raw TP before cap limits |
tp_effective | Decimal | TP after applying daily/weekly caps |
hp_estimate | Decimal | HP estimate (currently always "0.00") |
total_estimate | Decimal | Total effective points from this trade |
tier | string | Tier used in calculation |
role_rate | string | Maker/taker rate applied |
daily_cap_status.used | Decimal | TP used today |
daily_cap_status.cap | int | Daily TP cap (5,000) |
daily_cap_status.remaining | Decimal | Remaining daily capacity |
weekly_cap_status.used | Decimal | TP used this week |
weekly_cap_status.cap | int | Weekly TP cap (25,000) |
weekly_cap_status.remaining | Decimal | Remaining weekly capacity |
TP Calculation
TP_raw = (trade_amount / 1000) × tier_rate
TP_effective = min(TP_raw, daily_remaining, weekly_remaining)
| Trade | Role | Tier | TP |
|---|---|---|---|
| $1,000 | Maker | T1 | 1.2 |
| $5,000 | Maker | T2 | 7.5 |
| $10,000 | Taker | T3 | 13.0 |
Code Examples
Python
import requests
BASE_URL = "https://api.primit.io/api/v1"
JWT_TOKEN = "your_jwt_token"
resp = requests.post(
f"{BASE_URL}/points/simulate",
headers={"Authorization": f"Bearer {JWT_TOKEN}"},
json={"trade_amount": 5000.00, "order_type": "maker"},
)
data = resp.json()
print(f"Estimated TP: {data['tp_estimate']} → effective: {data['tp_effective']}")
print(f"Daily cap remaining: {data['daily_cap_status']['remaining']}")