slippage 变成整条路由的单一预算,而不是每个步骤的容忍度。你发送 slippageScope=route,LI.FI 会以 toAmountMin 返回该路由的单一最低输出。构建的交易会确保用户至少收到这个数量。如果做不到,交易会回滚,或者该转账被报告为未履行。
该功能按请求选择启用。省略 slippageScope,或发送 slippageScope=step,都会完全保持现有的按步骤滑点行为。
按步骤滑点与整条路由滑点
slippage 有两种应用方式,通过每个请求的 slippageScope 选择:
- 按步骤(
step,默认)。slippage是每个带有价格风险的步骤的容忍度。每个步骤有各自的最低值。 - 整条路由(
route)。slippage是整条路由的单一预算。LI.FI 会把它分配给这些步骤,并返回整条路由的单一最低值。
工作原理
整条路由滑点涉及三个数值:- **预算(
slippage)。**你为整条路由允许的总滑点,以小数表示。0.01即 1%。 - **预期输出(
routeSlippage.referenceToAmount)。**报价时该路由预期交付的数量。 - 下限(
routeSlippage.minimumToAmount)。ceil(referenceToAmount × (1 − slippage)),以目标代币的基础单位表示。它同时作为toAmountMin返回。
展示下限
将
toAmountMin 展示为用户收到的最低数量。路由及其步骤都带有 routeSlippage 对象。构建
报价已包含
transactionRequest。对于路由,请将每个步骤原样(包括 routeSlippage)提交到 /v1/advanced/stepTransaction。重组或序列化步骤时不要丢弃该字段:未携带该字段的步骤会改用按步骤滑点构建。跟踪
轮询
/v1/status。转账最终确定后,routeSlippage.outcome 会告诉你是否达到了下限。支持的路由
整条路由滑点覆盖最多包含一次 swap 的 EVM 路由:
以下路由不受保护:
- bridge 之后在目标链上有 swap 或合约调用的路由
- 包含多次 swap 的路由
- 起点或终点位于非 EVM 链(如 Solana、Bitcoin、Sui 或 Tron)的路由
- 转账时收取费用的代币
- 经过 Allbridge、Hyperliquid 存款或 Smart Deposits 的路由,以及同链基于 intent 的 swap
- 精确输出报价(
/v1/quote/toAmount)和合约调用报价(/v1/quote/contractCall和/v1/quote/contractCalls)。这些接口会以400拒绝slippageScope=route。
ROUTE_SLIPPAGE_UNSUPPORTED 开头的原因:
- 路由请求会将其列在
unavailableRoutes.filteredOut中。 - 如果没有任何路由可被保护,报价请求会返回
404,并在errors.filteredOut中列出原因。
跨链结算
LI.FI 的合约只在源链上强制执行数量。在跨链路由上,源链交易将 swap 约束在检查点,随后由 bridge 在目标链上交付。此后下限如何被保障,取决于所用的 bridge:- **Mayan、Across 和 Stargate V2。**bridge 自身的订单至少携带下限,因此 bridge 不会以低于下限的数量结算。Mayan 订单携带最低输出,Across 按精确的输出数量成交,Stargate V2 在低于其最低值时会让源链交易回滚。同代币的 Mayan MCTP 转账不携带最低值,因为它交付的是销毁数量减去交易中已固定的费用。
- **其他 bridge。**下限不在交易中。系统按源链交易所保证的数量向 bridge 询价,只有当 bridge 对该数量给出的最低值达到下限时,才会构建交易。此后的交付依赖 bridge 履行该最低值。
/v1/status 会对每笔受保护的转账对照下限进行判断。退款或交付了另一种代币,会被报告为 NOT_FULFILLED,并带有 REFUNDED 或 DIFFERENT_TOKEN。BELOW_FLOOR 并不是预期的结算方式:它表示 bridge 交付了承诺的代币,但低于其构建时所依据的最低值。系统报告它,是为了确保这种交付绝不会被计为 FULFILLED。
请求受路由保护的报价
/v1/quote 返回一个步骤,其交易已按下限构建:
slippageScope:
slippage 必须是大于等于 0 且小于 1 的小数,最多八位小数。需要更高精度的值会被拒绝,而不是被四舍五入,因为四舍五入会改变下限。如果省略 slippage,预算即为 LI.FI 原本会应用的默认滑点。
读取响应
在受路由保护的响应中:toAmountMin是下限。toAmount是当前估算值。它可能在不同请求之间变化,而下限不会变。- 该步骤的
action.slippage是整个预算。 - 每个被纳入的步骤的
action.slippage是其分得的预算份额。
routeSlippage 承诺:
同链示例,1,000 USDC 兑换 WETH,预算为 1%:
构建并发送交易
报价已包含按下限构建的transactionRequest。像发送其他报价一样发送它即可。
对于路由,请将每个步骤原样(包括 routeSlippage)提交到 /v1/advanced/stepTransaction。LI.FI 会为每个步骤重新报价以构建交易,然后对照承诺检查交易的字节码:
- 如果最新报价仍能交付下限,交易会编码该下限,响应返回相同的
toAmountMin。 - 如果不能,请求会失败,返回
409和ROUTE_SLIPPAGE_FLOOR_UNREACHABLE。请重新请求报价,并向用户展示新的下限。LI.FI 绝不会为了让构建通过而降低下限。
跟踪结果
对于受路由保护的转账,/v1/status 会增加两个字段:
quote.routeSlippage是构建交易时使用的承诺。routeSlippage是判定结果。
FULFILLED。
错误
整条路由滑点的错误使用标准的错误代码。该原因是message 的稳定前缀,也是 filteredOut 中 reason 的稳定前缀,因此你无需解析其余内容即可匹配:
后续步骤
- 如果你的 integrator 已启用 Smart Slippage,可参考其建议来选择预算。
- 通过状态跟踪跟进转账直至完成。

