构建 standx Python SDK
调研结果
官方现状
StandX 仅提供 REST API + WebSocket API,没有官方 SDK:
- REST:
https://perps.standx.com
- WebSocket:
wss://perps.standx.com/ws-stream/v1
开发者需要自行处理:
- HTTP 请求封装
- WebSocket 连接管理
- JWT 签名认证
- 数据解析和分页
市场需求
没有社区开发的 Python/JS SDK,开发者必须:
- 直接调用 REST API (需要自己写 HTTP 客户端)
- 自己处理签名和认证
- 自己实现 WebSocket 重连和心跳
方案: 构建 standx Python SDK
目标
为 Python 开发者提供简洁易用的 SDK,封装:
- ✅ REST API 调用
- ✅ WebSocket 实时数据
- ✅ JWT 认证签名
- ✅ 常用策略模板
架构设计
┌─────────────────────────────────────────┐
│ standx-python-sdk │
├─────────────────────────────────────────┤
│ StandXClient │
│ ├── REST API │
│ │ ├── market.ticker() │
│ │ ├── market.depth() │
│ │ ├── account.positions() │
│ │ └── order.create() │
│ │ │
│ └── WebSocket │
│ ├── subscribe_price() │
│ ├── subscribe_depth() │
│ └── on_order_update() │
├─────────────────────────────────────────┤
│ Auth │
│ ├── generate_jwt() │
│ └── verify_token() │
├─────────────────────────────────────────┤
│ Strategies (可选) │
│ ├── GridTrading │
│ ├── TrendFollowing │
│ └── MarketMaking │
└─────────────────────────────────────────┘
使用示例
from standx import StandXClient
# 初始化客户端
client = StandXClient(wallet_private_key=\"0x...\")
# 市场数据
ticker = client.market.ticker(\"BTC-USD\")
depth = client.market.depth(\"BTC-USD\", limit=20)
# 账户操作
positions = client.account.positions()
balance = client.account.balance()
# 下单
order = client.order.create(
symbol=\"BTC-USD\",
side=\"buy\",
order_type=\"limit\",
qty=\"0.1\",
price=\"67000\"
)
# WebSocket 实时数据
client.websocket.subscribe_price(\"BTC-USD\")
client.websocket.on_price(lambda price: print(price))
MVP 功能
| 功能 |
优先级 |
| REST API 封装 |
P0 |
| WebSocket 实时行情 |
P0 |
| 认证签名 |
P0 |
| 基础订单操作 |
P0 |
| 策略模板 (网格) |
P1 |
| 策略模板 (趋势) |
P2 |
项目结构
standx-python-sdk/
├── standx/
│ ├── __init__.py
│ ├── client.py # 主客户端
│ ├── market.py # 市场数据
│ ├── account.py # 账户操作
│ ├── order.py # 订单操作
│ ├── websocket.py # WebSocket
│ ├── auth.py # 认证
│ └── strategies/ # 策略模板
│ ├── __init__.py
│ ├── grid.py
│ └── trend.py
├── tests/
├── pyproject.toml
└── README.md
技术选型
- Python: 3.10+
- HTTP: httpx (async support)
- WebSocket: websockets
- 签名: eth_keys / eth_account
行动项
构建 standx Python SDK
调研结果
官方现状
StandX 仅提供 REST API + WebSocket API,没有官方 SDK:
https://perps.standx.comwss://perps.standx.com/ws-stream/v1开发者需要自行处理:
市场需求
没有社区开发的 Python/JS SDK,开发者必须:
方案: 构建 standx Python SDK
目标
为 Python 开发者提供简洁易用的 SDK,封装:
架构设计
使用示例
MVP 功能
项目结构
技术选型
行动项