Skip to main content
为了防止滥用并管理 API 的容量,我们对 LI.FI API 的使用实施了限制。 速率限制适用于使用你的 x-lifi-api-key 发出的请求,并按 API 密钥跨所有端点计算。这些限制有助于防止滥用,并确保所有人都能获得流畅的体验。

当前速率限制

生产环境下的默认速率限制如下:

未认证

已认证

通过 LI.FI 合作伙伴门户创建的 API 密钥目前默认为每分钟 100 个请求 报价相关端点(/quote/advanced/routes/advanced/stepTransaction)的速率限制以两小时滚动窗口强制执行。例如,如果你的 API 密钥限制为 100 RPM,那么在任意两小时窗口内,你最多可对这些端点发出 12,000 个请求。
🔒 企业客户可能可以获得更高的限制。请查看我们的套餐页面了解更多详情。

处理速率限制

每个响应都会在响应头中包含你当前的速率限制。请注意,限制可能因端点而异。 在合作伙伴门户中,你会看到每分钟请求数(RPM)限制。为了在流量峰值期间给你灵活性,我们不会逐分钟强制执行,而是将你的 RPM 乘以 120,并以两小时滚动窗口的形式应用。 👉 示例:如果你的限制是 100 RPM,则意味着你可以在任意两小时窗口内最多发出 12,000 个请求,无论是一次性发出,还是按你喜欢的方式分散发出。

请求响应中的速率限制信息

ratelimit-reset:速率限制将在多少秒后重置(2 小时等于 7200) ratelimit-limit:2 小时周期内的总限制 ratelimit-remaining:距离重置前还剩多少限制额度 以下是计算你平均 RPM 的方法: (ratelimit-limit - ratelimit-remaining) / ((7200 - ratelimit-reset) / 60) 如果你超过了限制,将收到 429 Too Many Requests 响应,错误码为 1005RateLimitError)。当这种情况发生时:
  • 响应中会包含速率限制何时重置的详细信息
  • 可考虑通过合作伙伴门户申请更高的速率限制

最佳实践

为避免触及速率限制:
  • 缓存来自 GET /tokensGET /chains 和静态端点的结果
  • 避免频繁轮询相同的数据
  • 对触发 API 调用的用户输入进行批处理或防抖

滥用防范

为防止滥用,LI.FI 可能会临时封禁以下密钥:
  • 持续超过速率限制
  • 试图通过多个密钥或 IP 绕过限制
  • 导致服务性能下降

使用 API 密钥

所有 LI.FI API 都不需要 API 密钥。API 密钥仅在需要更高速率限制时才用得上
对 LI.FI API 的认证通过自定义 HTTP 头 x-lifi-api-key 携带 API 密钥来完成。如果你使用客户端 SDK,只需在创建配置时设置 API 密钥,之后 SDK 会代表你在每个请求中发送该请求头。如果你直接与 API 集成,则需要像下面这样自行发送该请求头:
可以使用以下端点测试 API 密钥:
切勿在客户端环境(如基于浏览器的 JavaScript 或直接的 Widget 集成)中暴露你的 x-lifi-api-key。在客户端使用 API 密钥可能导致密钥被未经授权地使用或滥用,因为它会在浏览器的开发者工具或网络标签页中公开可见。 如果你使用 LI.FI Widget,则无需传递 API 密钥。Widget 在前端无需密钥即可安全运行。对于服务器端集成(例如 SDK 或来自后端的 API 请求),请始终将密钥保密并妥善保管。

需要更高的限制?

如果你正在构建高流量集成或生产级产品,我们很乐意支持你的扩容需求。 请查看我们的套餐页面了解更多详情。