系统架构
VenueHub、Gateway、跟单执行与独立签名面
3 min read2026-10-26
一句话
Sharpside 是 Venue 一等公民 的跟单系统。数据采集与绩效在 venue-hub,用户与鉴权在 account,跟随关系在 follow,执行编排在 copier,Deposit Wallet 签单在独立 signer,对外聚合经 gateway。用户端和运营台是 Next.js(web-ui / admin-ui)。
当前产品主路径是 Deposit Wallet 跟单和手动单。已关闭的能力见 已下架的能力。
服务拓扑
┌──────────────────┐ ┌──────────────┐ ┌─────────────┐
│ apps/web-ui │────▶│ gateway │────▶│ account │
│ apps/admin-ui │ │ (BFF) │ │ follow │
│ apps/tg-bot │ └──────────────┘ │ copier ────┼──▶ signer
└──────────────────┘ │ venue-hub │
└─────────────┘
│
Postgres
apps/tg-bot 直连 account / follow / venue-hub,不经 gateway。apps/daemon 仍在仓库里,产品侧不再派发新单。
模块职责
| 模块 | 职责 |
|---|---|
crates/venues/* | Venue trait、Polymarket adapter |
services/venue-hub | ingest、mapping、identity、绩效物化 |
services/account | 用户、JWT、订阅、Session 授权、邀请档 |
services/follow | 跟随 CRUD。新建默认 active=false,恢复后才接信号 |
services/copier | 消费信号、风控、调用 signer、记录跟单结果 |
services/signer | 用 Session Key 签单并提交。跟单 builderCode 只在这里盖。提现由用户 owner 在浏览器签 |
apps/web-ui / apps/admin-ui | 用户端与运营台 |
apps/tg-bot | Deposit Wallet 路径的 Telegram 命令面 |
设计原则
- 主路径不自建链上索引 — 尽量用 Venue 官方或已接入的数据源。
- Venue 可插拔 — 新平台实现 trait 并注册。当前可执行的是 Polymarket。
- 执行与发现分离 — 排行榜和绩效可以单独演进;跟单可以 dry-run。
- 密钥边界 — 业务服务不持用户的 owner 私钥。
signer只持有 Session Key,这把钥不能转出 pUSD。
跟单执行细节见 跟单执行。Venue 见 Venue 设计。签名面见 签名面。
产品操作:能做什么。