PhiBao/delta-vault
GitHub: PhiBao/delta-vault
DeltaVault 是一个基于 Solana 的 DeFi 金库,通过跨对资金费率套利在永续期货市场实现自动化被动收益。
Stars: 0 | Forks: 0
# △ DeltaVault
**Pacifica 上的自动化资金费率收益协议**
DeltaVault 是一个 DeFi 金库,通过利用 [Pacifica](https://pacifica.fi) 上永续期货市场的资金费率分歧来产生收益 —— Pacifica 是一个在 Solana 上运行的高性能永续 DEX,延迟低于 10 毫秒,支持 75+ 个市场。
## 🎯 问题
永续期货具有 **资金费率机制**:每 8 小时,持仓者根据市场失衡情况支付或收取资金费率。这些费率在不同资产之间存在差异,代表了一种可利用的持续收益来源。
大多数交易者忽略了跨资产的资金费率价差。DeltaVault 会自动捕捉这一阿尔法收益。
## 💡 解决方案
DeltaVault 运行 **跨对资金费率套利** 策略:
1. **监控** — 持续扫描 Pacifica 上全部 75+ 个永续市场,获取资金费率
2. **检测** — 动态对所有资产对按资金价差排序,寻找最佳套利机会
3. **执行** — 开立反向永续仓位:做多低费率资产,做空高费率资产
4. **收割** — 两个仓位每 8 小时均获得资金支付,并在价差变化时自动再平衡
### 关键创新:永续 vs 永续(无需现货)
与传统资金套利(做空永续 + 做多现货)不同,DeltaVault 使用 **相关永续之间的反向资金费率**。这意味着:
- ✅ 100% 在 Pacifica 上运行 — 无需外部流动性
- ✅ 资本高效 — 两个仓位均使用杠杆
- ✅ 完全自动化 — 无需手动管理仓位
- ✅ 市场中性 — 盈利来自价差而非价格方向
- ✅ 一键 onboarding — 通过 [Privy](https://privy.io) 使用邮箱/Google 登录(黑客松赞助方)
## 🏗️ 架构
```
┌─────────────────────────────────────────────────┐
│ Frontend (React) │
│ Dashboard · Heatmap · Charts · Controls │
│ Risk Dashboard · Backtester · Sentiment │
└─────────┬───────────────────┬────────────────────┘
│ REST API │ SSE (real-time)
┌─────────▼───────────────────▼────────────────────┐
│ Backend (FastAPI) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Funding │ │ Strategy │ │ Trade │ │
│ │ Monitor │→ │ Engine │→ │ Executor │ │
│ └──────────┘ └──────────┘ └──────────────┘ │
│ ↕ ↕ ↕ │
│ ┌──────────────────────────────────────────┐ │
│ │ Vault Manager (Controller) │ │
│ └──────────────────────────────────────────┘ │
│ ↕ ↕ │
│ ┌──────────┐ ┌──────────────────────────┐ │
│ │ Elfa AI │ │ Backtest Engine │ │
│ │ Client │ │ Risk Metrics │ │
│ └──────────┘ └──────────────────────────┘ │
└─────────┬───────────────────┬─────────────────────┘
│ REST + Signing │ WebSocket
┌─────────▼───────────────────▼─────────────────────┐
│ Pacifica DEX (Solana) │
│ 75+ Markets · <10ms Latency · Up to 50x Leverage │
└─────────────────────────────────────────────────────┘
```
### 后端模块
| 模块 | 文件 | 用途 |
|------|------|------|
| **API 客户端** | `pacifica/__init__.py` | 签名 REST 调用、订单执行、市场数据 |
| **WebSocket 客户端** | `pacifica/ws.py` | 从 Pacifica WS 实时流式获取价格与资金费率 |
| **资金监控** | `vault/funding.py` | 实时费率追踪、机会检测 |
| **策略引擎** | `vault/strategy.py` | 仓位 sizing、再平衡逻辑、基于情绪加权的 sizing |
| **交易执行** | `vault/executor.py` | 具备回滚安全性的订单执行 |
| **金库管理** | `vault/manager.py` | 中央控制器、盈亏追踪、自动循环 |
| **Elfa AI 客户端** | `elfa/__init__.py` | 来自 Elfa AI 的实时社交情绪 |
| **API 服务器** | `main.py` | 25+ 个 REST 端点 + 前端用的 SSE |
### 前端组件
| 组件 | 用途 |
|------|------|
| **WalletButton** | 支持邮箱、Google、Twitter 或钱包的 Privy 登录/登出 |
| **VaultOverview** | 动画化资产、年化收益率、盈亏统计 + 存款/取款/启动/停止(钱包控制) |
| **HowItWorks** | 为评审/用户展开的可折叠说明 |
| **PerformanceChart** | 资产与年化收益率时间序列(Recharts) |
| **RiskDashboard** | 最大回撤、夏普比率、敞口、胜率仪表盘 |
| **BacktestPanel** | 带收益率曲线的历史策略回测 |
| **SentimentPanel** | Elfa AI 社交情绪(热门代币 + 市场情绪评分) |
| **MarketTicker** | 带实时资金费率的自动滚动行情条 |
| **LiveIndicator** | 基于 WebSocket 状态的实时 ONLINE/OFFLINE 状态徽章 |
| **StrategyPanel** | 带多空腿的策略卡片 |
| **Opportunities** | 带预估每日 USD 收益的排序套利表 |
| **FundingHeatmap** | 75+ 市场网格,支持搜索、排序、颜色编码费率 |
| **AnimatedNumber** | 平滑数字过渡 + 骨架加载 |
| **Tooltip / InfoIcon** | 全站上下文帮助提示 |
| **Toast** | 操作滑入通知 |
## 🚀 快速开始
### 先决条件
- Python 3.11+
- Node.js 18+
- Solana 钱包私钥(用于测试网)
### 1. 克隆并设置
```
git clone
cd delta-vault
```
### 2. 后端
```
cd backend
# 安装依赖
pip install -r requirements.txt
# 配置环境
cp .env.example .env
# 编辑 .env 并添加您的 Solana 私钥
# 在 https://test-app.pacifica.fi 获取测试网资金(代码:"Pacifica")
# 启动服务器
uvicorn main:app --reload --port 8000
```
### 3. 前端
```
cd frontend
# 安装依赖
npm install
# 配置 Privy(可选 — 用于钱包连接)
cp .env.example .env
# 编辑 .env 并从 dashboard.privy.io 添加您的 Privy App ID
# 启动开发服务器
npm run dev
```
### 4. 打开仪表盘
访问 **http://localhost:3000**
1. **设置 Pacifica 账户** — 前往 [test-app.pacifica.fi](https://test-app.pacifica.fi),连接钱包,从水龙头存入 USDP
2. **向金库存款** 并点击 **启动金库** 开始扫描
3. 观察金库检测机会并在 Pacifica 上开启策略
4. 在资金费率热图上监控 75+ 个市场的实时资金费率
## 📡 API 参考
### 金库端点
| 方法 | 端点 | 描述 |
|------|------|------|
| GET | `/api/vault/snapshot` | 金库状态:资产、盈亏、策略、年化收益率 |
| GET | `/api/vault/funding-rates` | 所有市场的当前资金费率 |
| GET | `/api/vault/opportunities` | 排序后的套利机会 |
| GET | `/api/vault/funding-history/:symbol` | 某标的的历史资金费率 |
| GET | `/api/vault/positions` | 当前 Pacifica 仓位 |
| GET | `/api/vault/trade-history` | 最近交易历史 |
| GET | `/api/vault/funding-payments` | 资金支付历史 |
| POST | `/api/vault/deposit` | 存款 `{ amount, user }` |
| POST | `/api/vault/withdraw` | 取款 `{ amount, user }` |
| GET | `/api/account/status` | 账户余额、仓位、构建者代码、费率多样性 |
| POST | `/api/vault/start` | 启动金库引擎 |
| POST | `/api/vault/stop` | 停止金库引擎 |
| POST | `/api/vault/refresh` | 强制刷新数据 |
### 市场数据
| 方法 | 端点 | 描述 |
|------|------|------|
| GET | `/api/health` | 健康检查、市场数量、WS 状态、Elfa 状态、数据源 |
| GET | `/api/markets` | 所有 Pacifica 市场 |
| GET | `/api/prices` | 当前价格 |
| GET | `/api/orderbook/:symbol` | 某标的的订单簿 |
### 实时数据
| 方法 | 端点 | 描述 |
|------|------|------|
| GET | `/api/stream` | 用于实时价格更新的服务器发送事件 |
| GET | `/api/ws-status` | WebSocket 连接状态 |
### 分析与风险
| 方法 | 端点 | 描述 |
|------|------|------|
| GET | `/api/vault/risk-metrics` | 最大回撤、夏普比率、敞口 |
| GET | `/api/vault/backtest` | 运行策略回测 `?long_symbol=SOL&short_symbol=BTC&days=90` |
### 情绪(Elfa AI)
| 方法 | 端点 | 描述 |
|------|------|------|
| GET | `/api/sentiment/trending` | 按社交提及量排序的热门代币 |
| GET | `/api/sentiment/market` | 所有活跃市场的情绪评分 |
| GET | `/api/sentiment/mentions/:ticker` | 某标的的热门提及 |
## 🔧 配置
编辑 `backend/config.py` 或设置环境变量:
| 变量 | 默认值 | 描述 |
|------|--------|------|
| `PACIFICA_ENV` | `testnet` | `testnet` 或 `mainnet` |
| `PACIFICA_PRIVATE_KEY` | — | Solana 钱包私钥(base58) |
`MAX_LEVERAGE` | `5` | 每个仓位最大杠杆 |
| `MAX_POSITION_PCT` | `0.3` | 单个仓位最大不超过金库权益的 30% |
| `REBALANCE_THRESHOLD` | `0.0001` | 触发再平衡的资金费率差值阈值 |
| `FUNDING_POLL_INTERVAL` | `60` | 扫描周期(秒) |
| `ELFA_API_KEY` | — | Elfa AI API 密钥(可选)用于实时社交情绪 |
## 📊 策略深度解析
### 资金费率套利(主要)
**工作原理:**
- 相关资产(如 BTC 与 ETH)在价格上会协同运动
- 但由于市场微观结构差异,其资金费率可能产生分歧
- DeltaVault 做多低费率资产(收取资金)、做空高费率资产(收取资金)
- 价格相关性使方向性风险最小化
- 两个仓位每 8 小时均赚取资金费
**动态对发现:**
不依赖硬编码对,而是每个周期动态扫描全部 75+ 个市场,排序出最低费率与最高费率的前 10 个资产,并计算所有两两价差,从而确保始终找到最佳机会。
**风险管理:**
- 单个策略最大占用金库权益 30%
- 价差低于阈值时自动再平衡
- 回滚逻辑:若做空腿失败,立即平仓多单
- 最多同时运行 3 个策略
### 单资产收割(次要)
当某单一资产资金费率持续显著为正时,金库可单独做空该资产以赚取资金费。风险更高但潜在收益更大,适用于强信号场景。
## 📡 实时数据来源
DeltaVault 的所有数据均为 **实时**,不包含模拟或伪造数据:
| 来源 | 连接 | 数据 |
|------|------|------|
| **Pacifica REST API** | `test-api.pacifica.fi` | 市场、价格、订单簿、仓位、交易、资金费率历史 |
| **Pacifica WebSocket** | `wss://test-ws.pacifica.fi/ws` | 实时价格与资金费率流 → SSE 推送至前端 |
| **Elfa AI API** | `api.elfa.ai/v2` | 热门代币、社交提及、基于参与度的情绪评分 |
## 🔗 与 Pacifica 集成
DeltaVault 与 Pacifica 的永续 DEX 深度集成:
- **完整 REST API** — 签名订单执行、市场数据、资金费率历史、仓位追踪
- **WebSocket 流** — 所有 75+ 个市场的实时价格与资金费率更新
- **构建者计划** — 准备注册构建者代码以获取手续费分成(注册中)
### 测试网访问
- **应用**:https://test-app.pacifica.fi(访问码:`Pacifica`)
- **API**:https://test-api.pacifica.fi/api/v1
- **WebSocket**:wss://test-ws.pacifica.fi/ws
## 🛣️ 路线图
### ✅ 已完成
- [x] **核心金库引擎** — 资金费率监控、策略引擎、交易执行
- [x] **跨对资金费率套利** — 永续 vs 永续的收益策略
- [x] **75+ 市场扫描** — 实时资金费率热图
- [x] **Privy 钱包集成** — 社交登录,支持非加密原生用户
- [x] **风险仪表盘** — 最大回撤、夏普比率、敞口、胜率
- [x] **历史回测** — 基于 Pacifica 的真实历史资金费率与收益率曲线
- [x] **Elfa AI 情绪** — 实时热门代币 + 基于参与度的情绪评分(赞助方集成)
- [x] **情绪加权仓位** — Elfa 信号调节仓位乘数(0.5x–1.5x)
- [x] **WebSocket 实时流** — 实时 Pacifica 价格流 → SSE → 前端 LIVE 标识
- [x] **视觉设计** — 玻璃拟态 UI、动画数字、渐变边框、滚动行情条
- [x] **全面提示** — 为 DeFi 新人提供上下文帮助
- [x] **全量真实数据** — 全程零模拟数据,全部使用真实 API
### 🔜 阶段 2(赛后)
- [ ] **均值回归策略** — 交易资金费率反转(代码库中已有模型)
- [ ] **多用户支持** — 基于 Privy 用户追踪的独立金库份额
- [ ] **链上金库合约** — SPL 存款、收益代币化
- [ ] **多 DEX 扩展** — 聚合多个 DEX 的资金费率
## 🏗️ 技术栈
| 层级 | 技术 |
|------|------|
| **区块链** | Solana |
| **DEX** | Pacifica(75+ 个永续市场) |
| **后端** | Python 3.12、FastAPI、httpx、websockets |
| **签名** | solders(Solana 密钥对)、base58 |
| **前端** | React 18、Vite 5、TailwindCSS 3 |
| **认证** | Privy(邮箱/社交/钱包登录) |
| **情绪分析** | Elfa AI(社交智能) |
| **图表** | Recharts |
| **样式** | 自定义暗色主题、玻璃拟态、翡翠色点缀 |
## 📄 许可证
MIT
标签:DeFi, Privy 登录, React, Solana, Syscalls, 低延迟, 前端仪表盘, 动态对冲, 区块链, 去中心化交易, 回测, 市场中性, 收益策略, 永续合约, 自动再平衡, 自动化做市, 自定义脚本, 资本效率, 资金费率套利, 跨资产套利, 逆向工具, 高并发, 高频监控