Skip to main content
Composer 支持跨 EVM 链的跨链存入。Ethereum 上的用户可以存入 Base 上的 Morpho vault,或将 Arbitrum 上的 USDC 存入 Base 上任意受支持的协议。LI.FI 会自动处理桥接选择、中间交换以及最终存入。 从开发者的角度看,集成与同链完全相同:只需将 fromChaintoChain 设为不同的值。
跨链 Composer 目前可在 EVM 链之间工作。非 EVM 链(Solana 等)尚不受支持。

How It Works

跨链 Composer 结合了 LI.FI 的两项能力:
  1. 桥接路由: LI.FI 选择最优桥接,将资产从源链移动到目标链。
  2. Composer 执行: 在目标链上,Composer 原子地存入目标协议。
从用户的角度看,这是一个单一 flow,在源链上只需一次签名。

Cross-Chain vs. Same-Chain


Example 1: ETH (Ethereum) → Morpho Vault (Base)

将 Ethereum 上的 ETH 存入 Base 上由 Spark 策展的 Morpho USDC vault。LI.FI 桥接 ETH,在 Base 上交换为 USDC,并存入 vault。

Example 2: USDC (Arbitrum) → Morpho Vault (Base)

在单一 flow 中将 Arbitrum 上的 USDC 桥接并存入 Base 上由 Spark 策展的 Morpho vault。
底层可能发生的事:
  1. 将 USDC 从 Arbitrum 桥接到 Base
  2. 在 Base 上将 USDC 存入 Morpho vault
  3. 用户收到 vault 代币
确切的步骤取决于 API 返回的路由。若能产生更好的结果,路由引擎可能选择不同的桥接或插入中间交换。

Swap + Bridge + Deposit

用户在另一条链上持有另一种代币。 示例: Ethereum 上的 ETH → Optimism 上的 Aave USDC 借贷
底层可能发生的事:
  1. 在 Ethereum 上将 ETH → USDC 交换,然后将 USDC 桥接到 Optimism;或直接桥接 ETH 并在目标链上交换
  2. 在 Optimism 上将 USDC 存入 Aave
  3. 用户收到 aUSDC 代币
路由引擎决定最优序列。你会在路由响应中看到所选路径。

Bridge + Swap + Stake

用户想在另一条链上质押。 示例: Arbitrum 上的 USDC → Ethereum 上的 wstETH(Lido)
底层可能发生的事:
  1. 将 USDC 从 Arbitrum 桥接到 Ethereum
  2. 在 Ethereum 上将 USDC → ETH 交换
  3. 通过 Lido 质押 ETH,包装为 wstETH
  4. 用户收到 wstETH
如果找到更优路径,路由引擎可能选择不同的序列(例如先在 Arbitrum 上交换,再桥接 ETH)。

Status Tracking

跨链转移需要状态轮询。源链交易确认后,轮询 GET /v1/status 直到转移达到 DONEFAILED
TypeScript
如需完整的 status 与 substatus 参考,参见 Transaction Status Tracking

Partial Failure Handling

跨链 flow 是最终一致的。在极少数情况下,桥接步骤成功但目标存入失败。发生这种情况时:
  • 用户在目标链上收到桥接后的代币,而非 vault 代币
  • 源链代币不受风险影响
  • gas 费用被消耗
请构建你的 UI 以处理 FAILED 状态,并在跨链转移未完成时提示用户检查其目标链余额。

Next Steps

API Integration

含同链与跨链示例的完整 API 集成指南

SDK Integration

使用 LI.FI TypeScript SDK 的托管式跨链执行

Deposit Recipes

常见协议与链的可复制粘贴 recipe

Supported Protocols

可用于跨链存入的协议