跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.nexfi.robert.dpdns.org/llms.txt

Use this file to discover all available pages before exploring further.

Bridge 路线与订单

本页对照 Bridge 详细设计文档,补充跨链桥路线与订单接口的用途、参数、字段说明和示例。

GET /api/v1/bridge/routes

用途

查询可用跨链路线,供钱包侧在跨链确认前展示最优路线、费用和预计到账时间。

Query 参数

参数类型必填说明示例
fromChainIdInteger源链 ID1
toChainIdInteger目标链 ID8453
fromTokenString源资产符号或标识USDC
toTokenString目标资产符号或标识USDC
amountString跨链金额1000
walletAddressString用户钱包地址,用于部分 provider 报价或权限判断0xabc...

请求示例

GET /api/v1/bridge/routes?fromChainId=1&toChainId=8453&fromToken=USDC&toToken=USDC&amount=1000&walletAddress=0xabc...

响应字段

字段路径类型说明示例
data.routesArray可用路线列表[]
data.routes[].routeIdString路线唯一 IDroute_base_usdc_01
data.routes[].providerKeyStringprovider 标识across
data.routes[].bridgeNameString展示名称Across
data.routes[].estimatedReceiveAmountString预计到账金额998.42
data.routes[].bridgeFeeAmountString跨链桥手续费1.10
data.routes[].networkFeeAmountString网络手续费0.48
data.routes[].estimatedArrivalSecondsInteger预计到账秒数420
data.routes[].riskLevelString路线风险等级:low medium highmedium

响应示例

{
  "code": 0,
  "msg": "ok",
  "data": {
    "routes": [
      {
        "routeId": "route_base_usdc_01",
        "providerKey": "across",
        "bridgeName": "Across",
        "estimatedReceiveAmount": "998.42",
        "bridgeFeeAmount": "1.10",
        "networkFeeAmount": "0.48",
        "estimatedArrivalSeconds": 420,
        "riskLevel": "medium"
      }
    ]
  }
}

业务说明

  • 路线结果应按平台策略排序,不应随机返回。
  • 若无可用路线,应返回空数组而不是伪造路线。
  • 前端展示时应区分桥费与网络费,不应合并成单一费用字段。

POST /api/v1/bridge/orders

用途

创建桥接订单,表示平台开始跟踪这次跨链请求,但不代表用户已经完成源链交易。

Body 参数

参数类型必填说明示例
routeIdString选中的路线 IDroute_base_usdc_01
fromChainIdInteger源链 ID1
toChainIdInteger目标链 ID8453
fromTokenString源资产USDC
toTokenString目标资产USDC
amountString跨链金额1000
senderAddressString发起地址0xabc...
recipientAddressString接收地址0xabc...

请求示例

{
  "routeId": "route_base_usdc_01",
  "fromChainId": 1,
  "toChainId": 8453,
  "fromToken": "USDC",
  "toToken": "USDC",
  "amount": "1000",
  "senderAddress": "0xabc...",
  "recipientAddress": "0xabc..."
}

响应字段

字段路径类型说明示例
data.orderIdString平台订单号bridge_20260511_0001
data.statusString订单状态created
data.providerKeyString对应 provideracross

响应示例

{
  "code": 0,
  "msg": "ok",
  "data": {
    "orderId": "bridge_20260511_0001",
    "status": "created",
    "providerKey": "across"
  }
}

业务说明

  • 创建订单仅表示服务端开始跟踪订单生命周期。
  • 用户仍需在钱包本地签名并广播源链交易。
  • 订单后续应可关联 provider 订单号和源链交易哈希。

GET /api/v1/bridge/orders/{id}

用途

根据平台订单号查询桥接订单状态,用于订单详情页和活动流状态刷新。

Path 参数

参数类型必填说明示例
idString平台订单号bridge_20260511_0001

响应字段

字段路径类型说明示例
data.orderIdString平台订单号bridge_20260511_0001
data.providerKeyStringprovider 标识across
data.statusString聚合后的订单状态bridging
data.sourceTxHashString | Null源链交易哈希0x123...
data.updatedAtString最后更新时间2026-05-11T10:00:00.000Z
data.failReasonString | Null失败原因null

响应示例

{
  "code": 0,
  "msg": "ok",
  "data": {
    "orderId": "bridge_20260511_0001",
    "providerKey": "across",
    "status": "bridging",
    "sourceTxHash": "0x123...",
    "updatedAt": "2026-05-11T10:00:00.000Z",
    "failReason": null
  }
}

订单状态说明

状态含义
created订单已创建,等待用户发起源链交易
pending_source已检测到源链动作,但尚未进入桥接中状态
bridging第三方桥正在执行跨链
completed目标链到账完成
failed跨链失败
cancelled订单已取消或失效

业务说明

  • 平台状态机应屏蔽 provider 原始状态差异,前端只消费统一状态。
  • sourceTxHash 在用户尚未广播源链交易时可能为空。
  • 失败场景下建议同时展示 failReason 与下一步处理建议。