Market Operations
Polymarket 市场与持仓
按事件、token、概率、edge、敞口和奖励状态组织,后端由 Gamma、Data API 和 CLOB 统一聚合。
| 市场 | 概率 | Fair | Edge | 敞口 | 动作 |
|---|
Wallet Activity
交易记录
按接入钱包拉取 Polymarket activity,并支持按日期、策略和托管密钥筛选;默认展示最近 30 天。
Vault Curves
账户余额 / PnL 曲线
Unified Activity
钱包 / 设备交易活动
| 时间 | 市场 | Outcome | 方向 | Shares | 价格 | 金额 | 策略 | 平台 | Tx |
|---|
Closed Positions
已结算仓位
| 日期 | 结果 | 市场 | Total Traded | Amount Won | PnL |
|---|
Custody Onboarding
Polymarket 接入
用户提交交易凭据后由 FastAPI 加密入库;前端只保留脱敏状态,所有下单走后端审计链路。
Admin Console
用户审核、角色与权限
注册申请必须由管理员批准后才能登录;角色决定接入、下单、审核和系统配置权限。
Signup Review
注册审核队列
| 申请人 | 机构 | 角色 | 钱包 | 操作 |
|---|
RBAC Matrix
角色权限
Access Control
IP 白名单
| IP | 状态 | 创建时间 | 创建人 | 操作 |
|---|
External API
数据库 API Key
| 名称 | Key 前缀 | 允许 IP | 最近使用 | 操作 |
|---|
Users
用户状态
| 用户 | 角色 | 状态 | 到期时间 | 凭据 | 最近活动 | 操作 |
|---|
Trading Overview
Polymarket 托管交易接入概述
面向投资用户、交易员和管理员,说明账户接入、CLOB 交易、实时数据、策略上传、风控审计和平台权限的标准流程。
快速开始
平台采用静态前端 + FastAPI + SQLite 架构,前端展示实时概率、订单簿、交易记录和托管状态,后端负责密钥加密、身份验证、Polymarket API 编排与审计。
接入说明
Hive Stream 的托管凭据分为两类:Polymarket CLOB L2 API 凭据用于查询、下单和撤单;Ethereum encrypted keystore 用于签名账户动作。前端只展示脱敏字段,后端把托管包加密保存到 SQLite,bot 后续从服务端导出策略兼容配置。
| 字段 | 来源 / 填写方式 | 用途 | 默认建议 |
|---|---|---|---|
| 密钥标签 | 人工填写,如主交易账户、做市账户或只读同步账户 | 区分多个托管密钥和曲线颜色 | 包含环境、账户用途和权限范围 |
| Signer 地址 | 由 encrypted keystore JSON 自动解析,表单不可手动输入 | L1 签名、创建/派生 CLOB L2 凭据 | 以 keystore address 为准 |
| Funder / Deposit Wallet | EOA 模式自动等于 signer;Proxy/Safe/Deposit Wallet 模式填写实际 Polymarket funder | Data API 查询、CLOB 下单 funder | signature type 3 使用 Polymarket deposit wallet,不要填 signer |
| 签名类型 | 按 Polymarket 钱包类型选择 EOA、Proxy 或 Safe 模式 | 告诉 CLOB 客户端账户签名模式 | 与实际账户类型保持一致,不确定时先只读校验 |
| CLOB API Key | 默认由服务器用 keystore signer 创建或派生 | L2 认证请求头 | 独立为托管平台生成,不复用个人调试 key |
| CLOB API Secret | 与 CLOB API Key 成套生成 | HMAC 签名材料 | 只保存在服务端密文托管包中 |
| CLOB API Passphrase | 与 CLOB API Key 成套生成 | L2 认证材料 | 与 key/secret 成套轮换 |
| Encrypted keystore JSON | 使用“生成加密配置”弹窗或受控生产导入工具生成 | 保存签名私钥的加密容器 | 只提交 JSON keystore,不提交私钥明文 |
| Keystore 口令 | 用户输入或受控 passphrase 文件导入 | 托管下单时解密 keystore | 实盘托管需要保存;只读同步可留空 |
| Builder Code | 可选订单来源标识 | 订单 attribution / builder fee 场景 | 没有明确需求时留空 |
| 链 ID | 选择 Polymarket 所在网络 | CLOB 客户端网络选择 | Polygon Mainnet 137 |
| 权限范围 | read-trade 或 market-maker | 控制平台策略和导出能力 | 先用 read-trade,做市账户再升级 |
托管凭据导入流程
新增凭据时,先用“生成加密配置”把私钥转换为 encrypted keystore JSON,Signer 地址会从 keystore 自动解析。EOA 模式下 Funder 自动等于 signer;POLY_1271 / Deposit Wallet 模式必须填写实际 Polymarket deposit wallet。默认由服务器通过 L1 signer 自动创建或派生 CLOB L2 三件套;取消自动生成时才需要手动填写 API key、secret 和 passphrase。导入成功后表单会清空,右侧托管密钥库会显示脱敏 API key、keystore 地址、策略标签、初次导入时间和校验状态。
私钥加密如何工作
前端的“生成加密配置”使用浏览器内的 ethers 钱包加密流程,把私钥转换为 Ethereum V3 keystore JSON;私钥明文不会写入表单结果,也不会保存到服务器。服务器只接收 encrypted keystore JSON,并使用服务端 master key 再加密整个托管包后写入 SQLite。
需要实盘托管下单时,平台还必须能解密 keystore,因此 keystore 口令会作为服务器端密文保存。这个模式是托管交易模型,不是纯本地签名模型;安全边界依赖 RBAC、文件权限、master key、审计日志和不记录明文 secret 的运行约束。
| 安全边界 | 说明 |
|---|---|
| 不保存私钥明文 | 服务器保存的是 encrypted keystore,不是 raw private key。 |
| 敏感字段不回填 | 编辑弹窗只显示脱敏 API key 和 keystore 地址,API secret/passphrase 不回填到前端。 |
| 服务器二次加密 | CLOB 凭据、keystore JSON、keystore 口令统一进入 secret_ciphertext。 |
| 默认不开实盘 | 密钥导入后 live 状态为 STOPPED,需要管理员选择密钥和策略后手动开启。 |
| 审计优先 | 交易记录、closed positions、余额快照和 runtime state 都按 credential_id 入库。 |
身份验证
交易请求分为平台登录鉴权和 Polymarket CLOB 鉴权。平台侧用 RBAC 控制接入、托管下单、审核和风控查看;CLOB 侧使用 L1 签名派生 L2 凭据,后续下单和查询走 L2 请求头。
| 层级 | 方法 | 用途 |
|---|---|---|
| L1 | EIP-712 签名 | 创建或派生 CLOB API 凭证 |
| L2 | HMAC-SHA256 | 订单、撤单、成交和账户查询 |
签名类型
接入表单需要记录钱包类型、签名类型和 funder 地址。私钥明文只用于本地生成 Ethereum keystore JSON;平台不保存私钥明文。服务器托管模式会加密保存 CLOB L2 凭据和 keystore 口令,供 bot 拉取配置。
{
"signature_type": 2,
"wallet_address": "0x signer...",
"funder_address": "0x deposit wallet...",
"keystore_json": {"version": 3, "crypto": "..."},
"scope": "read-trade"
}
市场数据
总览页通过 FastAPI 聚合 Polymarket 5m、15m、1h orderbook depth/history、Chainlink BTC/USD 和策略 phat 序列。接口不可用时,页面明确显示 LOCAL SNAPSHOT。
GET /api/overview
GET /api/signals
GET /api/polymarket/markets
GET /api/polymarket/orders
GET /api/polymarket/trades
GET /api/bot-integrations
订单生命周期
策略只上传意图和审计字段,后端负责价格、数量、tick size、最小订单、权限、签名模式和风控闸门校验。所有托管下单请求必须写入审计日志。
风控与审计
钱包 activity 记录 conditionId、outcome、shares、price、交易哈希、策略名和凭据;已结算仓位来自 Data API closed-positions,按结算时间入库并统计 realized PnL。管理员可按角色查看或导出。
接口
POST /api/auth/login
POST /api/auth/register
GET /api/me
PATCH /api/me
POST /api/polymarket/credentials
POST /api/bot-integrations/credentials
POST /api/bot-integrations/export
POST /api/bot-integrations/runtime
GET /api/overview
POST /api/strategy/trades/upload
POST /api/strategy/orders/upload
SQLite 表
users, roles, permissions, user_roles,
signup_reviews, polymarket_credentials,
polymarket_orders, strategy_trade_records,
strategy_order_records, account_snapshots,
position_records, bot_runtime_state,
bot_credential_packages, audit_logs, user_sessions