倾向于显式编写多步 flow? 参见 Composer API,它记录了显式的 Flow 编写 API。
Authentication
LI.FI API 是开放的,无需 API key。你可以立即开始发起请求。integrator(可选查询参数):一个在分析与链上事件中标识你应用的字符串。省略时默认为"lifi-api"。必须为字母数字,可含连字符、下划线或点,最长 23 个字符。x-lifi-api-key(可选头):当你在 LI.FI 合作伙伴门户中创建集成时会自动生成一个 API key。附上它可获得更高的速率限制。没有 key 时,适用未认证限制:/quote与/advanced/routes每两小时 75 次请求,/advanced/stepTransaction每两小时 50 次请求,其他端点每分钟 100 次请求。有 API key 时,所有端点默认为每分钟 100 次请求。
Overview
Composer 不需要专用端点。将toToken 设置为受支持的协议代币地址,LI.FI 便会从标准端点返回一条 Composer 路由。
集成流程:
- 请求报价,通过
GET /v1/quote或POST /v1/advanced/routes - 设置代币授权,即授权 LI.FI Diamond 合约花费你的代币
- 发送交易,使用报价响应中的
transactionRequest - 跟踪状态,对跨链转移轮询
GET /v1/status
Request a Composer Quote
Using GET /quote (Recommended)
获取 Composer 交易的最简单方式。返回单个最优路由,并包含交易数据。
Slippage
slippage 参数是一个小数值,表示可接受的最大价格差异。例如,0.005 表示 0.5%。若省略,API 默认为 0.005。跨链路由涉及更多步骤,因此对跨链 flow 可考虑 0.01(1%)或更高。
Using POST /advanced/routes
返回多个路由选项。当你想向用户呈现选择,或需要对路由选择有更多控制时很有用。
使用
/advanced/routes 时,交易数据不包含在响应中。你必须调用 POST /v1/advanced/stepTransaction 来为每个步骤获取 transactionRequest。使用 /quote 时,交易数据直接包含在内。Getting transaction data for a route step
TypeScript
Quote Response Structure
Composer 报价响应包含路由细节、预估输出以及一笔可直接签名的交易。以下是关键字段:Key fields
十六进制编码值:
transactionRequest 的 value、gasLimit 与 gasPrice 字段为十六进制字符串(例如 "0x5f45bc")。chainId 字段是普通数字。手动构建交易时(例如在 Python 中),用 int(value, 16) 解析十六进制字段。Contract addresses
estimate.approvalAddress 与 transactionRequest.to 都指向 LI.FI Diamond 合约,这是一份部署在所有受支持链上的、经过验证和审计的智能合约。
Composer 链上 VM(执行编译后字节码者)是一份由 Diamond 在内部调用的独立合约。如需审计报告与合约验证,参见 Security and Audits。
Morpho vault naming
Morpho vault 以其**策展人(curator)**命名,而非以 Morpho 本身命名。例如,地址0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A 返回 symbol: "sparkUSDC",因为它是一个由 Spark 策展的 Morpho vault。这是预期行为:Morpho 提供 vault 基础设施,而像 Spark 这样的策展人在其上创建策略。
Set Token Allowance
执行之前,LI.FI Diamond 合约需要获得授权以花费你的代币。授权地址在报价响应的estimate.approvalAddress 中返回。
如果
fromToken 是原生代币(例如 ETH),跳过此步骤。原生代币无需授权。本指南面向后端/服务端签名,因此假定
walletClient 是用本地账户创建的(例如通过 privateKeyToAccount),这使 walletClient.account 始终有定义。如果你驱动的是浏览器注入的钱包,请用 walletClient.getAddresses()(或 requestAddresses())而非 walletClient.account 来解析地址。Send the Transaction
提交报价响应中的transactionRequest。这是一笔标准的 EVM 交易。
Track Status
对于同链 Composer 交易,一旦交易确认,操作即完成。 对于跨链 Composer flow,轮询/status 端点直到转移完成:
Error Handling
使用 Composer 时的常见错误:
如需完整错误参考,参见 Error Codes。
Next Steps
Cross-Chain Patterns
高级跨链 Composer flow 与模式
Withdrawals Guide
实现同链与跨链取出
Vault Deposit Recipes
Morpho、Aave、Euler 等的可复制粘贴 recipe
SDK Integration
带有钩子、事件与自动重试的托管式执行
Supported Protocols
受支持协议与能力的完整列表

