mcpField
S
Soheil Router

Soheil Router

远程服务
soheil.fi金融数据05 天前更新

关于 Soheil Router

Soheil Router 为 EVM 网络提供代币兑换报价与交易状态,通过比较 DEX 和聚合器价格,并由非托管合约执行交易。开发者和 AI 助手可使用其 API、TypeScript 包或 MCP 端点。

主要功能

  1. 01比较不同平台的兑换价格
  2. 02提供报价与交易详情
  3. 03跟踪交易直至完成
  4. 04支持网络间桥接
  5. 05通过非托管合约执行

适用场景

  1. 01查询代币兑换报价
  2. 02检查已提交交易的状态
  3. 03在不同网络间兑换或桥接代币

MCP 相关

Streamable HTTP MCP 服务提供 `get_networks`、`get_api_info`、`get_quote` 和 `get_trade_status` 工具。访问时需在 Authorization 请求头中传入 API 密钥。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.soheil.fi/v1/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://api.soheil.fi/v1/mcp需要授权

工具

详细介绍

Soheil Router

mcptry

一次 API 调用即可获取最佳代币兑换价格,一笔交易即可完成兑换。 Soheil Router 会比较各网络上 DEX 和聚合器的价格,并通过自有合约执行交易:合约不可升级,已在区块浏览器上验证源码,且交易之间不会持有资金。

费用

每笔兑换向路由器收取 0.1%(10 bps)。你可以添加自己的费用(最高 0.9%),并在同一笔交易中支付到你的钱包:无需另行领取。

安装

npm install github:soheil-fi/soheil-router

快速开始

import { COIN, SoheilRouter } from "@soheil-fi/router";

const router = new SoheilRouter({ apiKey: process.env.SOHEIL_ROUTER_KEY }); // keep the key on your server

const quote = await router.getQuote({
  fromChainId: 8453,                                       // Base
  fromToken: COIN,                                         // ETH
  toToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",   // USDC
  fromAmount: 10n ** 15n,                                  // 0.001 ETH, in wei
  fromAddress: "0xUserWallet",
  integratorBps: 30,                                       // your fee: 0.3%
});

// quote.approvalAddress → approve exactly quote.fromAmount first (null when selling the coin)
// quote.transactionRequest → have the user's wallet send it unchanged
const status = await router.waitForTrade(8453, txHash);     // DONE, REFUNDED, FAILED or NOT_OURS

使用 viem 完成的完整兑换示例见 examples/swap-viem.ts。

方法密钥返回值
getNetworks()否实时网络、我们的合约,以及交易可能调用的合约
getInfo()否费用、限制、文档
getQuote(request)是价格、最低到账金额、费用、授权地址、交易
getStatus(chainId, txHash)是PENDING、DONE、REFUNDED、FAILED、NOT_OURS 或 NOT_FOUND
waitForTrade(chainId, txHash)是持续调用 getStatus,直到交易完成

错误会以 SoheilRouterError 的形式抛出,其中包含 code(NO_ROUTE、RATE_LIMITED、UNAUTHORIZED……)、HTTP status 和可安全展示给用户的 message。

跨链到另一个网络

将 toChainId 设置为路由器支持的另一个网络。返回结果的 type 为 "bridge",用户仍只需在源网络上签署一笔交易;几秒内,收款人就会在目标网络收到款项。

const quote = await router.getQuote({
  fromChainId: 8453,                                       // from Base
  toChainId: 42161,                                        // to Arbitrum
  fromToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC on Base
  toToken: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",   // USDC on Arbitrum
  fromAmount: 100_000_000n,                                // 100 USDC
  fromAddress: "0xUserWallet",
});
// quote.toAmount is what arrives; a transfer nobody fills is refunded to fromAddress on Base (status REFUND_PENDING until then)
const status = await router.waitForTrade(8453, txHash);     // DONE (status.receiving = the payout) or REFUNDED

fromToken 和 toToken 可以是任意代币:如果桥不支持转移某种代币,就会先在源网络上兑换,或在目标网络到账时购买(此时 toAmountMin 是该兑换的最低金额;如果价格变动超出该金额,收款人就会收到桥接代币,例如 USDC)。仍然只需一笔交易,费用仅收取一次。文档:https://soheil.fi/developers/docs/bridging/

通过 AI 助手使用(MCP)

该 API 也提供 MCP 服务(Streamable HTTP),包含 get_networks、get_api_info、get_quote 和 get_trade_status 工具。

claude mcp add --transport http soheil-router https://api.soheil.fi/v1/mcp \
  --header "Authorization: Bearer $SOHEIL_ROUTER_KEY"
{ "mcpServers": { "soheil-router": { "url": "https://api.soheil.fi/v1/mcp", "headers": { "Authorization": "Bearer sk_your_key" } } } }

需要了解的信息

  • 金额是以代币最小单位表示的整数字符串;请使用 bigint,切勿使用 JavaScript 数字。
  • 仅授权 fromAmount 的准确金额,切勿授权无限额度。
  • 用户始终在自己的钱包中签署交易:API 从不持有密钥或资金。

由 Soheil.fi 构建。问题请联系:[email protected]

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。