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 响应,错误码为 1005(RateLimitError)。当这种情况发生时:
- 响应中会包含速率限制何时重置的详细信息
- 可考虑通过合作伙伴门户申请更高的速率限制
最佳实践
为避免触及速率限制:- 缓存来自
GET /tokens、GET /chains和静态端点的结果 - 避免频繁轮询相同的数据
- 对触发 API 调用的用户输入进行批处理或防抖
滥用防范
为防止滥用,LI.FI 可能会临时封禁以下密钥:- 持续超过速率限制
- 试图通过多个密钥或 IP 绕过限制
- 导致服务性能下降
使用 API 密钥
所有 LI.FI API 都不需要 API 密钥。API 密钥仅在需要更高速率限制时才用得上
x-lifi-api-key 携带 API 密钥来完成。如果你使用客户端 SDK,只需在创建配置时设置 API 密钥,之后 SDK 会代表你在每个请求中发送该请求头。如果你直接与 API 集成,则需要像下面这样自行发送该请求头:
切勿在客户端环境(如基于浏览器的 JavaScript 或直接的 Widget 集成)中暴露你的
x-lifi-api-key。在客户端使用 API 密钥可能导致密钥被未经授权地使用或滥用,因为它会在浏览器的开发者工具或网络标签页中公开可见。
如果你使用 LI.FI Widget,则无需传递 API 密钥。Widget 在前端无需密钥即可安全运行。对于服务器端集成(例如 SDK 或来自后端的 API 请求),请始终将密钥保密并妥善保管。 
