接入流程
推荐按下面的顺序完成接入:- 为目标地址创建或获取 API Wallet。
- 将返回的
public_key设置为 Hyperliquid API Agent,并完成有效的 Builder 费用授权。 - 跟单前可调用
source-check预检交易员,再启动 Owly 策略实例。 - 保存返回的 Bot 标识,后续用于状态查询和生命周期管理。
- 如果配置了 webhook,接收 Owly 主动推送的事件通知。
Base URL
鉴权方式
每个请求都需要携带以下请求头:通用响应格式
成功响应统一采用以下结构:detail 可以是字符串、包含 code / message 等字段的对象,或参数校验错误列表。启动失败还可能在顶层返回 bot_name,便于后续查询。不要只按固定英文错误文案判断结果。例如,协议专用账户不能通过普通 B2B 钱包流程添加:
Step 1:创建或获取 API Wallet
端点
请求体
成功响应示例
目标账户当前必须使用
unifiedAccount 或 dexAbstraction 模式;无法确认模式时会拒绝继续。此接口不会替目标账户切换模式。
这里还有几个关键行为需要注意:
- 同一租户重复请求同一个
target时,Owly 会尽量返回已有的钱包。 - 如果
target已被其他租户或其他不兼容流程占用,接口会返回409。 - 换新后必须重新授权返回的
public_key,再检查策略状态。生成替换钱包本身不会完成 Hyperliquid 授权。 created=true的同一幂等键重试返回同一次换新的钱包,避免重复生成。响应created表示此次调用是否创建了钱包,含义与请求参数不同。
Step 2:在 Hyperliquid 设置 API Agent
使用 Step 1 返回的public_key,在 Hyperliquid 中将其设置为目标地址对应的 API Agent。
这些授权由合作方在 Hyperliquid 侧完成。除 API Agent 外,还需授权实际生效的 Builder 地址及费率;启动时会核对 Builder 授权,不能只完成 Agent 授权。Builder 配置可能来自账户、已有策略或租户配置,应按接入约定确认,不能把某个费率写死为所有租户的要求。
跟单交易员预检
data 示例:
unifiedAccount,并在启用订单行为风控时检查历史订单。拒绝原因包括 account_mode_not_unified、high_risk_order_behavior 或校验数据暂不可用;风险指标可能为空。结果不是授权或执行保证,启动时仍会重新校验。
Step 3:启动策略实例
端点
请求体
普通跟单需要
source;grid 需要有效的 grid 配置。永续网格的 grid.total_invest 必填且大于零,服务端据此计算单笔数量,详见网格机器人。不要在请求中提交主钱包或 API 钱包私钥。
Webhook 优先级
仅设置
config.alerts=null 不等于显式设置 config.alerts.webhook=null。通知是否发送还取决于通知开关和事件配置。
成功响应示例
响应里的
name 就是后续接口里使用的 bot_name。请在自己的系统里持久化保存。Webhook 通知
启用通知并配置有效 webhook 后,Owly 可向合作方的回调地址推送已配置的策略通知。 常见通知类型包括:trade event:策略实例产生的交易相关事件risk event:策略实例产生的风控相关事件status event:策略状态变化事件
- 返回
2xx表示接收成功 - 接收逻辑要按幂等方式设计
- 默认认为可能发生重试和重复投递
- 只依赖 Owly 对外约定的事件字段和业务语义,不要依赖内部服务名或内部状态机
策略实例管理接口
查询状态
data 使用策略状态结构,启动、停止和关闭的成功响应也返回此结构:
应同时核对执行状态、清理状态和错误信息;
state=running 本身不能说明策略当前正在正常下单。
停止策略实例
stop 停止策略自动执行,不执行平仓清理。已有持仓和订单应单独检查。下面是已停止状态的示例:
关闭策略实例
close 请求终止策略并执行相应清理,包含尝试平仓及清理相关订单。它不是提现或偿还借款操作。检查 cleanup_state 与 err_msg,并核对实际持仓和订单;超时或清理失败时先查询当前状态再决定后续处理。
以下仅展示清理完成时的响应形状,不代表每次请求都能完成清理:
常见错误
错误可能返回结构化业务码或字符串。不要把超时直接视为没有启动;先用已知的
bot_name 查询状态,避免重复操作。
最小 cURL 示例
获取 API Wallet
启动策略实例
查询状态
接入建议
- 按
api-wallet -> Hyperliquid Agent + Builder 授权 -> 可选 source-check -> start顺序执行。 - 拿到返回的
bot_name后立刻做持久化保存。 - webhook 接收端建议实现幂等和重试保护。
- 把 webhook 事件视为 Owly 的业务通知,不要依赖 Owly 内部实现细节。
- 默认复用 API Wallet;需要换新时显式传
created=true,同一次换新重试复用幂等键。 - 如果启动失败,检查租户鉴权、账户模式、Agent 与 Builder 授权、地址归属及策略参数;结合运行和清理状态处理结果。