POST /compose 会返回一个结构化的 ComposeError:
kind 是下方联合类型中的判别标识(discriminator)。message 是人类可读的描述。path(当存在时)指明 Flow JSON 中触发该错误的字段。
Error kinds
随@lifi/compose-spec 一起发布的完整 ComposeErrorKind 联合类型:
Recovery hints
- 400 类 kind 表示调用方必须修复的问题:Flow JSON、ref 语法或输入绑定。重新提交相同的请求会以相同的方式失败。
- 404(
no_route_error) 表示路由图中没有匹配所请求链上输入/输出对的边。请查阅 Supported Protocols & Chains 了解当前覆盖范围;目标 vault 可能尚未成为一条路由边。 - 422 类 kind 是运行时 / 数据问题。请调整容差(
slippage、maxPriceImpactBps)、等待链上状态稳定,或将错误呈现给你的用户。 - 500 类 kind 是服务端问题。请按退避策略重试;若错误持续存在,请联系 LI.FI。
Allow-revert mode
当run.simulationPolicy 为 "allow-revert" 时,simulation_revert 不再使调用失败。相反,响应会返回已编译的 transactionRequest,同时在部分结果的 simulationRevert 字段上返回 revert 诊断信息(HTTP 206)。当你希望将 revert 原因呈现给用户而非隐藏时,请使用此模式。
参见 Guards 了解 guard_error 如何产生,参见 Execution Model 了解每种错误 kind 在编译流水线中的起源。
See also
- Execution Model —— 发出每种错误 kind 的流水线阶段。
- Guards ——
guard_error背后的观测到断言(observation-to-assertion)机制。 - Flow wire format ——
POST /compose返回的请求与响应结构。

