POST /api/v1/integrator/quote/request 来获取意图的定价。
使用订单服务器获取报价是可选的,但推荐使用。它将意图与求解器的常驻报价进行匹配,并提供更强的执行保证。
无需身份验证。您可以选择性地传入 X-Integrator-Key 请求头:设置该头后,订单服务器只会返回标记给该密钥的求解器报价。它不会包含公开市场报价,也不会回退到公开市场报价,因此如果没有求解器为您的密钥标记过报价,您将得不到任何报价。
请求格式
每一个用于标识账户或资产的字段,都是一个原生地址加上一个 CAIP-2 链 id(Base 为eip155:8453,Tron 为 tron:728126428,Solana 主网为 solana:1151111081099710)。下面的示例请求从 Base 到 Arbitrum 的 USDC 报价(exact-input):
200 且 "quotes": [],而不是错误。
请求字段
请求的结构在所有链上都相同——下面的示例只是替换了
chain 值和地址格式。
Solana 请求
Solana 使用solana:1151111081099710(主网;devnet 为 solana:1151111081099712)和 base58 地址。以下是一个从 Solana 到 EVM 的示例:
- Solana 一端请使用
solana:命名空间。 如果 Solana 一端使用eip155:报价,会被拒绝——而且错误信息描述的是该资产的编码问题(一个十六进制格式或 bytes32 相关的抱怨,具体取决于地址给出的方式),而不是真正导致问题的命名空间错误。 - 接收方必须是曲线上的钱包公钥。 对于 Solana 输出,API 会拒绝将 PDA 或其他不在曲线上的地址用作
receiver。
Tron 请求
Tron 使用tron:728126428 和 base58 格式的 T… 地址(也接受带 0x 前缀的 20 字节十六进制;响应始终以 base58 渲染)。以下是一个从 Tron 到 EVM 的示例:
响应格式
响应字段
开启交易
order.openIntentTx 始终携带 chain、to 和 data,外加一个与链相关的费用字段:
发送前,各链所需的处理方式:
- EVM:在广播 calldata 之前,满足
checks.allowances中的每一项(ERC-20 的approve或 Permit2)。 - Solana:序列化交易中的
recentBlockhash是一个全零的占位值(11111111111111111111111111111111),必须在签名前替换为一个新的区块哈希。序列化后的消息不包含 Compute Budget 指令;请在签名前,用computeUnitsRequired构造一个ComputeBudgetProgram.setComputeUnitLimit指令并重建消息。checks.allowances始终为[]:SPL 转账发生在open指令内部,因此不存在预先授权的步骤。 - Tron:
data是 calldata,而不是一笔现成的交易——请通过 TronWeb 的triggerSmartContract将其包裹起来,并先授权 TRC-20 输入。feeLimit是能量花费的上限,而非估算值。
独占求解器匹配
metadata.exclusiveFor 字段标识了被选定来领取输入的求解器,因此它使用的是输入链的原生地址格式。当一条报价胜出时,订单服务器会将该身份和独占窗口编码进所构建订单的输出 context 中。
后续步骤
创建并提交订单
在每条链上签名并发送该报价的开启交易
跟踪订单状态
通过 API 或链上事件监控订单进度

