无需 API 密钥。所有集成方端点均开放且无速率限制。详见身份验证。
前置条件
托管流程涉及链上交易(授权代币和调用托管合约以锁定资金)。我们使用 viem 与 Base 网络交互,但任何与 EVM 兼容的库(ethers.js、web3.js 等)的用法都相同。TypeScript
托管流程
标准托管集成是一个 4 步过程:请求报价、授权代币、在链上开启订单,并将其追踪至结算。Intents API 使用可互操作地址(EIP-7930)。有关编码细节,请参见请求报价。
1
请求报价
使用用户的输入和目标输出调用 可互操作地址前缀编码了链。
POST /quote/request。此示例从 Base 向 Arbitrum 发送 10 USDC。TypeScript
0x00010000022105 是 Base(8453),0x0001000002A4B1 是 Arbitrum(42161)。详见可互操作地址编码。响应包含一个按最优价格排序的报价数组。最优报价位于索引 0。在后续步骤中构造订单时,请使用最优报价中的 preview.outputs[0].amount。2
3
构造并在链上开启订单
从报价响应构建一个
StandardOrder,并在 InputSettlerEscrow 合约上调用 open()。这会锁定你的代币,并将意图广播给解算器。TypeScript
open() 调用会将你的代币转入托管,并发出一个 Open 事件。解算器和订单服务器会自动检测该事件。无需单独的提交步骤。4
追踪订单
轮询
GET /orders/status 直到订单达到终态。使用来自 Open 事件的 onChainOrderId。TypeScript
一旦为
Settled,用户就已在 Arbitrum 上收到 USDC,解算器也已从托管中获得报酬。刚刚发生了什么
- 请求了报价。 订单服务器根据你的输入/输出对,从其解算器网络返回了定价。
- 授权了代币。 托管合约获得了转移你 USDC 的授权。
- 开启了订单。 代币被锁定于托管中,意图通过
Open事件广播给解算器。 - 解算器完成交付。 一个解算器通过在 Arbitrum 上交付 USDC 履行了订单。
- 结算完成。 预言机验证了交付,托管将锁定资金释放给解算器。
后续步骤
API 概览
完整的端点参考、基础 URL 和身份验证
请求报价
exact-input、exact-output 和独占报价细节
Compact 订单
通过 The Compact 进行链下无 gas 订单提交
追踪订单状态
链上事件和订单服务器状态轮询

