任意资产,一键充进
HyperLiquid
任意链资产付款,自动换成 USDC,直达你的 HyperLiquid 保证金账户。
合作 API
任意币种,一步充值 Hyperliquid 合约账户
对接 anyin Deposit API(/v1),即可在钱包内接入任意币入金 HyperLiquid。兑换与跨链由 OmniBridge 完成;合作方只需调用报价、下单与查单。
接入前 vs 接入后
用户持有 TRX,想给自己的 HyperLiquid 保证金账户充值。绿色圆点是用户的钱走的路线。
用户在钱包里看到的
- 打开钱包里的 HyperLiquid 充值入口和现在一样的位置。
- 选择手里的资产,输入金额TRX、BTC、ETH、USDT 等都可以,页面显示预计到账多少 USDC。
- 点一次充值,在钱包里确认付款资产自动换成 USDC,送到他的 HyperLiquid 保证金账户。
先把几个词说清楚
- HyperLiquid 保证金账户
- 用户在 HyperLiquid 上放交易本金的账户。往里充钱,就能开始交易。
- USDC · Arbitrum
- 保证金账户只收 USDC(与美元 1:1 的数字货币),而且只从 Arbitrum 这条链收。
- 为什么需要这个 API
- 用户手里的往往不是 Arbitrum 上的 USDC。这个 API 负责把他手里的资产换好、送到,充进保证金账户。
它只做这一件事
做:把资产充进 HyperLiquid 保证金账户
- 输入是用户手里的任意资产
- 输出只有一种:他保证金账户里的 USDC
- 用户全程不离开你的钱包
不做:其他用途
- 不是通用的币币兑换,不能换成别的币
- 不把用户引到外部页面或其他 App
- 不替代你钱包现有的 HyperLiquid 对接
接入后,钱包里这些都不需要改:
合约下单持仓与平仓提现账户体系与登录原有 HyperLiquid 接口调用USDC 直接充值
接入步骤
- 申请 API Key联系运营拿到合作方专属
X-Api-Key,用于鉴权与结算对账。OmniBridge 渠道号由 anyin 服务端保管,不会下发给合作方。 - 在 HyperLiquid 充值入口加「其他资产」保留原来的 USDC 充值。用户选了其他资产,就交给 anyin Deposit API 处理。
- 调用报价接口,显示预计到账传入
coinCode与数量,返回能充进保证金账户多少 USDC、手续费与可充范围。 - 用户确认,钱包签名付款调用下单接口拿到
depositAddress,用钱包已有的转账能力让用户签名付款,再提交交易哈希。 - 查询状态,直到充进保证金账户用
orderId+payerAddress轮询,直到 USDC 进入他的 HyperLiquid 保证金账户。
接口调用示例 Base URL:当前站点,如 https://hl-test.mlion.ai
# 请求头(除 /v1/health 外均需) X-Api-Key: <your_key> Content-Type: application/json # 1. 可付款资产 GET /v1/assets # 2. 报价:用户输入金额时调用 POST /v1/deposit/quote { "coinCode": "TRX", "amount": "500" } # → estReceiveUsdc / feeRate / chainFee / depositMin / depositMax # 3. 下单:用户点「一键充值」时调用 POST /v1/deposit/order { "coinCode": "TRX", "amount": "500", "hlAddress": "0x…", "payerAddress": "T…", "addressConfirmed": true } # → orderId / depositAddress / stage # 4. 提交付款哈希(钱包转账成功后) POST /v1/deposit/order/{orderId}/txid { "txid": "0x…" } # 5. 进度:建议每 6 秒轮询 GET /v1/deposit/order/{orderId}?payerAddress=T… # → stage: awaiting_payment / swapping / delivering / delivered / refunded …
接口说明
合作方日常只对接 anyin /v1。兑换与跨链由 OmniBridge 完成,上游字段细节见 docs.cn.omnibridge.pro。
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/health | 探活,无需 API Key |
| GET | /v1/assets | 可付款币种列表(含 chainType / contract) |
| POST | /v1/deposit/quote | 报价 |
| POST | /v1/deposit/order | 下单,返回付款地址 |
| GET | /v1/deposit/order/{orderId}?payerAddress= | 查订单状态 |
| POST | /v1/deposit/order/{orderId}/txid | 提交链上付款哈希 |
| GET | /v1/deposit/orders?payerAddress=&pageNo= | 按付款钱包查历史 |
- 鉴权
- 业务接口请求头带
X-Api-Key。浏览器直调会暴露 Key,推荐由合作方后端代理;若需前端直调,配置允许的 Origin(CORS)。 - 响应格式
- 成功
{ "ok": true, "data": … };失败{ "ok": false, "code": "…", "message": "…" }(如 unauthorized、rate_limited、below_hl_min)。 - 轮询建议
- 下单后每 6 秒查一次状态;
payerAddress须与下单时付款钱包地址一致(系统用其作为订单归属标识)。
文档与商务
商务合作
申请 API Key、费率与结算方式。
联系运营获取渠道与 API Key
整体架构与设计说明
一次付款,钱走过的四段路
anyin 把三件事串起来:OmniBridge 负责跨链兑换,Arbitrum 承接 USDC,Hyperliquid 官方桥合约负责入账。这一页说明每一段由谁完成、用的是哪个真实接口,以及上线前还需确认的事项。
系统结构
真实接口对接表
全部来自 OmniBridge 文档(API 根地址 https://api.omnibridge.pro,POST + JSON)。前端只和自己的后端说话,渠道号不出现在浏览器里。
| 用户看到的 | anyin 后端 | OmniBridge 接口 | 要点 |
|---|---|---|---|
| 币种列表、搜索 | GET /api/coins | /api/v1/queryCoinList | 只取支持兑换的币;按合约地址找出 Arbitrum 原生 USDC 作为固定目标,排除不支持兑换成它的币 |
| 预计到账、手续费 | POST /api/quote | /api/v1/getBaseInfo | 按文档公式:(数量 − 数量 × 费率) × 汇率 − 目标链网络费 |
| 一键充值 | POST /api/order | /api/v2/accountExchange | 下单前后端再报价一次并校验 ≥ 5 USDC;destinationAddr = 用户 HL 地址;返回 platformAddr |
| 付款完成 | POST /api/order/txid | /api/v2/modifyTxId | 钱包付款后自动提交哈希;手动转账可选填 |
| 进度条 | POST /api/order/state | /api/v2/queryOrderState | 每 6 秒轮询;detailState 映射成四步进度 |
| 充值记录 | POST /api/orders | /api/v2/queryAllTrade | 按本机设备号 equipmentNo 查询 |
| 进入保证金账户 | POST /api/hl/permit-deposit | Hyperliquid Bridge2(非 OmniBridge) | 用户签 USDC permit,后端校验签名后调用 batchedDepositWithPermit,并检查 FailedPermitDeposit 事件 |
订单状态怎样变成用户看得懂的四步
| OmniBridge detailState | 页面上的说法 | 进度位置 |
|---|---|---|
wait_deposit_send | 等待您付款 | ① 付款 |
wait_exchange_push · wait_exchange_return | 正在换成 USDC | ② 兑换 |
wait_receive_send · wait_receive_confirm | USDC 正在发往您的地址 | ③ 到账 Arbitrum |
receive_complete | USDC 已到账,签名后进入保证金账户 | ④ 入账 HyperLiquid |
wait_refund_* · refund_complete | 兑换未成功,原币退回,附退款原因 | 退款分支 |
timeout · WAIT_KYC · ERROR | 订单超时 / 需要身份认证 / 处理中请联系客服 | 异常分支 |
设计决定
目标固定,不给选择器到账框只展示「HyperLiquid 保证金账户 · USDC · Arbitrum」,带锁标记。系统按合约地址锁定原生 USDC,不会误选 USDC.e。
一个主按钮「一键充值」承担连接钱包、下单、发起付款三件事。按钮上方一行字说明当前还差什么。
付款方式由币种决定EVM 币走钱包签名,TRX/TRC20 走 TronLink,其他链展示地址和金额。用户在选币时就能看到「钱包直付」或「转账付款」。
地址确认冷静而明确EVM 自动带入地址并要求勾选确认;非 EVM 手动填写,地址分段回显,首尾高亮,便于逐段核对。
不编造数字费率、汇率、网络费全部来自实时报价;预计用时引用 OmniBridge 文档并注明来源;没有数据时显示「—」。
动效只说明流向报价时竖线上的圆点下落表示钱在路上;进度页当前步骤有呼吸圈。系统开启「减少动态效果」时全部关闭。
上线前需要确认的事项
关键
最后一步需要用户签一次名OmniBridge 只能把 USDC 打到一个地址。直接打给 Hyperliquid 桥合约会记到 OmniBridge 的发款地址名下,资金会错账,所以必须先打到用户自己的地址,再由用户签 permit 授权存入(免 gas,由我方中继付 gas)。若要做到完全无签名,需要 OmniBridge 支持「代用户存入 Hyperliquid」的发款方式,建议商务优先确认。
关键
渠道号 sourceFlag所有接口都要求渠道号,需与 OmniBridge 商务确认后填入后端配置。
重要
地区限制OmniBridge 文档说明其 API 在美国、中国大陆、伊朗、俄罗斯等地区不可用。产品上线地区与准入策略需法务确认。
重要
中继钱包自动入账需要一个持有少量 Arbitrum ETH 的中继地址付 gas。未配置时,页面改为让用户自己从钱包存入(需少量 ETH)。
重要
5 USDC 最低入账Hyperliquid 不入账低于 5 USDC 的存款。下单前按「最少到账」校验,不足时直接拦截。
待补
文档未覆盖的部分付款地址的有效期、需要 memo 的币(如 XRP、XLM)的付款地址格式、币种图标的完整地址。当前实现:地址中带 # 时拆出 memo 单独展示;图标加载失败时用首字母代替。
如何运行完整版
# Node 18 以上 cp .env.example .env # 填入 SOURCE_FLAG;可选 ARB_RPC_URL、RELAYER_PRIVATE_KEY npm install # 仅自动入账中继需要 ethers node server.js # 打开 http://localhost:8787