API 路由¶
Hummingbot API 被划分为多个功能路由器,提供全面的交易和管理功能。
🐳 Docker 管理 (/docker)¶
管理 Docker 容器和机器人的部署生命周期:
- 检查 Docker 守护进程的状态和健康情况
- 支持异步拉取新的 Docker 镜像
- 启动、停止和删除容器
- 监控正在运行和已退出的容器
- 清理已退出的容器
- 将容器数据归档到本地或 S3
- 跟踪镜像拉取状态和进度
核心端点:
GET /docker/running—— 检查 Docker 守护进程是否运行GET /docker/available-images—— 列出可用的 Docker 镜像GET /docker/active-containers—— 获取所有正在运行的容器POST /docker/pull-image- 拉取新的 Docker 镜像POST /docker/start-container/{name}- 启动容器POST /docker/stop-container/{name}- 停止容器POST /docker/remove-container/{name}- 删除容器并归档数据
💳 账户管理 (/accounts)¶
在多个交易所创建和管理交易账户:
- 创建和删除交易账户
- 添加/移除交易所凭证
- 列出每个账户可用的凭证
- 基础账户配置
核心端点:
GET /accounts- 列出所有交易账户POST /accounts- 创建新的交易账户PUT /accounts/{id}- 更新账户凭证DELETE /accounts/{id}- 删除交易账户GET /accounts/{id}/balances- 获取账户余额
🔌 连接器发现 (/connectors)¶
提供交易所连接器信息及配置:
- 列出可用的交易所连接器
- 获取连接器配置要求
- 检索交易规则和限制
- 查询每个连接器支持的订单类型
核心端点:
GET /connectors- 列出所有可用连接器GET /connectors/{name}- 获取连接器详情GET /connectors/{name}/trading-rules- 获取交易规则和限制GET /connectors/{name}/markets- 列出支持的交易对
📊 投资组合管理 (/portfolio)¶
跨所有账户的集中式投资组合跟踪与分析:
- 实时投资组合状态:所有账户的当前余额
- 投资组合历史:带游标分页的时间序列数据
- 代币分布:跨交易所按代币汇总的持仓
- 账户分布:基于百分比的投资组合分配分析
- 高级筛选:按账户名称和连接器进行筛选
核心端点:
GET /portfolio/balances- 获取聚合的投资组合余额GET /portfolio/performance- 获取投资组合表现指标GET /portfolio/distribution- 获取代币分布分析GET /portfolio/history- 获取历史投资组合数据
💹 交易操作 (/trading)¶
通过基于 POST 的筛选以及全面的订单/交易管理功能增强:
- 下单交易:使用高级订单类型执行交易
- 取消订单:通过订单 ID 取消特定订单
- 持仓追踪:实时永续合约持仓及盈亏数据
- 活跃订单:从连接器获取进行中的订单实时监控
- 订单历史:带高级筛选的分页历史订单
- 成交历史:完整的成交记录并支持筛选
- 资金费用记录:永续合约的历史资金费用追踪
- 持仓模式:为永续交易配置对冲(HEDGE)或单向(ONEWAY)模式
- 杠杆管理:为每个交易对设置和调整杠杆
核心端点:
POST /trading/orders- 下单GET /trading/orders- 列出活跃订单DELETE /trading/orders/{id}- 取消订单GET /trading/positions- 获取开仓仓位GET /trading/history- 获取交易历史POST /trading/close-position- 平仓
🤖 机器人编排 (/bot-orchestration)¶
部署、配置和管理多个机器人实例:
- 监控机器人状态和 MQTT 连接
- 部署 V2 脚本和控制器
- 通过可配置参数启动/停止机器人
- 停止并归档机器人,支持后台任务
- 获取机器人性能历史记录
- 实时机器人状态监控
核心端点:
GET /bot-orchestration/bots- 列出所有机器人实例POST /bot-orchestration/deploy- 部署新机器人PUT /bot-orchestration/bots/{id}/config- 更新机器人配置POST /bot-orchestration/bots/{id}/start- 启动机器人POST /bot-orchestration/bots/{id}/stop- 停止机器人GET /bot-orchestration/bots/{id}/status- 获取机器人状态
📋 策略管理¶
通过两个互补的系统管理交易策略:
控制器 (/controllers)¶
管理 V2 策略控制器:
- 对控制器文件进行增删改查操作
- 控制器配置管理
- 针对机器人的特定控制器配置
- 为新配置获取模板
核心端点:
GET /controllers- 列出可用的策略控制器POST /controllers/{name}/deploy- 部署策略控制器PUT /controllers/{id}/config- 更新策略参数
脚本 (/scripts)¶
处理传统的 Hummingbot 脚本:
- 对脚本文件进行增删改查操作
- 脚本配置管理
- 配置模板
核心端点:
GET /scripts- 列出可用的交易脚本POST /scripts/run- 执行交易脚本
📊 市场数据 (/market-data)¶
专业的市场数据分析与实时数据流:
- 价格发现:实时价格、资金费率、标记/指数价格
- K 线数据:支持多种时间间隔的实时和历史 K 线
- 订单簿分析:
- 实时订单簿快照
- 价格影响计算
- 在特定价格水平查询成交量
- VWAP(成交量加权平均价)计算
- 数据流管理:主动监控数据流并自动清理
关键接口: - GET /market-data/ticker/{pair} - 获取当前行情数据 - GET /market-data/orderbook/{pair} - 获取订单簿快照 - GET /market-data/candles/{pair} - 获取历史 K 线 - GET /market-data/trades/{pair} - 获取最近成交 - WS /market-data/stream - 实时市场数据流
🔄 回测 (/backtesting)¶
使用历史数据运行策略回测:
- 基于历史数据运行策略回测
- 支持控制器配置
- 可自定义交易成本和时间分辨率
核心端点:
POST /backtesting/run- 启动新回测GET /backtesting/results/{id}- 获取回测结果GET /backtesting/metrics/{id}- 获取性能指标POST /backtesting/optimize- 运行参数优化
📈 已归档机器人分析 (/archived-bots)¶
对已停止机器人的表现进行全面分析:
- 列出并发现已归档的机器人数据库
- 性能指标与交易分析
- 历史订单与交易查询
- 持仓与执行器数据提取
- 控制器配置恢复
- 支持 V1 和 V2 版本的机器人架构
核心端点:
GET /archived-bots- 列出所有已归档的机器人数据库GET /archived-bots/{bot_name}/performance- 获取机器人性能指标GET /archived-bots/{bot_name}/orders- 获取历史订单GET /archived-bots/{bot_name}/trades- 获取交易历史
🌐 网关 (/gateway)¶
管理网关容器并配置去中心化交易所(DEX)交易基础设施:
管理¶
控制网关容器的生命周期和配置:
- 启动、停止和重启网关容器
- 检查网关状态和健康情况
- 查看网关日志
- 列出并配置 DEX 连接器
- 管理链、网络和资金池
- 添加和管理网络代币
核心端点:
GET /gateway/status- 获取网关状态POST /gateway/start- 启动网关POST /gateway/stop- 停止网关POST /gateway/restart- 重启网关GET /gateway/logs- 获取网关日志GET /gateway/connectors- 列出连接器GET /gateway/connectors/{connector_name}- 获取连接器配置POST /gateway/connectors/{connector_name}- 更新连接器配置GET /gateway/chains- 列出链GET /gateway/pools- 列出资金池POST /gateway/pools- 添加资金池GET /gateway/networks- 列出网络GET /gateway/networks/{network_id}- 获取网络配置POST /gateway/networks/{network_id}- 更新网络配置GET /gateway/networks/{network_id}/tokens- 获取网络代币POST /gateway/networks/{network_id}/tokens- 添加网络代币DELETE /gateway/networks/{network_id}/tokens/{token_address}- 删除网络代币
Swap 操作¶
在支持的路由(如 Jupiter、0x 等)上执行并监控 DEX 兑换:
- 获取包含价格影响的兑换报价
- 带滑点保护的兑换执行
- 跟踪兑换交易状态
- 使用筛选条件搜索兑换历史
- 查看兑换汇总和分析数据
核心端点:
POST /gateway/swap/quote- 获取兑换报价POST /gateway/swap/execute- 执行兑换GET /gateway/swaps/{transaction_hash}/status- 获取兑换状态POST /gateway/swaps/search- 搜索兑换记录GET /gateway/swaps/summary- 获取兑换汇总
CLMM 操作¶
管理 DEX 上的集中流动性做市商头寸:
- 浏览并分析 CLMM 资金池
- 使用自定义价格范围创建流动性头寸
- 关闭头寸并撤出流动性
- 从头寸中收取已赚取的费用
- 跟踪头寸所拥有的资产
- 查看头寸事件和历史记录
- 使用筛选器搜索头寸
核心端点:
GET /gateway/clmm/pool-info- 获取 CLMM 池信息GET /gateway/clmm/pools- 获取 CLMM 池列表POST /gateway/clmm/open- 开启 CLMM 头寸POST /gateway/clmm/close- 关闭 CLMM 头寸POST /gateway/clmm/collect-fees- 从 CLMM 头寸中收取费用POST /gateway/clmm/positions_owned- 获取拥有的 CLMM 头寸GET /gateway/clmm/positions/{position_address}/events- 获取 CLMM 头寸事件POST /gateway/clmm/positions/search- 搜索 CLMM 头寸
认证
所有 API 端点都需要 HTTP 基本身份验证。请在所有请求中包含您配置的凭据:
在设置期间配置用户名和密码,或在 .env 文件中更新它们。
交互式文档¶
有关详细端点文档和测试:
- Swagger UI:
http://localhost:8000/docs- 交互式 API 测试 - ReDoc:
http://localhost:8000/redoc- 另一种文档视图