AllSwap

快速开始

5 条 curl 命令,从零完成一笔可追踪的跨链兑换。预计 15 分钟。你需要一个 API 密钥(在这里申请),以及目标链上的一个钱包地址。

沙盒 vs 正式。 每个密钥默认是沙盒模式——报价真实,但 swap 不会真的动链上资金。准备好之后在控制台把密钥切到 live。

1. 获取 API 密钥

每次请求需要两个 header 鉴权:X-Key-Id 标识密钥(可以公开),Authorization: Bearer 携带密文(仅服务端使用 —— 绝不能打进浏览器 bundle)。

X-Key-Id: ak_live_yourapp
Authorization: Bearer sk_live_REPLACE_ME
Content-Type: application/json

详见 身份验证 章节——包括密钥轮换、scope 权限、以及如何避免把密文暴露到前端 bundle 里。

2. 列出支持的代币

代币用 CAIP-19 资产 ID 标识。这个接口返回当前所有可路由的代币,含链名、精度、logo URL。

curl https://api.allswap.io/v1/tokens \
  -H "X-Key-Id: ak_live_yourapp" \
  -H "Authorization: Bearer sk_live_..."

3. 报价

报价是不具约束力的价格预览。我们并行聚合所有支持的路由,返回最优 amount_out 以及后续要提交的 route ID。报价约 30 秒过期。

curl -X POST https://api.allswap.io/v1/quote \
  -H "X-Key-Id: ak_live_yourapp" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "from":  "eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7",
    "to":    "tron:mainnet/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
    "amount": "1000000000",
    "sender":    "0xYourUserEvmAddress",
    "recipient": "TYourUserTronAddress"
  }'

amount 永远用最小单位(USDT 6 位精度 → 1,000,000,000 表示 1,000 USDT)。route 字段对外不透明 —— 我们会根据当前流动性返回 Route A 或 Route B。参见 概念 → 路由

4. 提交兑换

把刚拿到的 quoteId 传回来。我们生成一次性存款地址;用户向该地址转账后,swap 自动触发执行。

curl -X POST https://api.allswap.io/v1/swap \
  -H "X-Key-Id: ak_live_yourapp" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "quoteId": "qt_01HW9..." }'
存款地址模式。 你这边不需要钱包 SDK。让用户把准确数额的 depositAmount 转入 depositAddress —— 剩下的我们来。在 UI 上同时显示 QR 码和等宽字体的地址。

5. 跟踪状态

每 10–15 秒轮询一次,或者接 webhook(推荐)。状态在一个小型状态机里流转——参见 概念 → 交易

curl https://api.allswap.io/v1/swap/sw_01HW9... \
  -H "X-Key-Id: ak_live_yourapp" \
  -H "Authorization: Bearer sk_live_..."

下一步去哪

  • API 参考 —— 每个字段、每个 endpoint、每个错误。
  • 核心概念 —— 路由、报价、交易、费用到底意味着什么。
  • 错误与速率限制 —— 哪些该重试、哪些该提示给用户。
  • 定价 —— 免费档、付费档、什么时候需要联系我们。