无需 API 密钥。所有集成方端点均开放,并提供宽松的速率限制。详见身份验证。
前置条件
托管流程涉及链上交易(授权代币和发送开启交易)。我们使用 viem 与 Base 网络交互,但任何与 EVM 兼容的库的用法都相同。TypeScript
托管流程
标准托管集成是一个 4 步过程:请求报价、授权代币、发送报价返回的开启交易,并将订单追踪至结算。1
请求报价
以 CAIP-2 链 + 原生地址对的形式,携带用户的输入和目标输出,调用 响应包含一个按最优价格排序的报价数组;最优报价位于索引 0。每条报价都携带
POST /api/v1/integrator/quote/request。此示例从 Base 向 Arbitrum 发送 10 USDC。TypeScript
order.openIntentTx——用于开启订单的交易——以及 order.checks.allowances,即它所需的授权。完整的请求和响应参考请参阅请求报价。2
授权代币
覆盖
order.checks.allowances 中的每一项:订单开启时,输入结算器需要获得转移你代币的许可。TypeScript
你也可以使用 Permit2 进行无 gas 授权。托管支持通过 Permit2 签名进行存款。详见 Escrow 存款方式。
3
发送开启交易
发送来自报价的交易。它会在输入结算器上调用
open(),将你的代币锁定进托管,并将意图广播给求解器。TypeScript
open() 调用会将你的代币转入托管,并发出一个 Open 事件。求解器和订单服务器会自动检测该事件。无需单独的提交步骤。想自己构造
StandardOrder——自定义截止时间、多个输出、交付时调用?请参阅创建并提交订单以了解订单结构和验证规则。4
追踪订单
轮询
GET /orders/status 直到订单达到终态。使用来自 Open 事件的 onChainOrderId。TypeScript
一旦为
Settled,用户就已在 Arbitrum 上收到 USDC,求解器也已从托管中获得报酬。Refunded 是另一种终态:没有求解器填充该订单,输入资金已退还给用户。从订单服务器看到该订单的那一刻起,你的订单就会报告为 Signed,包括 Open 交易刚刚确认之后——开启本身不会产生一个独立的状态。完整生命周期请参阅跟踪订单状态。刚刚发生了什么
- 请求了报价。 订单服务器从其求解器网络返回了定价,外加一笔可直接签名、用于开启订单的交易。
- 授权了代币。 按照报价的授权检查,你为托管合约授权了转移你 USDC 的权限。
- 开启了订单。 发送报价中的交易,把代币锁定进了托管,并通过
Open事件将意图广播给求解器。 - 求解器完成交付。 一个求解器通过在 Arbitrum 上交付 USDC 履行了订单。
- 结算完成。 预言机验证了交付,托管将锁定资金释放给求解器。
后续步骤
API 概览
完整的端点参考、基础 URL 和身份验证
请求报价
exact-input、exact-output,以及 Solana 和 Tron 的报价方式
Compact 订单
通过 The Compact 进行链下无 gas 订单提交
追踪订单状态
链上事件和订单服务器状态轮询

