sapphire-hyperliquid
Hyperliquid L1 perpetuals trading bot — EIP-712 signed orders, 150+ assets
来源信息
- 仓库
- arigatoexpress/Sapphire
- 最近来源活动
- 2026年7月29日 15:50
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 1
- 分支
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
文件资源管理器
10 个文件正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- sapphire-hyperliquid
- description
- Hyperliquid L1 perpetuals trading bot — EIP-712 signed orders, 150+ assets
- type
- service
- runtime
- python
- deploy_target
- rari2
- dependencies
- ["sapphire-core"]
- entry_point
- src/hyperliquid_bot/main.py
- test_command
- pytest tests/
# services/hyperliquid
Trading bot for Hyperliquid (`https://api.hyperliquid.xyz`) — a high-performance L1 DEX for perpetuals.
## Public Feed Signal Mode
`src/hyperliquid_bot/public_feed.py` is the Sapphire signal-only public feed.
It subscribes to public `trades`, `bbo`, and `l2Book` WebSocket feeds for
configured symbols and emits only read-only event-bus signals:
- `hyperliquid.trade`
- `hyperliquid.imbalance`
- `hyperliquid.book.thin`
It is blocked unless `SAPPHIRE_HYPERLIQUID_LIVE=1` and still never reads wallet
keys, never calls authenticated endpoints, and never submits trades.
Dry-run tool checks:
```bash
echo '{"action":"status"}' | /usr/local/bin/python3 plugins/claw-sapphire/tools/hyperliquid.py
echo '{"action":"subscribe-test"}' | /usr/local/bin/python3 plugins/claw-sapphire/tools/hyperliquid.py
```
## Hyperliquid Facts
- REST: `https://api.hyperliquid.xyz` (no API key, wallet signs orders)
- Testnet: `https://api.hyperliquid-testnet.xyz`
- WebSocket: `wss://api.hyperliquid.xyz/ws`
- 150+ perpetual assets
- Authentication: EIP-712 signed actions via wallet private key
- No custody: fully on-chain execution
## Architecture
```
client.py — Async HTTP client (market data + signed order execution)
main.py — Bot loop, signal execution, pubsub subscription
```
## Credentials
Store in Secret Manager as `hyperliquid-private-key`:
- `HYPERLIQUID_PRIVATE_KEY` — Ethereum wallet private key (0x-prefixed)
- `HYPERLIQUID_TESTNET` — set to `true` for testnet (default: false)
- `HYPERLIQUID_SIZE_USD` — default position size in USD (default: 100)
## Deploy to rari2
```bash
# Copy to rari2
rsync -av services/hyperliquid/ rari@100.x.x.y:/home/rari/Sapphire/services/bot-hyperliquid/
# Install deps in isolated venv
ssh rari@100.x.x.y "cd ~/Sapphire/services/bot-hyperliquid && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt"
# Install systemd service
ssh rari@100.x.x.y "sudo systemctl enable --now hyperliquid-trading.service"
```
## Target Pairs
BTC, ETH, SOL, HYPE (native token), ZEC — same signals as Lighter bot but routed here when configured.
在 GitHub 查看