Skip to main content
Glama

LI.FI MCP Server

by demomagic
lifi_api_documentation.md11.6 kB
# LI.FI General API 完整文档 ## 概述 LI.FI的API基于REST原则构建,通过HTTPS提供服务。本文档包含所有General API端点的完整信息,包括参数和使用示例。 **基础URL:** `https://li.quest/v1` ## 认证 通过自定义HTTP头 `x-lifi-api-key` 进行API认证。基本使用不需要API密钥,但需要更高速率限制时需要API密钥。 ```bash curl --location 'https://li.quest/v1/endpoint' \ --header 'x-lifi-api-key: YOUR_CUSTOM_KEY' ``` ## 速率限制 ### 未认证用户 - 报价相关端点:每2小时200次请求 - 其他端点:每2小时200次请求 ### 已认证用户 - 报价相关端点:每分钟200次请求 - 其他端点:每分钟200次请求 ## General API 端点 ### 1. 获取所有当前支持的链信息 **端点:** `GET /chains` **描述:** 获取所有当前支持的区块链网络信息。 **URL:** `https://li.quest/v1/chains` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/chains ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `chainTypes` (string, 可选): 按类型过滤链(如EVM、Solana等) #### 响应 (200 - application/json) 返回所有支持的区块链网络信息。 **链对象属性:** - `id` (number): 链ID - `key` (string): 链标识符键 - `name` (string): 链名称 - `coin` (string): 原生代币符号 - `mainnet` (boolean): 是否为主网链 - `logoURI` (string): 链标志URL - `tokenlistUrl` (string): 链的代币列表URL - `faucetUrls` (array): 测试网水龙头URL列表 --- ### 2. 获取指定链ID的Gas价格 **端点:** `GET /gas/prices/{chainId}` **描述:** 获取指定chainId的最新gas价格信息。 **URL:** `https://li.quest/v1/gas/prices/{chainId}` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/gas/prices/1 ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 路径参数 - `chainId` (string, 必需): 需要获取gas价格的链ID #### 响应 (200 - application/json) 返回指定链的当前gas价格信息。 **响应示例:** ```json { "standard": 123, "fast": 123, "fastest": 123, "lastUpdated": 123 } ``` **响应属性:** - `standard` (number): 标准gas价格 - `fast` (number): 快速gas价格 - `fastest` (number): 最快gas价格 - `lastUpdated` (number): 最后更新时间戳 #### 错误响应 - `400`: 请求错误 - 无效的chainId --- ### 3. 获取指定链的Gas建议 **端点:** `GET /gas/suggestion/{chain}` **描述:** 获取指定链所需gas数量的建议。建议基于通过LI.FI在指定链上进行的10次批准和10次基于uniswap的交换的平均价格。 **URL:** `https://li.quest/v1/gas/suggestion/{chain}` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/gas/suggestion/1 ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 路径参数 - `chain` (string, 必需): 需要获取gas建议的链(可以是链ID或链键) #### 查询参数 - `fromChain` (string, 可选): 如果指定了fromChain和fromToken,结果将包含用户需要发送多少fromToken数量才能在请求的链上接收建议的gas数量的信息 - `fromToken` (string, 可选): 用于计算接收建议gas所需数量的代币地址 #### 响应 (200 - application/json) 返回指定链的gas建议信息。 --- ### 4. 获取所有已知代币 **端点:** `GET /tokens` **描述:** 获取LI.FI服务已知的所有代币信息。 **URL:** `https://li.quest/v1/tokens` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/tokens ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `chains` (string, 可选): 将结果代币限制为给定的链 - `chainTypes` (string, 可选): 将结果代币限制为给定的链类型 - `minPriceUSD` (number, 可选): 按最小代币价格(美元)过滤结果。此参数的最小值为0。默认为0.0001美元 #### 响应 (200 - application/json) 响应是一个对象,其中键是链ID,值是代币对象数组。 **代币对象属性:** - `address` (string, 必需): 代币地址 - `decimals` (number, 必需): 代币使用的小数位数 - `symbol` (string, 必需): 代币符号 - `chainId` (number, 必需): 代币链的ID - `name` (string, 必需): 代币名称 - `coinKey` (string): 代币标识符 - `logoURI` (string): 代币标志 - `priceUSD` (string): 代币美元价格 **响应示例:** ```json { "1": [ { "address": "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063", "symbol": "DAI", "decimals": 18, "chainId": 137, "name": "(PoS) Dai Stablecoin", "coinKey": "DAI", "priceUSD": "1", "logoURI": "https://static.debank.com/image/matic_token/logo_url/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063/549c4205dbb199f1b8b03af783f35e71.png" } ] } ``` --- ### 5. 获取代币信息 **端点:** `GET /token` **描述:** 通过地址或符号及其链获取代币的详细信息。 **URL:** `https://li.quest/v1/token` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/token?chain=1&token=0x... ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `chain` (string, 必需): 代币存在的链ID或名称 - `token` (string, 必需): 要获取信息的代币地址或符号 #### 响应 (200 - application/json) 返回特定代币的详细信息。 **代币对象属性:** - `address` (string): 代币地址 - `symbol` (string): 代币符号 - `decimals` (number): 代币使用的小数位数 - `chainId` (number): 代币链的ID - `name` (string): 代币名称 - `coinKey` (string): 代币标识符 - `priceUSD` (string): 代币美元价格 - `logoURI` (string): 代币标志 #### 错误响应 - `400`: 请求错误 - 无效参数 - `404`: 未找到 - 代币未找到 --- ### 6. 获取可用的桥接和交易所 **端点:** `GET /tools` **描述:** 获取通过我们服务可用的桥接和交易所信息。 **URL:** `https://li.quest/v1/tools` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/tools ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `chains` (string, 可选): 将结果工具限制为给定的链 #### 响应 (200 - application/json) 返回可用桥接和交易所的信息。 **响应结构:** - `exchanges` (array): 可用交易所列表 - `bridges` (array): 可用桥接列表 **交易所/桥接对象属性:** - `key` (string): 工具的唯一标识符 - `name` (string): 工具的显示名称 - `logoURI` (string): 工具标志的URL - `supportedChains` (array): 此工具支持的链ID列表 **响应示例:** ```json { "exchanges": [ { "key": "1inch", "name": "0x", "logoURI": "https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/exchanges/zerox.svg", "supportedChains": [ "1", "137", "56" ] } ], "bridges": [ // 类似结构的桥接对象 ] } ``` --- ### 7. 获取链之间的可能连接 **端点:** `GET /connections` **描述:** 获取链之间所有可能传输的信息。由于结果可能非常大,需要至少按一个链进行过滤。 **URL:** `https://li.quest/v1/connections` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/connections?fromChain=1 ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `fromChain` (string, 可选): 过滤连接的源链ID - `toChain` (string, 可选): 过滤连接的目标链ID - `fromToken` (string, 可选): 过滤连接的源代币地址 - `toToken` (string, 可选): 过滤连接的目标代币地址 - `allowBridges` (string, 可选): 允许的桥接键的逗号分隔列表 - `denyBridges` (string, 可选): 拒绝的桥接键的逗号分隔列表 - `allowExchanges` (string, 可选): 允许的交易所键的逗号分隔列表 - `denyExchanges` (string, 可选): 拒绝的交易所键的逗号分隔列表 #### 响应 (200 - application/json) 根据提供的过滤器返回链之间所有可能的连接。 **响应结构:** - `connections` (array): 链之间可能连接的列表 **连接对象属性:** - `fromChainId` (number): 源链ID - `toChainId` (number): 目标链ID - `fromTokens` (array): 源链上的可用代币 - `toTokens` (array): 目标链上的可用代币 --- ### 8. 检查跨链传输状态 **端点:** `GET /status` **描述:** 使用交易哈希或其他标识符检查跨链传输的状态。 **URL:** `https://li.quest/v1/status` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/status?txHash=0x... ``` #### 请求头 - `x-lifi-api-key` (string, 可选): 认证头,如需注册请联系支持团队 #### 查询参数 - `txHash` (string, 可选): 要检查状态的交易哈希 - `transactionId` (string, 可选): 替代交易标识符 #### 响应 (200 - application/json) 返回跨链传输的当前状态。 --- ### 9. 获取集成商费用提取交易 **端点:** `GET /integrator/{integratorId}/fees/{chainId}` **描述:** 获取从指定链提取集成商收集费用的交易请求。 **URL:** `https://li.quest/v1/integrator/{integratorId}/fees/{chainId}` **请求示例:** ```bash curl --request GET \ --url https://li.quest/v1/integrator/your-integrator-id/fees/1 ``` #### 请求头 - `x-lifi-api-key` (string, 必需): 认证头,如需注册请联系支持团队 #### 路径参数 - `integratorId` (string, 必需): 请求费用提取的集成商ID - `chainId` (string, 必需): 指定要提取资金的链ID #### 查询参数 - `tokens` (string, 可选): 指定要提取资金的代币 #### 响应 (200 - application/json) 返回包含交易请求的 `IntegratorWithdrawalTransactionResponse` 对象。 **响应示例:** ```json { "transactionRequest": { "data": "0x", "to": "0xbD6C7B0d2f68c2b7805d88388319cfB6EcB50eA9" } } ``` #### 错误响应 - `400`: 请求错误 - 如果提供的代币地址没有收集到费用 --- ## 错误处理 LI.FI API使用标准HTTP状态码来指示请求的成功或失败: - `200`: 成功 - 请求成功 - `400`: 请求错误 - 请求无效或格式错误 - `404`: 未找到 - 请求的资源未找到 - `429`: 请求过多 - 超出速率限制 - `500`: 内部服务器错误 - 发生意外错误 ### 常见错误响应格式 ```json { "errorType": "NO_QUOTE", "code": "INSUFFICIENT_LIQUIDITY", "message": "工具的流动性不足。", "tool": "1inch" } ``` ### 错误代码 - `INSUFFICIENT_LIQUIDITY`: 工具的流动性不足以满足请求的数量 - `TOOL_TIMEOUT`: 第三方工具超时 - `NO_POSSIBLE_ROUTE`: 无法找到请求传输的路由 ## 最佳实践 1. **缓存**: 缓存 `/chains` 和 `/tokens` 等端点的响应,因为它们不经常更改 2. **速率限制**: 尊重速率限制并为重试实施指数退避 3. **错误处理**: 始终优雅地处理错误并向用户提供有意义的反馈 4. **认证**: 使用API密钥获得更高的速率限制和更好的服务可靠性 5. **过滤**: 使用查询参数过滤结果并减少响应大小 ## 支持 如需额外支持或申请更高速率限制的API密钥,请联系LI.FI支持团队。 --- *本文档涵盖了LI.FI API中所有可用的General API端点。有关报价相关端点和高级功能,请参考LI.FI官方文档中的相应部分。*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/demomagic/lifi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server