用户积分系统 (User Points System)
Version: v1.1 Last Updated: 2026-01-20
用户积分系统是 AXBlade 激励机制的核心,旨在奖励活跃交易者、忠实用户以及邀请新用户的贡献者。
积分获取途径
五种积分类型
| 积分类型 | 计算公式 | 触发时机 | 说明 |
|---|---|---|---|
| 交易积分 | 交易量 × 0.0001 × Tier倍数 | 交易完成 | 基于交易量,有Tier加成 |
| 盈亏积分 | max(已实现盈利, 0) × 0.001 × Tier倍数 | 仓位平仓 | 仅盈利计入积分 |
| 持仓积分 | 仓位价值 × 0.00001 × 小时数 × Tier倍数 | 每小时 | 鼓励长期持仓 |
| 推荐积分 | 被推荐人交易量 × 0.00005 | 被推荐人交易 | 推荐人获得积分 |
| 质押积分 | 质押金额 × 0.0002 × 天数 | 每天 | 质押或EARN订阅 |
Tier 等级体系
| 等级 | 交易量范围 (USDT) | 积分倍数 | 目标用户 |
|---|---|---|---|
| T1 | $0 - $99,999.99 | 1.0x | 新手交易者 |
| T2 | $100,000 - $499,999.99 | 1.1x | 活跃交易者 |
| T3 | $500,000 - $999,999.99 | 1.3x | 专业交易者 |
| T4 | $1,000,000+ | 1.5x | VIP/机构用户 |
积分用途
- 等级晋升: 累积积分可提升账户等级,解锁更低的手续费率和更高的提现限额
- 权益兑换: 支持使用积分兑换平台周边、VIP 服务或其他生态奖励
- 活动门票: 参与特定交易大赛或空投活动的门槛条件
Epoch 周期系统
- 周期: 支持可配置周期 (7/10/15/30天)
- 状态流转:
pending→active→ended→settled - 独立计算: 每个 Epoch 独立计算和结算
- 历史查询: 支持历史 Epoch 数据查询
API 接口
快速参考
| 功能 | 方法 | 路径 | 认证 |
|---|---|---|---|
| 获取积分 | GET | /api/v1/points | ✅ 需要 |
| 排行榜 | GET | /api/v1/leaderboard | ❌ 公开 |
| Epoch 列表 | GET | /api/v1/epochs | ❌ 公开 |
详细接口定义请参考 积分 API 文档。
验证与示例
获取 Epochs 列表
curl https://api.8a27.xyz/api/v1/epochs
响应示例:
{
"success": true,
"data": [
{
"id": 1,
"label": "Epoch 1: 2026.1.14 - 2026.2.13",
"startDate": "2026-01-14",
"endDate": "2026-02-13",
"status": "active"
},
{
"id": 2,
"label": "Epoch 2: 2026.2.14 - 2026.3.15",
"startDate": "2026-02-14",
"endDate": "2026-03-15",
"status": "pending"
}
],
"error": null,
"timestamp": 1768890350
}
获取个人积分
需替换有效 Token:
curl https://api.8a27.xyz/api/v1/points \
-H "Authorization: Bearer <YOUR_TOKEN>"
响应示例:
{
"success": true,
"data": {
"user_address": "0x29f721b203a9fc9c5dde35a739d8b8e0e4605489",
"epoch_number": 1,
"epoch_status": "active",
"trading_points": "1250.50",
"pnl_points": "800.00",
"holding_points": "350.25",
"referral_points": "200.00",
"staking_points": "100.00",
"total_points": "2700.75",
"tier": "T2",
"tier_multiplier": "1.10",
"trading_volume": "125050.00",
"trade_count": 45,
"rank": 15,
"updated_at": "2026-01-20T10:30:00.000Z"
},
"error": null,
"timestamp": 1768890275
}
获取排行榜
curl "https://api.8a27.xyz/api/v1/leaderboard?type=total&limit=10"
响应示例:
{
"success": true,
"data": {
"epoch_number": 1,
"rank_type": "total",
"entries": [
{
"rank": 1,
"user_address": "0x93ee356f71177f5d924765c5d6ab31d3eaa63b89",
"username": null,
"points": "207.21",
"tier": "T4"
},
{
"rank": 2,
"user_address": "0x0a20b798fccea18dec56a4d71180cb622b98efcc",
"username": "trader_001",
"points": "187.50",
"tier": "T1"
}
]
},
"error": null,
"timestamp": 1768890300
}
技术实现
数据库架构
| 表名 | 用途 |
|---|---|
points_epochs | 存储积分周期配置 |
user_points_summary | 用户积分汇总(每 Epoch) |
points_events | 积分变动流水 |
points_leaderboard | 排行榜缓存 |
trading_tier_config | Tier 等级配置 |
服务架构
┌─────────────────────────────────────────────────────────────────────┐
│ Client Layer │
│ (REST API / WebSocket) │
└────────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ API Handler Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │
│ │ Points API │ │ Admin API │ │ Leaderboard API │ │
│ └──────────────┘ └──────────────┘ └──────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PointsService │
│ • calculate_trading_points() • calculate_pnl_points() │
│ • calculate_holding_points() • calculate_referral_points() │
│ • calculate_staking_points() • refresh_leaderboard() │
└────────────────────────────┬────────────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ PostgreSQL │ │ TimescaleDB │ │ Redis Cache │
└─────────────────┘ └──────────────┘ └─────────────────┘
测试
运行测试脚本
cd backend/tests
python3 test_points_phase1.py
测试覆盖 (16个测试):
- API 可用性和响应结构验证
- Epoch 系统功能测试
- 排行榜查询和排名验证
- Tier 等级系统测试
- 5种积分类型计算验证
- 总积分汇总测试
预期结果:
总测试数: 16
✅ 通过: 16
❌ 失败: 0
通过率: 100.0%
🎉 所有积分测试通过!
注意事项
- 严禁通过刷量、虚假账户等作弊手段获取积分,一经发现将扣除所有违规所得
- 积分周期(Epoch)的具体时间以官方公告为准
- 积分更新为异步计算,交易后可能需要 2-5 秒才能反映在 API 中