Skip to main content

总览

市场 API 是任何交换集成的起点。在创建交换订单之前,你需要的信息都由它们提供:
  • 列出资产 —— 发现做市方支持的全部资产(资产 ID、ticker、精度、各层的交易限额)。
  • 列出交易对 —— 查看哪些交易对处于启用状态,以及它们支持哪些路由。
  • 请求报价 —— 为指定数量获取锁定价格;返回的 rfq_id 用于创建订单。
所有市场 API 接口端点均可公开访问,无需认证。 基础 URL: https://api.signet.kaleidoswap.com/api/v1(Signet)

列出资产

接口端点

GET /api/v1/market/assets

说明

列出做市方支持的资产,支持可选的过滤条件和分页。该接口端点可安全轮询并缓存。

查询参数

所有过滤条件按 AND 组合,且均为可选。

响应结构

  • assets:受支持资产的数组。
    • ticker:资产的简称或符号(例如 USDT)。
    • asset_id:资产的唯一标识符。
    • name:资产全称(例如 Tether USD)。
    • precision:资产的小数精度。
    • protocol_ids:协议名称到该资产在对应协议上的标识符的映射。
    • media:关于该资产的附加媒体或元数据(可选)。
    • issued_supply:该资产的总发行量。
    • timestamp:资产元数据的时间戳。
    • endpoints:各层交易限额的数组 —— 每一项包含 layermin_amountmax_amount(以最小单位计)和 is_active
    • is_active:布尔值,表示该资产当前是否启用。
    • added_at:该资产被添加的时间戳。
    • supported_layers:该资产可结算的层列表(例如 ["BTC_LN", "BTC_L1"])。
  • network:表明该响应对应主网、signet 还是 regtest。
  • total:匹配资产的总数(不只是当前页)。
  • limit / offset:请求中分页参数的回显。
  • timestamp:生成该响应时的服务端时间戳。

响应示例


列出交易对

接口端点

GET /api/v1/market/pairs

说明

获取交换操作支持的交易对列表,支持过滤条件和分页。该接口端点可安全轮询并缓存。

查询参数

所有参数均为可选。用于指定单个交易对的标识方式彼此互斥。

响应结构

  • pairs:受支持交易对的数组。
    • id:该交易对的唯一标识符(UUID)。
    • base / quote:完整的资产对象(tickerasset_idnameprecisionprotocol_idsmediaissued_supplyendpoints)。各层的最小/最大交易限额位于每个资产的 endpoints 数组中。
    • price:该交易对的指示性价格(字符串,可能为 null)。
    • routes:受支持的执行路由,每条包含 from_layerto_layer
    • is_active:布尔值,表示该交易对当前是否启用。
    • ticker:交易对 ticker(例如 BTC/USDT)。
    • base_asset / base_asset_id:基础资产的 ticker 和唯一标识符。
    • quote_asset / quote_asset_id:报价资产的 ticker 和唯一标识符。
  • total:匹配交易对的总数(不只是当前页)。
  • limit / offset:请求中分页参数的回显。
  • timestamp:生成该响应时的服务端时间戳。

响应示例


获取交易对路由

接口端点

POST /api/v1/market/pairs/routes

说明

返回指定交易对支持的执行路由。请求体中必须且只能提供一种标识方式:pair_idfrom_asset_id + quote_asset_idpair_ticker,或 base_ticker + quote_ticker

请求示例

响应示例

如果所请求的交易对没有可用路由,该接口端点返回 404 错误。

发现路由

接口端点

POST /api/v1/market/routes

说明

发现资产之间的直连路由和多跳路由。该响应仅供参考,不会预留流动性。

请求体

响应示例


获取路由可达性矩阵

接口端点

GET /api/v1/market/routes/matrix

说明

返回一个矩阵,展示哪些资产之间可以互相到达,以及每种组合的最小跳数。可安全轮询并缓存。

响应示例


为交易对请求报价

接口端点

POST /api/v1/market/quote

说明

为两个资产腿之间的路由请求一份由 RFQ 支撑的报价。响应中包含该报价的详细信息,包括价格、费用和过期时间。

请求结构

请求体包含两个嵌套的腿对象 —— 没有 pair_id
  • from_asset:源腿的规格。
    • asset_id:资产标识符(例如 BTC 或某个 RGB 合约 ID)。
    • layer:结算层(例如 BTC_LNRGB_LNBTC_L1RGB_L1)。
    • amount(可选):以该资产最小单位表示的数量。
  • to_asset:目标腿的规格 —— 字段与 from_asset 相同。
from_asset.amountto_asset.amount 必须且只能提供其中一个:正向报价设置 from_asset.amount,反向报价设置 to_asset.amount

请求示例

响应结构

  • rfq_id:该报价请求的唯一标识符。
  • from_asset / to_asset:完整的腿规格,各自包含 asset_idnametickerlayeramount(最小单位)和 precision
  • price:1 个完整单位的 from_asset 的价格,以 to_asset 的最小单位表示。
  • fee:费用明细对象:
    • base_fee:固定费用部分。
    • variable_fee:随数量变化的费用部分。
    • fee_rate:可变费用的费率。
    • final_fee:总费用(base_fee + variable_fee)。
    • fee_asset:费用计价所用的资产。
    • fee_asset_precision:费用资产的小数精度。
  • timestamp:生成该报价时的服务端时间戳。
  • expires_at:该报价过期的时间戳。

响应示例

补充说明

  • 所请求的路由(from_asset.layerto_asset.layer)必须是 /api/v1/market/pairs 中该交易对所支持的 routes 之一;不受支持的路由返回 400 错误。
  • 数量应保持在每个资产 endpoints 数组中给出的各层 min_amount/max_amount 限额之内。
  • expires_at 字段表明该报价从何时起不再可用于发起交换。
  • 费用已计入所计算出的腿数量中。
  • 在过期之前,rfq_id 可用于后续的交换发起请求或 LSPS1 订单请求。

关于交换操作的更多细节,请继续阅读交换 API