跳至内容

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 基本身份验证。请在所有请求中包含您配置的凭据:

curl -u username:password http://localhost:8000/endpoint

在设置期间配置用户名和密码,或在 .env 文件中更新它们。

交互式文档

有关详细端点文档和测试:

  • Swagger UIhttp://localhost:8000/docs - 交互式 API 测试
  • ReDochttp://localhost:8000/redoc - 另一种文档视图