加密货币量化策略租赁平台 · API / Agent / CLI / Python 策略引擎接入指南
所有 API 均以 JSON 格式请求与响应,基础地址 https://novaalpha.vip/api。除公开接口外,均需在请求头携带 Authorization: Bearer <token> 或 X-API-Key: <key>。
| 模块 | 前缀 | 说明 | 鉴权 |
|---|---|---|---|
| 认证与用户 | /api/auth | 注册 / 登录 / 重置密码 / Google OAuth | 混合 |
| 策略市场 | /api/strategies | 策略列表 / 详情 / 分类 | 公开 |
| 订阅管理 | /api/subscriptions | 创建 / 暂停 / 恢复 / 取消 / 续费 | 用户 JWT |
| 交易所 API Key | /api/apikeys | OKX / Binance 密钥管理(加密存储) | 用户 JWT |
| 交易与仪表盘 | /api/trading | 仪表盘汇总 / 交易记录 / 持仓 / 收益曲线 | 用户 JWT |
| 支付与钱包 | /api/pay | 余额 / 充值 / ClawPay USDT 回调 | 混合 |
| Agent 接口 | /api/agent | Agent 注册 / 代订阅 / 代交易 | API Key |
| 客服问答 | /api/lookhere | LookHere AI 问答代理 | 公开 |
| 管理后台 | /api/admin | 策略上下架 / 用户管理 / 数据统计 | Admin |
完整端点列表与请求/响应示例见 API 参考。
NovaAlpha 支持三种身份,对应三种鉴权方式:
用户邮箱/Google 登录后获取,7 天有效。用于 Web 界面与订阅管理。
Authorization: Bearer <jwt>
nva_ 开头,长期有效。仅 Agent 可用,用于 CLI / 脚本调用。
X-API-Key: nva_xxxxxxxx
跳转 Google 授权后回调换取 JWT,适合无密码登录。
GET /api/auth/oauth/redirect
curl -X POST https://novaalpha.vip/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"secret"}'
# → { "success": true, "data": { "token": "eyJ...", "user": {...} } }
curl -X POST https://novaalpha.vip/api/agent/register \
-H "Content-Type: application/json" \
-d '{"name":"我的量化Agent"}'
# → { "success": true, "data": { "api_key": "nva_xxx...", "email": "auto@kakan.email" } }
未提供 email 时平台会通过 kakan.email 自动分配一个邮箱。
POST /api/pay/wallet/deposit 创建 ClawPay USDT 充值订单 → 扫码支付到账。POST /api/apikeys(建议只开交易权限,关闭提现)。GET /api/strategies → POST /api/subscriptions(自动扣月费、启动策略进程)。GET /api/trading/dashboard 查看总盈亏 / 活跃策略 / 持仓。# 1. 充值 50 USDT
curl -X POST https://novaalpha.vip/api/pay/wallet/deposit \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"amount_usdt": 50}'
# → { "data": { "order_no": "NVA...", "pay_url": "https://clawpay.click/..." } }
# 2. 添加 OKX API Key
curl -X POST https://novaalpha.vip/api/apikeys \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"exchange":"okx","label":"主账号","api_key":"...","api_secret":"...","passphrase":"..."}'
# 3. 订阅马丁格尔策略(strategy_id=1, apikey_id=1)
curl -X POST https://novaalpha.vip/api/subscriptions \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"strategy_id":1,"apikey_id":1}'
# 4. 查看仪表盘
curl https://novaalpha.vip/api/trading/dashboard \
-H "Authorization: Bearer <jwt>"
| 项目 | 费用 | 说明 |
|---|---|---|
| 马丁格尔策略 | 免费 | 引流策略,体验零成本 |
| 付费策略 | $29.9 / 月 | 每个策略独立订阅,预存扣费 |
| 利润分成 | 10% | 按策略月度利润计算,月末结算 |
| 支付方式 | USDT | ClawPay USDT 网关(BSC 链) |
余额不足时策略自动暂停;月末利润分成从余额扣除,不足部分顺延。
策略由独立的 Python 子进程执行(engine/runner.py),Node.js 后端通过 child_process.spawn 调用,参数全部通过环境变量传递。
def run(exchange, symbol, timeframe, params):
"""
:param exchange: ccxt 实例(已配置 API Key)
:param symbol: "BTC/USDT"
:param timeframe: "1h"
:param params: dict,策略参数
:return: {"action": "buy"|"sell"|"hold", "amount": float, "price": float, "reason": str}
"""
策略开发规范详见 engine/strategies/README.md;内置示例:free/martin_ge.py、trend/ma60_rebound.py。
{
"error": {
"message": "余额不足,需 29.9 USDT,当前余额 5 USDT",
"type": "insufficient_balance"
}
}
| 状态码 | 含义 |
|---|---|
| 200 | 成功 |
| 400 | 参数错误(invalid_request) |
| 401 | 未授权 / Token 无效(authentication_error) |
| 402 | 余额不足(insufficient_balance) |
| 403 | 禁止访问 / 权限不足 |
| 404 | 资源不存在(not_found) |
| 409 | 冲突(如已订阅该策略,already_subscribed) |
| 429 | 请求过于频繁(限流) |
| 500 | 服务器错误(server_error) |
| 502 | 上游网关错误(gateway_error) |
insufficient_balance — 余额不足strategy_not_found — 策略不存在或已下架apikey_not_found — 交易所 API Key 不存在或已禁用already_subscribed — 已订阅该策略subscription_cancelled — 订阅已取消invalid_credentials — 邮箱或密码错误email_taken — 邮箱已注册gateway_error — ClawPay / 交易所网关错误